Link 3.7.0.RELEASE runtime artifacts on the download site
* add note to deliverable VNF (discontinued with 3.7)
* add release notes / approved IP log
* update Virgo User/Developer Guide
diff --git a/deliverables/index.php b/deliverables/index.php
index b8e1246..afdc3e2 100755
--- a/deliverables/index.php
+++ b/deliverables/index.php
@@ -1,12 +1,12 @@
<?php
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
- $App = new App();
- $Nav = new Nav();
- $Menu = new Menu();
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+ $App = new App();
+ $Nav = new Nav();
+ $Menu = new Menu();
include($App->getProjectCommon());
-
+
/*******************************************************************************
* Copyright (c) 2009 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
@@ -15,54 +15,54 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Glyn Normington
- *
+ *
*******************************************************************************/
- # Begin: page-specific settings. Change these.
+ # Begin: page-specific settings. Change these.
$pageTitle = "Virgo - Deliverables";
$pageKeywords = "Eclipse, EclipseRT, Virgo, OSGi, deliverables";
$pageAuthor = "Glyn Normington";
-
+
ob_start();
?>
-
+
<div id="midcolumn">
<h2>Virgo Deliverables</h2>
The Virgo deliverables are as follows. Refer to the <a href="http://www.eclipse.org/virgo/feature-summary/">feature summary</a> for a feature comparison.
<h3 id="nano-deliverable">Virgo Nano</h3>
-
+
Virgo Nano is a minimal core of the Virgo kernel which is designed to run relatively simple OSGi
applications in a single region. Bundles can be provisioned at runtime using p2.
-
- <h3 id="nano-full-deliverable">Virgo Nano "Full"</h3>
-
+
+ <h3 id="nano-full-deliverable">Virgo Nano "Full" (discontinued with 3.7.0)</h3>
+
Virgo Nano "Full" builds on Virgo Nano and embeds Gemini Web to provide Apache Tomcat-based servlet
support. Bundles, including Web Application Bundles, can be provisioned at runtime using p2.
-
+
<h3 id="kernel-deliverable">Virgo Kernel</h3>
-
+
Virgo kernel supports the core concepts of Virgo but is not biased towards the web, thus enabling
other types of server to be created. The kernel can also be used stand-alone as a rich OSGi
application platform. A server can easily be constructed by deploying suitable bundles on top of the
kernel.
-
+
<h3 id="tomcat-server-deliverable">Virgo Server for Apache Tomcat</h3>
-
+
Virgo Server for Apache Tomcat builds on the kernel and adds Gemini Web, a web integration layer, and
various supporting bundles. It supports deploying sophisticated multi-bundle web applications.
<p><br>
Although Virgo Server for Apache Tomcat is the proper title for the deliverable
(see the Apache Tomcat <a href="http://tomcat.apache.org/legal.html">legal page</a>), there are bound to be some dangling references to
Virgo Tomcat Server in places. These references should always be understood to be abbreviations for the proper title.
-
+
<h3 id="jetty-server-deliverable">Virgo Jetty Server</h3>
-
+
Virgo Jetty Server is similar to Virgo Server for Apache Tomcat but embeds the Jetty servlet container instead
of the embedded Apache Tomcat servlet container.
-
+
<h3 id="snaps-deliverable">Virgo Snaps</h3>
-
+
The Virgo snaps framework may be used to cleanly modularise the web bundles of an application.
Currently, snaps only runs on Virgo Server for Apache Tomcat.
</div>
@@ -71,4 +71,4 @@
$html = ob_get_clean();
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
+?>
diff --git a/documentation/index.php b/documentation/index.php
index cf71dde..7ec7cea 100644
--- a/documentation/index.php
+++ b/documentation/index.php
@@ -23,7 +23,9 @@
$pageKeywords = "Eclipse, EclipseRT, Virgo, OSGi, Documentation";
$pageAuthor = "Christopher Frost";
- $currentVersion = "3.6.4.RELEASE";
+ $currentVersion = "3.7.0.RELEASE";
+ $currentSnapsVersion = "3.6.4.RELEASE";
+ $currentToolingVersion = "3.6.4.RELEASE";
$currentBundlorVersion = "1.1.2.RELEASE";
$milestone = "3.7.0.M01";
$virgoMilestone = "3.7.0.RC01";
@@ -34,16 +36,16 @@
<div id="midcolumn">
<h2>Documentation</h2>
<p>
- The documentation for Virgo can be downloaded from <a href="http://www.eclipse.org/virgo/download/" target="_self">here</a> or it is browseable online below:
+ The documentation for Virgo is browseable online below:
<ul>
- <li>User Guide ( <a href="virgo-documentation-<?=$currentVersion ?>/docs/virgo-user-guide/html/index.html">HTML</a> | <a href="virgo-documentation-<?=$currentVersion ?>/docs/virgo-user-guide/htmlsingle/virgo-user-guide.html">HTML Single</a> )</li>
+ <li>User Guide ( <a href="virgo-documentation-<?=$currentVersion ?>/docs/virgo-user-guide/html5/virgo-user-guide.html">HTML</a> )</li>
- <li>Programmer Guide ( <a href="virgo-documentation-<?=$currentVersion ?>/docs/virgo-programmer-guide/html/index.html">HTML</a> | <a href="virgo-documentation-<?=$currentVersion ?>/docs/virgo-programmer-guide/htmlsingle/virgo-programmer-guide.html">HTML Single</a> )</li>
+ <li>Programmer Guide ( <a href="virgo-documentation-<?=$currentVersion ?>/docs/virgo-programmer-guide/html5/virgo-programmer-guide.html">HTML</a> )</li>
- <li>Snaps Guide ( <a href="virgo-documentation-<?=$currentVersion ?>/docs/snaps-guide/html/index.html">HTML</a> | <a href="virgo-documentation-<?=$currentVersion ?>/docs/snaps-guide/htmlsingle/virgo-snaps-guide.html">HTML Single</a> )</li>
+ <li>Snaps Guide ( <a href="virgo-documentation-<?=$currentSnapsVersion ?>/docs/snaps-guide/html/index.html">HTML</a> | <a href="virgo-documentation-<?=$currentSnapsVersion ?>/docs/snaps-guide/htmlsingle/virgo-snaps-guide.html">HTML Single</a> )</li>
- <li>Tooling Guide ( <a href="virgo-documentation-<?=$currentVersion ?>/docs/virgo-tooling-guide/html/index.html">HTML</a> | <a href="virgo-documentation-<?=$currentVersion ?>/docs/virgo-tooling-guide/htmlsingle/virgo-tooling-guide.html">HTML Single</a> )</li>
+ <li>Tooling Guide ( <a href="virgo-documentation-<?=$currentToolingVersion ?>/docs/virgo-tooling-guide/html/index.html">HTML</a> | <a href="virgo-documentation-<?=$currentToolingVersion ?>/docs/virgo-tooling-guide/htmlsingle/virgo-tooling-guide.html">HTML Single</a> )</li>
<li>Bundlor User Guide ( <a href="bundlor-documentation-<?=$currentBundlorVersion ?>/docs/user-guide/html/index.html">HTML</a> | <a href="bundlor-documentation-<?=$currentBundlorVersion ?>/docs/user-guide/htmlsingle/user-guide.html">HTML Single</a> )</li>
</ul>
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/architecture.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/architecture.html
new file mode 100644
index 0000000..7533c18
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/architecture.html
@@ -0,0 +1,1022 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Deployment Architecture</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="architecture"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_deployment_architecture">Deployment Architecture</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat offers several choices when it comes to deploying applications. Each
+choice offers certain advantages, and it is important to understand those in order to make
+the right choice for your application. In this chapter, we take a closer look at the choices
+offered, compare them, and provide guidelines in choosing the right one based on your
+specific needs.</p>
+</div>
+<div class="paragraph">
+<p>The VTS supports standard self-contained WAR files thus allowing you to
+use the Virgo for Apache Tomcat as an enhanced web server. The VTS also supports the
+ <strong>Shared Libraries</strong> WAR format which allows for slimmer WAR files that
+depend on OSGi bundles instead of including JAR files inside the WAR. The <strong>Shared
+ Services</strong> WAR format allows developers to further reduce the complexity of
+standard WARs by deploying services and infrastructure bundles alongside the WAR. A shared
+services WAR will then consume the services published by those bundles. To complete the
+picture, the VTS supports the new OSGi-standard <strong>Web Application
+Bundle</strong> deployment format for web applications that builds on the benefits
+provided by a shared services WAR. In addition to this, VTS provides
+additional conveniences for developing and deploying Spring MVC-based web applications.</p>
+</div>
+<div class="paragraph">
+<p>For applications consisting of multiple bundles and web applications, plans and the PAR
+format are the primary deployment models that take advantage of OSGi capabilities. We will
+explore all of these formats and their suitability later in this guide.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-deployment-formats"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_supported_deployment_formats">Supported Deployment Formats</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat supports applications packaged in the following formats:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p><a href="#architecture-raw-osgi-bundles">Raw OSGi Bundles</a></p>
+</li>
+<li>
+<p><a href="#architecture-wars">Java EE WAR</a></p>
+</li>
+<li>
+<p><a href="#architecture-war-gemini">Web Application Bundles</a></p>
+</li>
+<li>
+<p><a href="#architecture-pars">PARs</a></p>
+</li>
+<li>
+<p><a href="#architecture-plans">Plans</a></p>
+</li>
+<li>
+<p><a href="#architecture-configurations">Configurations</a></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>When you deploy an application to the VTS, each deployment artifact
+(e.g., a single bundle, WAR, PAR, or plan) passes through a deployment pipeline. This
+deployment pipeline is responsible for processing applications of certain types (i.e.,
+application type). The 3.7.0.RELEASE release of the VTS natively
+supports deployers analogous to each of the aforementioned packaging options.</p>
+</div>
+<div class="paragraph">
+<p>Let’s take a closer look now at each of the supported deployment and packaging
+options to explore which one is best suited to your application.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-raw-osgi-bundles"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_raw_osgi_bundles">Raw OSGi Bundles</h4>
+<div class="paragraph">
+<p>At its core, the Virgo for Apache Tomcat is an OSGi container. Thus any OSGi-compliant
+bundle can be deployed directly on the VTS unmodified. You’ll
+typically deploy an application as a single bundle or a set of stand-alone bundles
+if you’d like to publish or consume services globally within the container via
+the OSGi Service Registry.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-wars"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_war_deployment_formats">WAR Deployment Formats</h4>
+<div class="paragraph">
+<p>For Web Application Archives (WAR), the Virgo for Apache Tomcat provides support for the
+following three formats.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p><a href="#architecture-standard-war">Standard WAR</a></p>
+</li>
+<li>
+<p><a href="#architecture-shared-libraries-war">Shared Libraries WAR</a></p>
+</li>
+<li>
+<p><a href="#architecture-shared-services-war">Shared Services WAR</a></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Each of these formats plays a distinct role in the incremental migration path
+from a standard Java EE WAR to an OSGi-ified web application.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-standard-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_standard_war">Standard WAR</h4>
+<div class="paragraph">
+<p>Standard WAR files are supported directly in the VTS. At
+deployment time, the WAR file is transformed into an OSGi bundle and installed
+into Tomcat. All the standard WAR contracts are honoured, and your existing WAR
+files should just drop in and deploy without change. Support for standard,
+unmodified WAR files allows you to try out the Virgo for Apache Tomcat on your existing
+web applications and then gradually migrate toward the <strong>Shared
+Libraries WAR</strong> and <strong>Shared Services WAR</strong> formats.</p>
+</div>
+<div class="paragraph">
+<p>In addition to the standard support for WARs that you would expect from
+Tomcat, the VTS also enables the following features:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Spring-driven load-time weaving (see Section 6.8.4, “Load-time weaving
+with AspectJ in the Spring Framework").
+Diagnostic information such as FFDC (first failure data capture)</p>
+</li>
+<li>
+<p>The main benefit of this application style is familiarity — developers know
+how to create a WAR file! You can take advantage of the
+VTS’s added feature set without modifying the
+application. The application can also be deployed on other Servlet containers or
+Java EE application servers.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>You may choose this application style if the application is fairly simple and
+small. You may also prefer this style even for large and complex applications as
+a starting point and migrate to the other styles over time as discussed in <a href="#migrating-to-osgi">[migrating-to-osgi]</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-shared-libraries-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shared_libraries_war">Shared Libraries WAR</h4>
+<div class="paragraph">
+<p>If you have experience with developing and packaging web applications using
+the standard WAR format, you’re certainly familiar with the pains of
+library bloat. So, unless you’re installing shared libraries in a common
+library folder for your Servlet container, you have to pack all JARs required by
+your web application in <code>/WEB-INF/lib</code>. Prior to the release of
+the Virgo for Apache Tomcat, such library bloat has essentially been the norm for web
+applications, but now there is a better solution! The Shared Libraries WAR
+format reduces your application’s deployment footprint and eradicates
+library bloat by allowing you to declare dependencies on libraries via standard
+OSGi manifest headers such as <code>Import-Package</code> and <code>Require-Bundle</code> . The VTS provides additional
+support for simplifying dependency management via the <code>Import-Library</code> and <code>Import-Bundle</code> manifest headers
+which are essentially macros that get expanded into OSGi-compliant <code>Import-Package</code> statements.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>For detailed information on which libraries are already available, check
+out the <a href="http://www.eclipse.org/ebr">EBR</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="architecture-shared-services-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shared_services_war">Shared Services WAR</h4>
+<div class="paragraph">
+<p>Once you’ve begun taking advantage of declarative dependency management
+with a Shared Libraries WAR, you’ll likely find yourself wanting to take
+the next step toward reaping further benefits of an OSGi container: sharing
+services between your OSGi-compliant bundles and your web applications. By
+building on the power and simplicity of Gemini Blueprint, the <strong>Shared Services
+WAR</strong> format puts the OSGi Service Registry at your finger tips. As
+a best practice you’ll typically publish services from your domain,
+service, and infrastructure bundles via <code><osgi:service …​></code> and then consume them in your web application’s
+ApplicationContext via <code><osgi:reference …​ ></code>. Doing so
+promotes programming to interfaces and allows you to completely decouple your
+web-specific deployment artifacts from your domain model, service layer, etc.,
+and that’s certainly a step in the right direction. Of the three supported
+WAR deployment formats, the Shared Services WAR is by far the most attractive in
+terms of modularity and reduced overall footprint of your web applications.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-war-gemini"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_wars_and_the_gemini_web_container">WARs and the Gemini Web Container</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat fully supports the OSGi Web Applications standard. Using the
+reference implementation from Gemini Web that was developed by SpringSource from
+an offshoot of the original VTS codebase. This RI is now fully
+integrated in VTS as the basis of the support for web
+application deployment.</p>
+</div>
+<div class="paragraph">
+<p>The OSGi Web Applications specification introduces the concept of a <strong>Web
+Application Bundle</strong>, which is a WAR that is also a bundle. The
+specification defines how WAR files are transformed into bundles automatically
+as needed.</p>
+</div>
+<div class="paragraph">
+<p>You can find an introduction to the Web Container in blog entries written by
+the Virgo team <a href="http://blog.springsource.com/2009/05/27/introduction-to-the-osgi-web-container/">here</a>
+and <a href="http://blog.springsource.com/2009/06/01/what-the-osgi-web-container-means-for-dm-server/">here</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-war-gemini-extensions"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_extensions_to_the_web_container">Extensions to the Web Container</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat provides a variety of extensions to the Web Container that
+allow you to construct sophisticated applications. The table below
+summarises the extensions that are available or in development.</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Feature</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Instrumentable ClassLoaders</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">All web bundle ClassLoaders are
+instrumentable by Spring’s load-time weaving infrastructure.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Support for exploded bundles/WARs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bundles/WARs in directory form can
+be deployed as Web Application Bundles</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Support for scanning TLDs in dependencies</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">As per the Web Application
+specification, all TLDs located inside a web bundle are located using
+the rules defined in the JSP 2.1 specification. In
+VTS, the dependencies of a Web Application
+Bundle are also scanned for TLDs following the rules outlined in JSP 2.1</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="architecture-pars"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_par">PAR</h4>
+<div class="paragraph">
+<p>A PAR is a standard JAR which contains all of the modules of your application
+(e.g., service, domain, and infrastructure bundles as well as a WAR or web module
+for web applications) in a single deployment unit. This allows you to deploy,
+refresh, and undeploy your entire application as a single entity. If you are
+familiar with Java EE, it is worth noting that a PAR can be considered a replacement
+for an EAR (Enterprise Archive) within the context of an OSGi container. As an added
+bonus, modules within a PAR can be refreshed independently and on-the-fly, for
+example via the Virgo Eclipse IDE Tooling (see the Virgo Tools Guide).</p>
+</div>
+<div class="paragraph">
+<p>Many of the benefits of the PAR format are due to the underlying OSGi
+infrastructure, including:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fundamentally modularized applications: instead of relying on fuzzy
+boundaries between logical modules in a monolithic application, this
+style promotes physically separated modules in the form of OSGi bundles.
+Then each module may be developed separately, promoting parallel
+development and loose coupling.</p>
+</li>
+<li>
+<p>Robust versioning of various modules: the versioning capability
+offered by OSGi is much more comprehensive than alternatives. Each
+module can specify a version range for each of its dependencies. Bundles
+are isolated from each other in such a way that multiple versions of a
+bundle may be used simultaneously in an application.</p>
+</li>
+<li>
+<p>Improved manageability: each bundle may be deployed or undeployed in
+a running application. This allows modifying the existing application to
+fix bugs, improve performance, and even to add new features without
+having to restart the application.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Furthermore, PARs scope the bundles of your application within the
+VTS. Scoping provides both a physical and logical application
+boundary, effectively shielding the internals of your application from other PARs
+deployed within the VTS. This means your application doesn’t
+have to worry about clashing with other running applications (e.g., in the OSGi
+Service Registry). You get support for load-time weaving, classpath scanning,
+context class loading, etc., and the VTS does the heavy lifting for
+you to make all this work seamlessly in an OSGi environment. If you want to take
+full advantage of all that the Virgo for Apache Tomcat and OSGi have to offer, packaging and
+deploying your applications as a PAR is a good choice, although plans are an even
+better one, as described in the next section.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">OSGi != multiple JARs</div>
+<div class="paragraph">
+<p>Note that while physically separated modules can, in theory, be implemented
+simply using multiple JARs, complex versioning requirements often make this
+impractical. For example, consider the situation depicted in the diagram below.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Bundle A depends on version <code>1.0.0</code> of bundle <code>B</code> and version <code>2.0.0</code> of bundle <code>C</code>.</p>
+</li>
+<li>
+<p>Bundle B depends on version <code>1.0.0</code> of bundle <code>C</code>.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Suppose that versions <code>1.0.0</code> and <code>2.0.0</code> of bundle <code>C</code> are neither
+backward nor forward compatible. Traditional monolithic applications cannot
+handle such situations: either bundle <code>A</code> or bundle <code>B</code> would need reworking which
+undermines truly independent development. OSGi’s versioning scheme enables
+this scenario to be implemented in a robust manner. If it is desirable to rework
+the application to share a single version of <code>C</code>, then this can be planned in and
+is not forced.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="assets/images/architecture-bundle-versioning.png" alt="architecture bundle versioning">
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="architecture-plans"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_plans">Plans</h4>
+<div class="paragraph">
+<p>A plan is similar to a PAR in that it encapsulates all of the artifacts of your
+application in a single deployment unit. The main difference, however, is that a
+plan is simply an XML file that lists the artifacts of your application; a PAR, by
+contrast, is an actual JAR file that physically contains the artifacts. Just like a
+PAR, you deploy, refresh, and undeploy a plan as a single entity. We highly
+recommends the use of plans for creating applications.</p>
+</div>
+<div class="paragraph">
+<p>When you create a plan, you can specify that the included bundles and services
+are in a scope that isolates them from the rest of Virgo for Apache Tomcat and its
+deployments. This scoping ensures that the bundles wire to each other and see each
+other’s services in preference to services from outside the scope. Scoping
+also prevents application code from leaking into the global scope or scope of
+another application. In addition, a plan can link the lifecycle of a group of
+bundles together atomically, which ensures that start, stop, and uninstall
+events on a single artifact in the plan are escalated to all artifacts in the plan.
+You can, however, disable both of these features by simply setting an attribute in
+the plan.</p>
+</div>
+<div class="paragraph">
+<p>The general benefits of using plans are similar to those of using PARs; see <a href="#architecture-pars">PAR</a> for details. Plans offer added benefits,
+however, such as the ability to control the deployment order of your application:
+the order in which you list artifacts in the plan’s XML file is the order in
+which VTS deploys them. Additionally, because plans specify the
+artifacts that make up an application by reference, it is easier to share artifacts
+between plans as well as update individual parts of a plan without having to
+physically repackage (re-JAR) it.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-configurations"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configurations">Configurations</h4>
+<div class="paragraph">
+<p>A Configuration is simply a Java properties file. When deployed it will be
+recognised by the deployer and installed in to <strong>Configuration
+Admin</strong> for later use by your applications. VTS supports
+both singleton (ManagedService) and factory (ManagedServiceFactory) configurations.
+(see section 104.6 in the Compendium Specification)</p>
+</div>
+<div class="paragraph">
+<p>For a singleton configuration the name that it will be installed under is its filename
+minus the <code>.properties</code> extension. Factory Configuration is supported by
+specifying the <strong>service.factoryPid</strong> property. In this case the actual PID will
+be created by <strong>Configuration Admin</strong> (see section 104.6 in the
+Compendium Specification).</p>
+</div>
+<div class="paragraph">
+<p>How to consume configuration data is discussed <a href="#developing-applications-configuration-artifacts">later</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-dependency-types"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_dependency_types">Dependency Types</h3>
+<div class="paragraph">
+<p>In an OSGi environment, there are two kinds of dependencies between various bundles:
+<strong>type</strong> dependency and <strong>service</strong> dependency.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Type dependency</strong>: A bundle may depend on a
+type exported by another bundle thus creating a type dependency. Type
+dependencies are managed through <code>Import-Package</code> and
+<code>Export-Package</code> directives in the OSGi manifest. This
+kind of dependency is similar to a JAR file using types in other JAR files
+from the classpath. However, as we’ve seen earlier, there are
+significant differences.</p>
+</li>
+<li>
+<p><strong>Service dependency</strong>: A bundle may also
+publish services (preferably using Gemini Blueprint), and other bundles may consume
+those services. If two bundles depend on the same service, both will be
+communicating effectively to the same object. More specifically, any state
+for that service will be shared between all the clients of that service.
+This kind of arrangement is similar to the commonly seen client-server
+interaction through mechanisms such as RMI or Web Services.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_regions">Regions</h3>
+<div class="paragraph">
+<p>Conceptually, the Eclipse Virgo can be divided into two separate subsystems, called Regions. This
+provides a way to keep the Virgo Kernel separate from user applications. Read more about Regions
+and the two in Virgo in the <a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a>
+concepts section.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-forming-bundles"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_a_guide_to_forming_bundles">A Guide to Forming Bundles</h3>
+<div class="paragraph">
+<p>So what makes an application suitable for deployment on the Virgo for Apache Tomcat? Since
+OSGi is at the heart of the VTS, modular applications consisting of
+bundles, which each represent distinct functionality and well-defined boundaries, can
+take maximum advantage of the OSGi container’s capabilities. The core ideas behind
+forming bundles require following good software engineering practices: separation of
+concerns, loose coupling, and communication through clear interfaces. In this section,
+we look at a few approaches that you may use to create modular applications for
+Virgo for Apache Tomcat deployment. Please consider the following discussion as guidelines and
+not as rules.</p>
+</div>
+<div class="paragraph">
+<p>Bundles can be formed along horizontal slices of layering and vertical slices of
+function. The objective is to enable independent development of each bundle and minimize
+the skills required to develop each bundle.</p>
+</div>
+<div class="paragraph">
+<p>For example, an application could have the following bundles:
+<strong>infrastructure</strong>, <strong>domain</strong>,
+<strong>repository</strong>, <strong>service</strong>, and
+<strong>web</strong> as shown in the following diagram.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="assets/images/bundle-dependencies-layers.png" alt="bundle dependencies layers">
+</div>
+</div>
+<div class="paragraph">
+<p>Each bundle consists of types appropriate for that layer and exports
+packages and services to be used by other layers. Let’s examine each bundle in
+more detail:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 1. Bundles across layers</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Bundles</th>
+<th class="tableblock halign-left valign-top">Imported Packages</th>
+<th class="tableblock halign-left valign-top">Exported Packages</th>
+<th class="tableblock halign-center valign-top">Consumed Services</th>
+<th class="tableblock halign-center valign-top">Published Services</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Infrastructure</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Third-party libraries</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Infrastructure interfaces</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Depends: for example,
+ if JPA is used to
+ annotate persistent
+ types, then JPA
+ packages.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Public domain types</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Web</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain, Service</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">None</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Service beans</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Service</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain,
+ Infrastructure,
+ Repository</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Service interfaces</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Repository beans</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Service beans</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Repository</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain,
+ Third-party libraries,
+ ORM bundles, etc.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Repository interfaces</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">DataSources,
+ ORM session/entity managers,
+ etc.</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Repository beans</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Within each layer, you may create bundles for each subsystem representing a vertical
+slice of business functionality. For example, as shown in the following figure, the
+service layer is divided into two bundles each representing separate business
+functions.
+<span class="image"><img src="assets/images/bundle-dependencies-verticals.png" alt="bundle dependencies verticals"></span></p>
+</div>
+<div class="paragraph">
+<p>You can similarly separate the repositories, domain classes, and web controllers
+based on the business role they play.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/architecture-bundle-versioning.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/architecture-bundle-versioning.png
new file mode 100644
index 0000000..a93b8a0
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/architecture-bundle-versioning.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-dependencies-layers.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-dependencies-layers.png
new file mode 100644
index 0000000..885d320
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-dependencies-layers.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-dependencies-verticals.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-dependencies-verticals.png
new file mode 100644
index 0000000..41aa782
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-dependencies-verticals.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-references.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-references.png
new file mode 100644
index 0000000..14aa958
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/bundle-references.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-complexDomain-skeleton-bundles.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-complexDomain-skeleton-bundles.png
new file mode 100644
index 0000000..2207769
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-complexDomain-skeleton-bundles.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-complexDomain-web-page.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-complexDomain-web-page.png
new file mode 100644
index 0000000..845c01c
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-complexDomain-web-page.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-dataSource-classNotFound-eclipse.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-dataSource-classNotFound-eclipse.png
new file mode 100644
index 0000000..6021712
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-dataSource-classNotFound-eclipse.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-add-infrastructure-to-par.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-add-infrastructure-to-par.png
new file mode 100644
index 0000000..426fa6c
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-add-infrastructure-to-par.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-created-eclipse.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-created-eclipse.png
new file mode 100644
index 0000000..b1481e5
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-created-eclipse.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-databasepopulator-before-manifest.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-databasepopulator-before-manifest.png
new file mode 100644
index 0000000..036661d
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-databasepopulator-before-manifest.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-dbcp-manifest.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-dbcp-manifest.png
new file mode 100644
index 0000000..6085953
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-dbcp-manifest.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-empty-nested-bundles-eclipse.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-empty-nested-bundles-eclipse.png
new file mode 100644
index 0000000..5251214
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-empty-nested-bundles-eclipse.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-server-with-par-project-deployed.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-server-with-par-project-deployed.png
new file mode 100644
index 0000000..4fb3842
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-server-with-par-project-deployed.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-wizard-step1.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-wizard-step1.png
new file mode 100644
index 0000000..d679459
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-wizard-step1.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-wizard-step2.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-wizard-step2.png
new file mode 100644
index 0000000..c4b2934
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-infrastructure-wizard-step2.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-created-eclipse.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-created-eclipse.png
new file mode 100644
index 0000000..e430a15
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-created-eclipse.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-wizard-step1.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-wizard-step1.png
new file mode 100644
index 0000000..bacf639
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-wizard-step1.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-wizard-step2.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-wizard-step2.png
new file mode 100644
index 0000000..75e3066
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-par-wizard-step2.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-dependencies.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-dependencies.png
new file mode 100644
index 0000000..c9ea674
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-dependencies.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-search-results.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-search-results.png
new file mode 100644
index 0000000..a3d4e7d
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-search-results.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-start.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-start.png
new file mode 100644
index 0000000..f797c79
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb-start.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb.png
new file mode 100644
index 0000000..637aa77
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-repo-hsqldb.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-eclipse-full.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-eclipse-full.png
new file mode 100644
index 0000000..504b0e0
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-eclipse-full.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-eclipse.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-eclipse.png
new file mode 100644
index 0000000..3465934
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-eclipse.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-server.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-server.png
new file mode 100644
index 0000000..49528cd
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-server.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-web-eclipse-complete.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-web-eclipse-complete.png
new file mode 100644
index 0000000..e05710c
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-web-eclipse-complete.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-web-page.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-web-page.png
new file mode 100644
index 0000000..d6be34b
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-simpleDomain-web-page.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-user-repository.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-user-repository.png
new file mode 100644
index 0000000..cdfa61a
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-new-par-user-repository.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-par-project.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-par-project.png
new file mode 100644
index 0000000..c2b379a
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/create-par-project.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/developing-applications-web-module-format.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/developing-applications-web-module-format.png
new file mode 100644
index 0000000..11ac784
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/developing-applications-web-module-format.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-exploded-war.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-exploded-war.png
new file mode 100644
index 0000000..befa8af
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-exploded-war.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-exploded-web.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-exploded-web.png
new file mode 100644
index 0000000..70489ad
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-exploded-web.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-exploded.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-exploded.png
new file mode 100644
index 0000000..7eef71b
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-exploded.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-sample.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-sample.png
new file mode 100644
index 0000000..6d795f7
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-par-sample.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-sample-layout.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-sample-layout.png
new file mode 100644
index 0000000..eb8650e
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-sample-layout.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-eclipse.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-eclipse.png
new file mode 100644
index 0000000..7a39ac0
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-eclipse.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-service-resources.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-service-resources.png
new file mode 100644
index 0000000..2eeed44
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-service-resources.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-war-resources.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-war-resources.png
new file mode 100644
index 0000000..156debd
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-shared-services-war-resources.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-war-webpage.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-war-webpage.png
new file mode 100644
index 0000000..c537744
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/formtags-case-study-war-webpage.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/import-bundle_import-library.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/import-bundle_import-library.png
new file mode 100644
index 0000000..0276ebd
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/import-bundle_import-library.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/import-package.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/import-package.png
new file mode 100644
index 0000000..200b7d3
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/import-package.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/introduction-architecture.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/introduction-architecture.png
new file mode 100644
index 0000000..a29e04e
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/introduction-architecture.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/migrating-to-osgi-par-structure.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/migrating-to-osgi-par-structure.png
new file mode 100644
index 0000000..b9a88d0
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/migrating-to-osgi-par-structure.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/migration-path-war-to-shsrv.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/migration-path-war-to-shsrv.png
new file mode 100644
index 0000000..e07f9eb
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/migration-path-war-to-shsrv.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/new-par-project.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/new-par-project.png
new file mode 100644
index 0000000..13ff6f7
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/new-par-project.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/par-content.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/par-content.png
new file mode 100644
index 0000000..ed5cbe9
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/par-content.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/s2-logo.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/s2-logo.png
new file mode 100644
index 0000000..7f41814
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/s2-logo.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/start.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/start.png
new file mode 100644
index 0000000..182325d
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/start.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/virgo-logo-large.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/virgo-logo-large.png
new file mode 100644
index 0000000..f8fe1f9
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/virgo-logo-large.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/virgo-logo-small.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/virgo-logo-small.png
new file mode 100644
index 0000000..45e9224
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/virgo-logo-small.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/welcome.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/welcome.png
new file mode 100644
index 0000000..87a3926
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/assets/images/welcome.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/common-libraries.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/common-libraries.html
new file mode 100644
index 0000000..2362a44
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/common-libraries.html
@@ -0,0 +1,533 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Working with Common Enterprise Libraries</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="common-libraries"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_working_with_common_enterprise_libraries">Working with Common Enterprise Libraries</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Common Libraries</p>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries-hibernate"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_working_with_hibernate">Working with Hibernate</h3>
+<div class="paragraph">
+<p><a id="common-libraries-hibernate-import"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_importing_hibernate">Importing Hibernate</h4>
+<div class="paragraph">
+<p>Hibernate uses CGLIB to dynamically create subclasses of your entity types at
+runtime. To guarantee that Hibernate and CGLIB can correctly see the types,
+you must add an <code>Import-Library</code> or <code>Import-Bundle</code> for the Hibernate library or bundle
+into any bundle that uses Hibernate directly.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, if other bundles in your application contain types to be persisted by Hibernate, then be sure to specify the <code>import-scope</code> directive of the <code>Import-Bundle</code> header in the bundle that uses Hibernate directly. The <code>import-scope</code> directive tells Virgo for Apache Tomcat to implicitly import the bundle into all other bundles that make up the application; this ensures that bundles that indirectly depend on the generated Hibernate classes have access to them, but you do not have to explicitly update their <code>Import-Bundle</code> header, ensuring modularity. For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Bundle: com.springsource.org.hibernate;version="[3.2.6.ga,3.2.6.ga]";import-scope:=application</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>import-scope</code> directive works only for the bundles in a scoped application (PARs or plans.)</p>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries-datasources"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_working_with_datasources">Working with DataSources</h3>
+<div class="paragraph">
+<p>Many <code>DataSource</code> implementations use the <code>DriverManager</code>
+class which is incompatible with typical OSGi class loading semantics. To get around this,
+use a <code>DataSource</code> implementation that does not rely on
+<code>DriverManager</code>. Versions of the following
+<code>DataSources</code> that are known to work in an OSGi environment are available in the
+<a href="http://www.eclipse.org/ebr">EBR</a>.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="http://build.eclipse.org/rt/virgo/ivy/bundles/release/org.eclipse.virgo.mirrored/org.apache.commons.dbcp/">Apache Commons DBCP</a></p>
+</li>
+<li>
+<p>SimpleDriverDataSource available in <a href="http://build.eclipse.org/rt/virgo/ivy/bundles/release/org.eclipse.virgo.mirrored/org.springframework.jdbc/">Spring JDBC</a> 2.5.5 and later</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries-weaving-instrumentation"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_weaving_and_instrumentation">Weaving and Instrumentation</h3>
+<div class="paragraph">
+<p>When using a library that performs bytecode weaving or instrumentation, such as AspectJ,
+OpenJPA or EclipseLink, any types that are woven must be able to see the library doing
+the weaving. This is accomplished by adding an <code>Import-Library</code> for the
+weaving library into all bundles that are to be woven.</p>
+</div>
+<div class="paragraph">
+<p>Weaving is often used by JPA implementations to transform persisted types. When using a
+JPA provider that uses load-time weaving, an <code>Import-Library</code> for the
+provider is needed in the bundles containing the persisted types.</p>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries-tld"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_jsp_tag_libraries">JSP Tag Libraries</h3>
+<div class="paragraph">
+<p>When using tag libraries within a WAR or WAB, be sure to include an <code>Import-Bundle</code>
+or <code>Import-Library</code> for the tag library bundle(s). This will ensure that your WAR or WAB
+can see the TLD definition and implementing types. For example, to use the Apache implementation of JSTL,
+add the following to your bundle’s <code>/META-INF/MANIFEST.MF</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Bundle: com.springsource.org.apache.taglibs.standard;version="1.1.2"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><code>Import-Package</code> can also be used but it is tedious to add all the imports as there are
+typically lots of tld definitions in a bundle providing them.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:47 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/developing-applications.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/developing-applications.html
new file mode 100644
index 0000000..06fd9bf
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/developing-applications.html
@@ -0,0 +1,1815 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Developing Applications</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="developing-applications"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_developing_applications">Developing Applications</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Applications that take advantage of the OSGi capabilities of Virgo
+are typically comprised of multiple bundles. Each bundle may have dependencies on
+other bundles. Furthermore, each bundle exposes only certain packages and
+services. In this chapter, we look at how to create bundles, import and export
+appropriate functionality, and create artifacts to deploy web applications on the Virgo for Apache Tomcat.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-bundle"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_anatomy_of_a_bundle">Anatomy of a Bundle</h3>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This is an abbreviated introduction to OSGi bundles. Please refer to the <a href="https://www.eclipse.org/gemini/blueprint/documentation/reference/2.0.0.RELEASE/html/index.html">Eclipse Gemini Blueprint Reference Guide</a> for full details.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>An OSGi bundle is simply a jar file with metadata that describe
+additional characteristics such as version and imported and exported packages.</p>
+</div>
+<div class="paragraph">
+<p>A bundle exports types and publishes services to be used by other bundles:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Types</strong>: via the OSGi <code>Export-Package</code> directive,</p>
+</li>
+<li>
+<p><strong>Services</strong>: via Gemini Blueprint’s <code><service …​ ></code> XML namespace element.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>A bundle may import types and services exported by other bundles:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Types</strong>: via the OSGi <code>Import-Package</code> directive,</p>
+</li>
+<li>
+<p><strong>Services</strong>: via Gemini Blueprint’s <code><reference …​ ></code> XML namespace element.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Let’s see an example from the PetClinic sample application. The following listing shows the
+<code>MANIFEST.MF</code> file for the <code>org.springframework.petclinic.infrastructure.hsqldb</code> bundle.</p>
+</div>
+<div class="listingblock">
+<div class="title">MANIFEST.MF</div>
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PetClinic HSQL Database Infrastructure
+Bundle-SymbolicName: org.springframework.petclinic.infrastructure.hsqldb
+Bundle-Version: 1.0
+Import-Library: org.springframework.spring;version="[2.5,2.6]"
+Import-Bundle: com.springsource.org.apache.commons.dbcp;version="[1.2.2.osgi,1.2.2.osgi]",
+ com.springsource.org.hsqldb;version="[1.8.0.9,1.8.0.9]"
+Import-Package: javax.sql
+Export-Package: org.springframework.petclinic.infrastructure</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>org.springframework.petclinic.infrastructure.hsqldb</code> bundle expresses its dependencies on
+the <code>javax.sql</code> package, the Commons DBCP and HSQLDB bundles, and the Spring library (we will examine
+the details of the library artifact in <a href="#developing-applications-defining-libraries">Defining Libraries</a>. The Commons DBCP
+bundle is imported at a version of exactly <code>1.2.2.osgi</code> and the HSQLDB bundle is imported at a version of exactly
+<code>1.8.0.9</code>. The Spring library is imported at a version between <code>2.5</code> inclusive and <code>2.6</code> exclusive.</p>
+</div>
+<div class="paragraph">
+<p>Note that you do not specify the bundle that will provide the imported packages.
+Virgo will examine the available bundles and satisfy the required dependencies.</p>
+</div>
+<div class="paragraph">
+<p>The following <code>osgi-context.xml</code> file from the PetClinic sample’s
+<code>org.springframework.petclinic.repository.jdbc</code> bundle declares a service published by the bundle and
+references a service published by another bundle.</p>
+</div>
+<div class="listingblock">
+<div class="title">osgi-context.xml</div>
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?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: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/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <service id="osgiClinic" ref="clinic" interface="org.springframework.petclinic.repository.Clinic" />
+ <reference id="dataSource" interface="javax.sql.DataSource"/>
+
+</beans:beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>service</code> element publishes the <code>clinic</code> bean
+(a regular Spring bean declared in the <code>module-context.xml</code> file) and specifies
+<code>org.springframework.petclinic.repository.Clinic</code> as the type
+of the published service.</p>
+</div>
+<div class="paragraph">
+<p>The <code>reference</code> elements define a <code>dataSource</code> bean that references
+a service published by another bundle with a an interface type of <code>javax.sql.DataSource</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-packaging"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_creating_pars_and_web_applications">Creating PARs and Web Applications</h3>
+<div class="paragraph">
+<p>Virgo supports two OSGi-oriented ways of packaging applications: the PAR format
+and application bundles (including web bundles). The VTS also supports three
+distinct WAR deployment and packaging formats: standard Java EE WAR, Shared Libraries WAR, Shared Services WAR.</p>
+</div>
+<div class="paragraph">
+<p>Virgo also supports plans as a way to describe an application. This method is similar to a PAR
+in that it encapsulates all the artifacts of an application as a single unit, but differs in that a plan simply
+lists the bundles in an XML file rather than packaging all the bundles in a single JAR file. The use of plans
+offers additional benefits to using PARs; for this reason, we recommend their use. For details, see
+<a href="#developing-applications-plans">Creating Plans</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-packaging-par"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_pars">PARs</h4>
+<div class="paragraph">
+<p>An OSGi application is packaged as a JAR file, with extension <code>.par</code>. A PAR artifact offers several benefits:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A PAR file has an application name, version, symbolic name, and description.</p>
+</li>
+<li>
+<p>The artifacts of a PAR file are scoped so that they cannot
+be shared accidentally by other applications. The scope forms a boundary for automatic
+propagation of load time weaving and bundle refresh.
+See <a href="#developing-applications-plans-scoping">Plans and Scoping</a> for more on scoping.</p>
+</li>
+<li>
+<p>Since a PAR is scoped, its artifacts have their exported packages imported by the
+synthetic context bundle which is used for thread context class loading. So,
+for example, hibernate will be able to load classes of any of the exported
+packages of the bundles in a PAR file using the thread context class loader.</p>
+</li>
+<li>
+<p>A PAR file is visible to management interfaces.</p>
+</li>
+<li>
+<p>A PAR file can be undeployed and redeployed as a unit.</p>
+</li>
+<li>
+<p>A PAR file is <strong>atomic</strong> in that it ties together the lifecycle of its artifacts. If you start, stop, or uninstall
+one of a PAR’s artifacts, Virgo escalates the operation to the whole PAR file.
+So Virgo prevents artifacts of a PAR from being in inconsistent states.
+For example, if one artifact should fail to start, then Virgo stops all artifacts in the PAR.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>See <a href="#developing-applications-plans-scoping">Plans and Scoping</a> for more information on scoping.</p>
+</div>
+<div class="paragraph">
+<p>A PAR includes one or more application bundles and its manifest specifies the following
+manifest headers:</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-packaging-par-headers-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 1. PAR file headers</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Header</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Application-SymbolicName</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Identifier for the application which, in combination with Application-Version, uniquely identifies an application</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Application-Name</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Human readable name of the application</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Application-Version</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Version of the application</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Application-Description</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Short description of the application</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following code shows an example MANIFEST.MF in a PAR file:</p>
+</div>
+<div class="listingblock">
+<div class="title">MANIFEST.MF</div>
+<div class="content">
+<pre class="highlight"><code>Application-SymbolicName: com.example.shop
+Application-Version: 1.0
+Application-Name: Online Shop
+Application-Description: Example.com's Online Shopping Application</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>anchor:developing-applications-web-application-bundles</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_web_application_bundles">Web Application Bundles</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat supports Web Application Bundles that are compliant with the OSGi Web Applications specification.
+The defining property of a Bundle that makes it a Web Application Bundle is a manifest header, <code>Web-ContextPath</code>.
+This defines the context path the web application will be registered under.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#using-spring">Using Spring and Gemini Blueprint</a> for information on using Spring or Gemini Blueprint in a Web Application Bundle.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_creating_plans">Creating Plans</h3>
+<div class="paragraph">
+<p>Plans are similar to PARs in that they encapsulate the artifacts of an application as a single unit.
+However plans are XML files that refer to their artifacts, whereas PARs are JAR files that physically contain their artifacts.
+Plans, known as <strong>parent</strong> plans may refer to other plans, known as <strong>child</strong> plans.</p>
+</div>
+<div class="paragraph">
+<p>Plans share several benefits with PARs:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A plan has a (symbolic) name and a version.</p>
+</li>
+<li>
+<p>A plan may be <strong>scoped</strong>, although this is optional.
+See <a href="#developing-applications-plans-scoping">Plans and Scoping</a> for more on scoping.</p>
+</li>
+<li>
+<p>A plan is visible to management interfaces.</p>
+</li>
+<li>
+<p>A plan can be undeployed and redeployed as a unit.</p>
+</li>
+<li>
+<p>A plan may be <strong>atomic</strong>, although this is optional.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Plans have the following additional benefits compared to PARs:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Virgo deploys the artifacts in the plan in the order in which they are listed in the XML file, which gives you
+complete control over deployment order.
+With a PAR, the order of deployment of the included artifacts is not guaranteed.</p>
+</li>
+<li>
+<p>Since plans refer to their artifacts, it is easier to share content between plans as well as update individual
+parts of a plan without having to physically repackage (re-JAR) it.</p>
+</li>
+<li>
+<p>Plans may contain child plans, but PARs cannot contain other PARs.</p>
+</li>
+<li>
+<p>You can make certain plans deploy faster by disabling the provisioning of bundles to satisfy missing dependencies,
+but you cannot disable provisioning for PARs.</p>
+</li>
+<li>
+<p>You can specify whether a plan is scoped or unscoped and atomic or non-atomic; PARs are always scoped and atomic.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The artifacts of a plan are usually stored in Virgo’s repository. This means, for example, that if you drop one of the plan’s artifacts in the <code>pickup</code> directory rather than adding it to the repository, the plan will fail to deploy because it will not find the artifact.</p>
+</div>
+<div class="paragraph">
+<p>The artifacts of a plan may also be stored outside Virgo’s repository, somewhere else on the file system and referenced from the plan using URIs.
+Such artifacts must be available on the file system when the plan is deployed and when Virgo restarts while the plan is deployed.
+If you delete any of these artifacts, deployment of the plan may fail, either when it is initially deployed or when Virgo restarts.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-create"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_creating_the_plan_xml_file">Creating the Plan XML File</h4>
+<div class="paragraph">
+<p>Plans are XML files that have a <code>.plan</code> file extension, such as <code>multi-artifact.plan</code>.
+The structure of the XML file is simple:
+the root element is <code><plan></code> with attributes specifying the name of the plan, the version, atomicity, and scoping.
+Then, for each artifact that makes up your application,
+you add a <code><artifact></code> element, using its attributes to specify the type of artifact and its name and version.
+The following is a simple example of a plan’s XML file:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+<plan name="multi-artifact.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+ <artifact type="configuration" name="app-properties" version="1.0.0"/>
+ <artifact type="bundle" name="com.springsource.exciting.app" version="[2.0.0, 3.1.0)"/>
+
+</plan></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In the preceding example, the name of the plan is <code>multi-artifact.plan</code> and its version is <code>1.0.0</code>.
+The plan is both scoped and atomic. The plan contains two artifacts: one is a bundle called <code>com.springsource.exciting.app</code> and the other is a configuration file called <code>app-properties</code>.</p>
+</div>
+<div class="paragraph">
+<p>The following table describes the attributes of the <code><plan></code> element.</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 2. PAR file headers</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 60%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Required?</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>name</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the name of this plan.
+ Virgo uses the name as one component of the unique
+ identifier of this plan.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>version</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the version of this plan.
+ You must use OSGi version specification syntax,
+ such as <code>2.1.0</code>.
+ Virgo uses the version as one component of
+ the unique identifier of this plan.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>scoped</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether Virgo should install the
+ artifacts into plan-specific scope so that only the
+ application described by this plan has access to the artifacts.
+ If you disable scoping, then Virgo installs
+ the artifacts into the global scope, which means they
+ are then available for access by all other deployed artifacts.
+ Set the attribute to <code>true</code> to enable scoping or
+ <code>false</code> to disable it.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>atomic</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether you want to tie together the lifecycle
+ of the artifacts in this plan.
+ Making a plan atomic means that if you start, stop, or
+ uninstall a single artifact in the plan, Virgo
+ escalates the operation to the whole plan.
+ Also Virgo prevents artifacts of an atomic plan
+ from being in inconsistent states.
+ For example, if one artifact should fail to start,
+ then Virgo stops all artifacts in the plan.
+ Set this attribute to <code>true</code> to enable atomicity or
+ <code>false</code> to disable it.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provisioning</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether Virgo installs bundles from
+ the repository to attempt to satisfy any missing
+ dependencies in the plan.
+ Missing dependencies prevent one or more bundles in
+ the plan from resolving.
+ For example, a bundle which imports a package cannot
+ resolve if the package is missing, that is, not
+ exported by another bundle. A value of
+ <code>auto</code> instructs Virgo to install bundles from the repository
+ to attempt to satisfy any missing dependencies in the plan.
+ This is known as <strong>auto-provisioning</strong>.
+ A value of <code>disabled</code> prevents Virgo from
+ installing bundles from the repository to attempt to
+ satisfy any missing dependencies in the plan.
+ This value can make the plan deploy faster, although if
+ there are missing dependencies, deployment will fail.
+ A value of <code>inherit</code>, which is the default if no value is specified, inherits the parent plan’s provisioning behaviour.
+ If the plan does not have a parent, it inherits Virgo’s
+ auto-provisioning behaviour.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No. If not specified, defaults to <code>inherit</code>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following table describes the attributes of the <code><artifact></code> element. Note that you must either specify <code>type</code>, <code>name</code>, and (optionally) <code>version</code>,
+in which case Virgo’s repository is searched for the artifact, or <code>uri</code> in which case the artifact is obtained directly from the file system.
+If you specify <code>uri</code>, you must not specify <code>type</code>, <code>name</code>, or <code>version</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-create-artifact-attributes"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 3. PAR file headers</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 60%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Required?</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>type</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the type of the artifact. Valid values are:
+</p><p class="tableblock"><code>bundle</code>: Specifies an OSGi bundle. Use this artifact type for WAR files and Web application bundles.
+<code>configuration</code>: Specifies that the artifact is a configuration file. Configuration files contain name/value pairs that set initial values for configuration properties of a bundle.
+<code>plan</code>: Specifies that the artifact is a plan.
+<code>par</code>: Specifies that the artifact is a PAR.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes, unless <code>uri</code> is specified in which case <code>type</code> must not be specified and is automatically determined from the artifact.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>name</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the name of the artifact.
+See <a href="#artifact-names">Artifact Names</a> for guidelines for determining
+the name of an artifact.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes, unless <code>uri</code> is specified in which case <code>name</code> must not be specified and is automatically determined from the artifact.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>version</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the range of versions of this artifact that
+ Virgo should look up in its repositories and
+ then install and deploy.
+ You must use OSGi version specification syntax,
+ such as <code>[1.0.0, 2.0.0)</code>.
+ Note that a single version number represents the range
+ from that version number upwards.
+ For example, <code>1.3</code> represents the range of versions
+ greater than or equal to <code>1.3</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No. If <code>uri</code> is specified, <code>version</code> must not be specified.
+ If neither <code>uri</code> nor <code>version</code> are specified, <code>version</code> defaults to <code>0</code>, which in OSGi means 0 to infinity, or any version.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uri</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies an optional, absolute URI string beginning
+ with <code>file:</code> that refers to the artifact on the file system.
+ Such an artifact must be available on the file system
+ when the plan is deployed and when Virgo restarts
+ while the plan is deployed.
+ If you delete such an artifact, deployment of the plan may fail,
+ either when it is initially deployed or when Virgo restarts.
+ This attribute is normally omitted so that the artifact
+ is searched for in Virgo’s repository.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No. If not specified, Virgo searches for the artifact in its repository.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="artifact-names"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_artifact_names">Artifact Names</h4>
+<div class="paragraph">
+<p>When you create a plan, you use the <code>name</code> attribute of the <code><artifact></code> element to specify the name of all the plan’s dependencies. This section describes how to determine the name of an artifact, which is not always obvious.</p>
+</div>
+<div class="paragraph">
+<p>Use the following guidelines to determine the name of an artifact:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Bundle</strong>: In this context, a <strong>bundle</strong> refers to a standard OSGi bundle as well as a Web Application Bundle and a WAR file. The name of a bundle is the value of the <code>Bundle-SymbolicName</code> header in the <code>META-INF/MANIFEST.MF</code> file of the <code>*.jar</code>.
+If a WAR file has <code>Bundle-SymbolicName</code> header then it will be treated as a Web Application Bundle. The following <code>MANIFEST.MF</code> snippet shows a bundle with name <code>com.springsource.exciting.app</code>:</p>
+</li>
+</ul>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Bundle-SymbolicName: org.eclispe.virgo.exciting.app</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If the bundle does not contain a <code>META-INF/MANIFEST.MF</code> file or the <code>MANIFEST.MF</code> doesn’t contain a <code>Bundle-SymbolicName</code> header, then the name of the bundle is its filename minus the <code>.jar</code> or <code>.war</code> extension.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Configuration File</strong>: The name of a configuration or PID (Persistent Identity) is its filename minus the <code>.properties</code> extension. The PID can also be specified within the properties file with the
+<strong>service.pid</strong> property.</p>
+</li>
+<li>
+<p><strong>Plan</strong>: The name of a plan is the value of the required <code>name</code> attribute of the <code><plan></code> element in the plan’s XML file. In the following XML snippet, the plan name is <code>multi-artifact.plan</code>:</p>
+</li>
+</ul>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre><?xml version="1.0" encoding="UTF-8"?>
+<plan name="multi-artifact.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>PAR</strong>: The name of a PAR is the value of the <code>Application-SymbolicName</code> header in the <code>META-INF/MANIFEST.MF</code> file of the <code>*.par</code> file. The following <code>MANIFEST.MF</code> snippet shows a PAR with name <code>com.springsource.my.par</code>:</p>
+</li>
+</ul>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Application-SymbolicName: org.eclipse.virgo.my.par</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If the PAR does not contain a <code>META-INF/MANIFEST.MF</code> file, then the name of the PAR is its filename minus the <code>.par</code> extension.</p>
+</div>
+<div class="paragraph">
+<p><a id="passing-properties"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_supplying_properties_to_artifacts">Supplying Properties to Artifacts</h4>
+<div class="paragraph">
+<p>It is possible to pass properties to an artifact specified in a plan. An example of this can be seen in the Admin Console plan where the context path to be used in the Admin console is passed from the plan.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><artifact type="bundle" name="org.eclipse.virgo.apps.admin.web" version="[3.0, 4.0)">
+ <property name="header:Web-ContextPath" value="/admin" />
+</artifact></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The only supported property is <code>header</code> which will overwrite the given manifest header with the supplied value. This should be used with care!</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-use"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_the_plan">Using the Plan</h4>
+<div class="paragraph">
+<p>Because a plan is a list of artifacts, rather than a physical file that contains the artifacts, there are a few additional steps you must perform before you deploy it to Virgo.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Copy the artifacts that make up the plan to the <code>usr</code> repository, which by default is the <code>$SERVER_HOME/repository/usr</code> directory, where <code>$SERVER_HOME</code> refers to the top-level installation directory of Virgo. Note that you might have configured the server differently; in which case, copy the artifacts to your custom repository directory.</p>
+</li>
+<li>
+<p>Restart Virgo if the repository used is not a <strong>watched</strong> repository.</p>
+</li>
+<li>
+<p>After the server has started, either use the Admin Console to deploy the plan, or manually deploy it by copying the plan’s XML file into the <code>$SERVER_HOME/pickup</code> directory.</p>
+</li>
+<li>
+<p>This results in Virgo deploying the plan.</p>
+</li>
+<li>
+<p>To undeploy the plan, use the Admin Console, or simply delete it from the <code>$SERVER_HOME/pickup</code> directory.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-scoping"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_plans_and_scoping">Plans and Scoping</h4>
+<div class="paragraph">
+<p>As described in previous sections, you can specify that a plan be <strong>scoped</strong>. This means that Virgo installs the artifacts that make up the plan into a plan-specific scope so that only the application described by the plan has access to the artifacts. If you disable scoping, then Virgo installs the artifacts into the global scope, which means they are available for access by all other deployed artifacts. This section describes scoping in a bit more detail. It also describes how you can change the default behavior of scoping, with respect to services, so that a service that is in a scope can be made globally available.</p>
+</div>
+<div class="paragraph">
+<p>If a bundle in a given scope imports a package and a bundle in the same scope exports the package, then the import may only be satisfied by the bundle in the scope, and not by any bundles outside the scope, including the global scope. Similarly, package exports from bundles in a scope are not visible to bundles in the global scope.</p>
+</div>
+<div class="paragraph">
+<p>If a bundle in a scope uses Spring DM (or the blueprint service) to obtain a service reference and a bundle in the same scope uses Spring DM (or the blueprint service) to publish a matching service, then the service reference may only bind to the service published in the scope (and not to any services outside the scope). Services published by bundles in a scope are not visible to bundles in the global scope.</p>
+</div>
+<div class="paragraph">
+<p>However, sometimes it is useful to make a service in a scope globally available to artifacts outside the scope. To do this, publish the service with the <code>org.eclipse.virgo.service.scope</code> service property set to <code>global</code>. Use the <code><service-properties></code> child element of <code><service></code>, as shown in the following example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><service id="publishIntoGlobal" interface="java.lang.CharSequence">
+ <service-properties>
+ <beans:entry key="org.eclipse.virgo.service.scope" value="global" />
+ </service-properties>
+ <beans:bean class="java.lang.String">
+ <beans:constructor-arg value="foo"/>
+ </beans:bean>
+</service></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A scope forms a boundary for automatic propagation of load time weaving and bundle refresh.
+Additionally, a synthetic context bundle is generated for each scope. This bundle imports all the packages exported by other bundles in the scope.
+The class loader of the synthetic context bundle is used for thread context class loading. So,
+for example, hibernate will be able to load classes of any of the exported
+packages of the bundles in a scope using the thread context class loader.</p>
+</div>
+<div class="paragraph">
+<p>To ensure predictable class loading behaviour and avoid other issues associated with <strong>split packages</strong> (packages whose classes
+are split across more than one bundle), the synthetic context bundle has a restriction:
+no package may be exported by more than one
+bundle in the scope*.
+If this restriction is broken, the scoped application will fail to deploy.
+This restriction can cause problems for <a href="#scoping-and-substitutable-exports">substitutable exports</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-scoping-webapps"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_web_applications_and_scoping">Web Applications and Scoping</h4>
+<div class="paragraph">
+<p>A Web Application Bundle (WAB) or WAR has its bundle class loader set as the TCCL, even when the WAB or WAR belongs to
+a PAR or scoped plan.
+To enable the TCCL to load classes of other bundles in the same scope as a WAB or WAR, use a WAB which imports the necessary packages.</p>
+</div>
+<div class="paragraph">
+<p>Also a WAB or WAR has its own per-application trace, independent of the per-application trace of any PAR or scoped plan to which the
+WAB or WAR belongs.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-configuration-artifacts"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_creating_and_using_configuration_artifacts">Creating and Using Configuration Artifacts</h3>
+<div class="paragraph">
+<p>Applications typically include some sort of configuration data
+that might change depending on the environment in which the
+application is deployed. For example, if an application connects to a
+database server using JDBC, the configuration data would include the
+JDBC URL of the database server, the JDBC drvier, and the username and
+password that the application uses to connect to the database server.
+This information often changes as the application is deployed to
+different computers or the application moves from the testing phase to
+the production phase.</p>
+</div>
+<div class="paragraph">
+<p>Virgo provides a feature called
+<strong>configuration artifacts</strong>
+that makes it very easy for you to manage this configuration data. A
+configuration artifact is simply a properties file that is made
+available at runtime using the OSGi
+<code>ConfigurationAdmin</code>
+service. When you create this properties file, you set the values of
+the properties for the specific environment in which you are going to
+deploy your application, and then update the metadata of your Spring
+application to use the properties file. You then deploy the
+application and properties file together, typically as a
+<a href="#developing-applications-plans">plan</a>. Virgo automatically creates a configuration artifact from
+the properties file, and you can manage the lifecycle of this
+configuration artifact in the same way you manage the lifecycle of
+PARs, bundles, and plans, using the Admin
+Console. Additionally, Virgo subscribes your
+application for notification of any refresh of the configuration
+artifact and the application can then adapt accordingly, which means
+you can easily
+<strong>change</strong>
+the configuration of your application without redeploying it.</p>
+</div>
+<div class="paragraph">
+<p>In sum, configuration artifacts, especially when combined with
+plans, provide an excellent mechanism for managing external
+configuration data for your applications.</p>
+</div>
+<div class="paragraph">
+<p>The following sections describe the format of the configuration
+artifact, how to update the Spring application context file of your
+application so that it knows about the configuration artifact, and
+finally how to include it in a plan alongside your application.</p>
+</div>
+<div class="paragraph">
+<p>As an example to illustrate the configuration artifact feature, assume
+that you have a Spring bean called
+<code>PropertiesController</code>
+whose constructor requires that four property values be passed to it,
+as shown in the following snippet of Java code:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-java" data-lang="java">@Controller
+public class PropertiesController {
+
+ private final String driverClassName;
+ private final String url;
+ private final String username;
+ private final String password;
+
+ public PropertiesController(String driverClassName, String url, String username, String password) {
+ this.driverClassName = driverClassName;
+ this.url = url;
+ this.username = username;
+ this.password = password;
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In the preceding example, the <code>PropertiesController</code> constructor requires four property values: <code>driverClassName</code>, <code>url</code>, <code>username</code>, and <code>password</code>. Note that the example shows just one way that a class might require property values; your application may code it another way.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, assume that the following snippet of the associated Spring application context XML file shows how the <code>PropertiesController</code> bean is configured:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><bean class="com.springsource.configuration.properties.PropertiesController">
+ <constructor-arg value="${driverClassName}"/>
+ <constructor-arg value="${url}"/>
+ <constructor-arg value="${username}"/>
+ <constructor-arg value="${password}"/>
+</bean></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The rest of this section describes how the bean can get these property values using a configuration artifact.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-configuration-artifacts-propfile"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_creating_the_properties_file">Creating the Properties File</h4>
+<div class="paragraph">
+<p>To create a properties file that in turn will become a configuration artifact when deployed to Virgo from which a Spring bean, such as the <code>PropertiesController</code> bean, will get the actual property values, follow these guidelines:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Create a text file in which each property is listed as a name/value pair, one pair per line. Precede comments with a <code>#</code>. For example:</p>
+</li>
+</ul>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre># Properties for the com.springsource.configuration.properties sample
+
+driverClassName = org.w3.Driver
+url = http://www.springsource.com
+username = joe
+password = secret</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The example shows four properties whose name correspond to the constructor arguments of the <code>PropertiesController</code> Spring bean.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Name the file anything you want, as long as it has a <code>.properties</code> extension, such as <code>app-properties.properties</code>.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-configuration-artifacts-app"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_updating_your_application">Updating Your Application</h4>
+<div class="paragraph">
+<p>To update your application so that it "knows" about the configuration artifact, you update the application’s Spring application context XML file, typically located in the <code>WEB-INF</code> or <code>META-INF/spring</code> directories (read <a href="#using-spring">Using Spring and Gemini Blueprint</a>
+to understand which directory to use).</p>
+</div>
+<div class="paragraph">
+<p>You use the <code><context:property-placeholder></code> element to specify that you want to use the Virgo mechanism for substituting values into bean properties. The <code>properties-ref</code> attribute of this element points to a <code><osgi-compendium:cm-properties></code> element which you use to specify the configuration artifact that contains the property values. You set the value of the <code>persistent-id</code> attribute of this element equal to the name of the configuration artifact, which is the name of the properties file <strong>minus</strong> the <code>.properties</code> extension.</p>
+</div>
+<div class="paragraph">
+<p>The following sample Spring application context XMl file shows everything wired together; only relevant parts of the file are shown:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?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:context="http://www.springframework.org/schema/context"
+ xmlns:osgi-compendium="http://www.springframework.org/schema/osgi-compendium"
+ xsi:schemaLocation="http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi-1.2.xsd
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context-2.5.xsd
+ http://www.springframework.org/schema/osgi-compendium
+ http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium-1.2.xsd">
+
+...
+
+ <bean class="com.springsource.configuration.properties.PropertiesController">
+ <constructor-arg value="${driverClassName}"/>
+ <constructor-arg value="${url}"/>
+ <constructor-arg value="${username}"/>
+ <constructor-arg value="${password}"/>
+ </bean>
+
+ <context:property-placeholder properties-ref="configAdminProperties"/>
+
+ <osgi-compendium:cm-properties id="configAdminProperties" persistent-id="app-properties"/>
+
+...
+
+</beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The preceding example shows how the id <code>configAdminProperites</code> wires the <code><context:property-placeholder></code> and <code><osgi-compendium:cm-properties></code> elements together. Based on the value of the <code>persistent-id</code> attribute, you must also deploy a properties file called <code>app-properties.properties</code> which Virgo installs as a configuration artifact.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-configuration-artifacts-plan"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_adding_the_configuration_artifact_to_a_plan">Adding the Configuration Artifact to a Plan</h4>
+<div class="paragraph">
+<p>Although you can always deploy your application and associated configuration artifact using the <code>pickup</code> directory, we recommends that you group the two together in a plan, add the two artifacts to the repository, and then deploy the plan using the <code>pickup</code> directory. The following sample plan includes the two artifacts:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+<plan name="multi-artifact.plan" version="1.0.0"
+ scoped="false" atomic="false"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+ <artifact type="configuration" name="app-properties" version="0"/>
+ <artifact type="bundle" name="org.eclipse.virgo.configuration.properties" version="1.0.0"/>
+</plan></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For additional information about plans, see <a href="#developing-applications-plans">Creating Plans</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="using-spring"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_spring_and_gemini_blueprint">Using Spring and Gemini Blueprint</h3>
+<div class="paragraph">
+<p>Virgo supports the use of Spring framework and Gemini Blueprint by application bundles.</p>
+</div>
+<div class="paragraph">
+<p>Spring (and Gemini Blueprint) application context XML files should generally be placed in a bundle’s <code>META-INF/spring</code> directory, but
+for a web application, these files must be placed in the <code>WEB-INF</code> directory.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">A common mistake</div>
+<div class="paragraph">
+<p>Placing a web application’s Spring application context XML files in the <code>META-INF/spring</code> directory produces
+unpredictable results since Spring DM will attempt to build an application context independently of, and asynchronously from,
+the web application.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>To use Gemini Blueprint from a web application, the <code>contextClass</code> servlet parameter and the servlet context listener
+should be configured (in <code>WEB-INF/web.xml</code>) like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><context-param>
+ <param-name>contextClass</param-name>
+ <param-value>org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext</param-value>
+</context-param>
+
+<listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+</listener></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Virgo has Gemini Blueprint built-in and thereby supports the OSGi Blueprint standard in addition to Spring DM.</p>
+</div>
+<div class="paragraph">
+<p>For detailed information on Spring Framework and Blueprint, please see <a href="#prerequisites-references">[prerequisites-references]</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-programmatic-access"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_programmatic_access_to_the_servlet_context">Programmatic Access to the Servlet Context</h3>
+<div class="paragraph">
+<p>This section describes how to programmatically access the servlet context to obtain the WebApplicationContext or the BundleContext.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-programmatic-access-web"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_programmatic_access_to_web_features">Programmatic Access to Web Features</h4>
+<div class="paragraph">
+<p><a id="developing-applications-programmatic-access-web-application-context"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_programmatic_access_to_the_webapplicationcontext">Programmatic Access to the WebApplicationContext</h4>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat automatically creates a <code>WebApplicationContext</code>
+for Web Application Bundles and WAR files. When used in conjunction with an
+an auto-configured Spring MVC <code>DispatcherServlet</code>,
+there is generally no need to access the <code>WebApplicationContext</code>
+programmatically, since all components of the web application are configured
+within the scope of the <code>WebApplicationContext</code>
+itself. However, if you wish to access the <code>WebApplicationContext</code>
+you can do so via the web application’s <code>ServletContext</code>.
+Virgo stores the bundle’s
+<code>WebApplicationContext</code> in the ServletContext under
+the attribute name “BSN-ApplicationContext”, where
+<code>BSN</code> is the <code>Bundle-SymbolicName</code>
+of your WAR or Web Application Bundle.</p>
+</div>
+<div class="paragraph">
+<p>Alternatively, since Virgo also stores the
+<code>WebApplicationContext</code> under the attribute name
+with the value of the <code>WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE</code>
+constant, you may choose to use Spring MVC’s WebApplicationContextUtils'
+<code>getWebApplicationContext(servletContext)</code>
+or
+<code>getRequiredWebApplicationContext(servletContext)</code>
+methods to access the <code>WebApplicationContext</code> without providing
+an explicit attribute name.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-programmatic-access-web-bundle-context"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_programmatic_access_to_the_bundlecontext">Programmatic Access to the BundleContext</h4>
+<div class="paragraph">
+<p>As required by the OSGi Web Applications specification, you can access the
+<code>BundleContext</code> of your WAR or Web Application Bundle via the web application’s
+<code>ServletContext</code>. The bundle context is stored in the
+<code>ServletContext</code> under the attribute name <code>osgi-bundlecontext</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-automatic-imports-web"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_web_application_manifest_processing">Web Application Manifest Processing</h3>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat generates automatic package imports (i.e., via the
+<code>Import-Package</code> manifest header) for certain web applications.
+This section lists which packages are automatically generated.</p>
+</div>
+<div class="paragraph">
+<p>VTS supports Web Application Bundles (WABs) as defined by the OSGi Web Applications Specification and WAR files.
+A WAR will typically not contain any OSGi defined manifest headers.
+A WAB is distinguished from a WAR by the presence of one or more of the following OSGi defined headers:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Bundle-SymbolicName</code></p>
+</li>
+<li>
+<p><code>Bundle-Version</code></p>
+</li>
+<li>
+<p><code>Bundle-ManifestVersion</code></p>
+</li>
+<li>
+<p><code>Import-Package</code></p>
+</li>
+<li>
+<p><code>Web-ContextPath</code></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>As required by the OSGi Web Applications specification, the following defaults are applied to a WAR:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Bundle-ManifestVersion</code> is set to <code>2</code></p>
+</li>
+<li>
+<p><code>Bundle-SymbolicName</code> is generated from the path from which the bundle was installed</p>
+</li>
+<li>
+<p><code>Bundle-ClassPath</code> is set to <code>WEB-INF/classes</code> followed by the JARs in
+<code>WEB-INF/lib</code> in an unspecified order, followed by any transitive dependencies declared
+by the JARs in <code>WEB-INF/lib</code></p>
+</li>
+<li>
+<p><code>Import-Package</code> is extended in an implementation defined way, as described below</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The following packages are automatically imported into WARs:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>javax.servlet;version="2.5"</code></p>
+</li>
+<li>
+<p><code>javax.servlet.http;version="2.5"</code></p>
+</li>
+<li>
+<p><code>javax.servlet.jsp;version="2.1"</code></p>
+</li>
+<li>
+<p><code>javax.servlet.jsp.el;version="2.1"</code></p>
+</li>
+<li>
+<p><code>javax.servlet.jsp.tagext;version="2.1"</code></p>
+</li>
+<li>
+<p><code>javax.el;version="1.0"</code></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>In addition to the above-described imports, VTS will also
+generate automatic imports for all of the packages that are exported by the system
+bundle, unless an import for the package already exists in the WAR’s manifest,
+or the WAR contains the package, i.e. within <code>WEB-INF/classes</code>,
+or in a jar file in <code>WEB-INF/lib</code>. When an import is generated, it
+is versioned such that it exactly matches the version or versions of the package that
+are exported from the system bundle. For example, a package that’s exported only at
+version <code>1.0.0</code> will generate an import with a version of
+<code>[1.0.0,1.0.0]</code>, and a package that’s exported at version
+<code>1.0.0</code> and version <code>2.0.0</code> will generate an import
+with a version of <code>[1.0.0,2.0.0]</code>.</p>
+</div>
+<div class="paragraph">
+<p>Web Application Bundles are not subject to the above manifest processing.
+This is a change of behaviour compared to Virgo Web Server 2.1.x.
+See (see <a href="#known-issues-web-bundle-default-headers">Default Web
+Application Bundle Headers</a>) if you need the old behaviour until you
+have changed your WABs to match the new behaviour.</p>
+</div>
+<div class="paragraph">
+<p>VTS supports ROOT.war as a default web application. The <code>Web-ContextPath</code>
+of the deployed ROOT.war is set to the default web context path - <code>/</code>.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">System Bundle Package Exports</div>
+<div class="paragraph">
+<p>For further details on which packages are exported by the
+OSGi system bundle, consult the <filename>java-server.profile</filename>
+file located in the <code>SERVER_HOME/configuration</code> directory.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-dependencies"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_working_with_dependencies">Working with Dependencies</h3>
+<div class="paragraph">
+<p>Complex enterprise frameworks such a Spring and Hibernate are typically divided into many, many different
+packages. Traditionally, if an OSGi bundle wished to make extensive use of such a framework its manifest would
+have to import a huge number of different packages. This can be an error-prone and tedious process. Furthermore,
+application developers are used to thinking in terms of their application using a framework, such as Spring, as a
+whole, rather than a long list of all the different packages that comprise the framework.</p>
+</div>
+<div class="paragraph">
+<p>The following figure provides a simple illustration of the complexity of only using <code>Import-Package</code>:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/import-package.png" alt="import package"></span></p>
+</div>
+<div class="paragraph">
+<p>Virgo reduces the need for long lists of imported packages by introducing two new manifest
+headers; <code>Import-Bundle</code> and <code>Import-Library</code>. The following figure provides an
+illustration of the simplification that these new headers offer:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/import-bundle_import-library.png" alt="import bundle import library"></span></p>
+</div>
+<div class="paragraph">
+<p>As you can see, use of <code>Import-Bundle</code> and <code>Import-Library</code> can lead to a dramatic reduction
+in the number of imports that you need to include in an application bundle’s manifest. Furthermore, <code>Import-Bundle</code>
+and <code>Import-Library</code> are simply aliases for <code>Import-Package</code>; at deployment time <code>Import-Bundle</code>
+and <code>Import-Library</code> header entries are automatically expanded into numerous <code>Import-Package</code> entries. This
+means that you retain the exact same semantics of using <code>Import-Package</code>, without having to go through the labourious
+process of doing so.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-importing-libraries"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_importing_libraries">Importing Libraries</h4>
+<div class="paragraph">
+<p>A bundle in an application can declare a dependency on a library by using the
+Eclipse Virgo specific <code>Import-Library</code> header. This header specifies a
+comma-separated list of library symbolic names and version ranges that determine which libraries
+are imported. By default a dependency on a library is mandatory but this can be
+controlled through use of the resolution directive in exactly the same way as
+it can with <code>Import-Package</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Library: org.springframework.spring;version="[2.5.4, 3.0)",
+ org.aspectj;version="[1.6.0,1.6.0]";resolution:="optional"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This example <code>Import-Library</code> header declares a mandatory dependency on the Spring
+library at a version from 2.5.4 inclusive to 3.0 exclusive. It also declares an
+optional dependency on the AspectJ library at exactly 1.6.0.</p>
+</div>
+<div class="paragraph">
+<p>anchor:developing-applications-importing-bundles</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_importing_bundles">Importing Bundles</h4>
+<div class="paragraph">
+<p>A bundle in an application can declare a dependency on a bundle by using the
+Eclipse Virgo specific <code>Import-Bundle</code> header. The header specifies a comma-separated
+list of bundle symbolic names, version ranges, and scope declarmations that determine which bundles are imported and the scope of their dependency. By default a dependency
+on a bundle is mandatory but this can be controlled through use of the resolution directive in exactly
+the same way as it can with <code>Import-Package</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Bundle: com.springsource.org.apache.commons.dbcp;version="[1.2.2.osgi, 1.2.2.osgi]"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This example <code>Import-Bundle</code> header declares a mandatory dependency on the Apache Commons
+DBCP bundle at exactly 1.2.2.osgi.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-importing-bundles-disadvantages"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_disadvantages">Disadvantages</h5>
+<div class="paragraph">
+<p>A disadvantage of using <code>Import-Bundle</code> or especially <code>Import-Library</code>, is that the application
+bundle has a greater apparent fan-out than it strictly needs. An Alternative is to use a tool such as bnd or Bundlor
+to generate the package imports of the bundle.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-scoping-libraries-bundles"></a></p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_scoping_bundles_in_an_application">Scoping Bundles in an Application</h4>
+<div class="paragraph">
+<p>When working with a scoped application, such as a PAR file or a plan, you might run into a situation where one of the bundles in the application (call it <code>bundleA</code>) depends on another bundle (<code>bundleB</code>) that performs a runtime task (such as class generation) that a third bundle (<code>bundleC</code>) might need to know about, although <code>bundleC</code> does not explicitly depend on <code>bundleB</code>.</p>
+</div>
+<div class="paragraph">
+<p>For example, Hibernate uses CGLIB (code generation library) at runtime to generate proxies for persistent classes. Assume that a domain bundle in your application uses Hibernate for its persistent objects, and thus its <code>Import-Bundle</code> manifest header includes the Hibernate bundle. Further assume that a separate Web bundle uses reflection in its data-binding code, and thus needs to reflect on the persistent classes generated by Hibernate at runtime. The Web bundle now has an indirect dependency on the Hibernate bundle because of these dynamically generated classes, although the Web bundle does not typically care about the details of how these classes are persisted. One way to solve this dependency problem is to explicitly add the Hibernate bundle to the <code>Import-Bundle</code> header of the Web bundle; however, this type of explicit-specified dependency breaks the modularity of the application and is not a programming best practice.</p>
+</div>
+<div class="paragraph">
+<p>A better way to solve this problem is to specify that Virgo itself dynamically import
+the bundle (Hibernate in the example above) to all bundles in the application at runtime.
+You do this by adding the <code>import-scope:=application</code> directive to the <code>Import-Bundle</code> header
+of the bundle that has the direct dependency (the domain bundle in our example). At runtime, although the Web bundle
+does not explicitly import the Hibernate bundle, Virgo implicitly imports it and thus its classes are available
+to the Web bundle. This mechanism allows you to declare the dependencies you need to make your application run,
+without having to make changes to your application that might limit its flexibility.</p>
+</div>
+<div class="paragraph">
+<p>The following example shows how to use the <code>import-scope</code> directive with the <code>Import-Bundle</code> header:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Bundle: com.springsource.org.hibernate;version="[3.2.6.ga,3.2.6.ga]";import-scope:=application</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can also set the <code>import-scope</code> directive to the (default) value <code>bundle</code>; in this case, the scope of the bundle is just the bundle itself and thus Virgo does not perform any implicit importing into other bundles of the application.</p>
+</div>
+<div class="paragraph">
+<p>Note that use of the <code>import-scope:=application</code> directive of the <code>Import-Bundle</code> header only makes sense when the bundle is part of a scoped application (PAR or plan); if the bundle is not part of a scoped application, then this directive has no effect.</p>
+</div>
+<div class="paragraph">
+<p>Finally, because <code>import-scope:=application</code> implicitly adds a bundle import to each bundle of the PAR or plan, the impact of subsequently refreshing the imported bundle is, in general, broader than it would have been if you had not used <code>import-scope:=application</code>. This may well affect the performance of refresh.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-defining-libraries"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_defining_libraries">Defining Libraries</h4>
+<div class="paragraph">
+<p>Libraries are defined in a simple text file, typically with a <code>.libd</code> suffix. This file identifies the
+library and lists all of its constituent bundles. For example, the following is the library definition for
+Spring 2.5.4:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Library-SymbolicName: org.springframework.spring
+Library-Version: 2.5.4
+Library-Name: Spring Framework
+Import-Bundle: org.springframework.core;version="[2.5.4,2.5.5)",
+ org.springframework.beans;version="[2.5.4,2.5.5)",
+ org.springframework.context;version="[2.5.4,2.5.5)",
+ org.springframework.aop;version="[2.5.4,2.5.5)",
+ org.springframework.web;version="[2.5.4,2.5.5)",
+ org.springframework.web.servlet;version="[2.5.4,2.5.5)",
+ org.springframework.jdbc;version="[2.5.4,2.5.5)",
+ org.springframework.orm;version="[2.5.4,2.5.5)",
+ org.springframework.transaction;version="[2.5.4,2.5.5)",
+ org.springframework.context.support;version="[2.5.4,2.5.5)",
+ org.springframework.aspects;version="[2.5.4,2.5.5)",
+ com.springsource.org.aopalliance;version="1.0"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following table lists all of the headers that may be used in a library definition:</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-defining-libraries-library-headers-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 4. Library definition headers</caption>
+<colgroup>
+<col style="width: 28%;">
+<col style="width: 71%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Header</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Library-SymbolicName</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Identifier for the library</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Library-Version</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Version number for the library</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Import-Bundle</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A comma separated list of bundle symbolic names.
+ Each entry may optionally specify a version (using the <code>version=</code> directive)
+ and the scope of the import (using the <code>import-scope</code> directive).</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Library-Name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Optional. The human-readable name of the library</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Library-Description</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Optional. A human-readable description of the library</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="developing-applications-installing-dependencies"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing_dependencies">Installing Dependencies</h4>
+<div class="paragraph">
+<p>Rather than encouraging the packaging of all an application’s dependencies within the application itself, Virgo
+uses a local provisioning repository of bundles and libraries upon which an application can depend. When the Virgo
+encounters an application with a particular dependency, it will automatically provide, from its provisioning repository,
+the appropriate bundle or library.</p>
+</div>
+<div class="paragraph">
+<p>Making a dependency available for provisioning is simply a matter of copying it to the appropriate location in the
+Virgo’s local provisioning repository. By default this is
+<code>SERVER_HOME/repository/usr</code>. A more detailed discussion of the provisioning
+repository can be found in the <a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-application-trace"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_application_trace">Application Trace</h3>
+<div class="paragraph">
+<p>As described in the <a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a> Virgo provides support for
+per-application trace for PARs, scoped Plans and WABs. Virgo provides SLF4J with Logback logging for Event Logging and Tracing.
+Application trace is configured in the <code>serviceability.xml</code> file.
+See the <a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a> for more details.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-versioning"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_application_versioning">Application Versioning</h3>
+<div class="paragraph">
+<p>In much the same way that individual OSGi bundles can be versioned, Virgo allows applications to be versioned. How exactly you do this depends on how you have packaged the application:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If you package your application using a PAR, you version the application by using the <code>Application-Version</code> header in the <code>MANIFEST.MF</code> file of the PAR file.</p>
+</li>
+<li>
+<p>If you use a plan to describe the artifacts that make up your application, you version it by using the <code>version</code> attribute of the <code><plan></code> root element of the plan’s XML file.</p>
+</li>
+<li>
+<p>If your application consists of a single bundle, you version it in the standard OSGi way: by using the <code>Bundle-Version</code> header of the <code>MANIFEST.MF</code> file of the bundle.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Virgo uses an application’s version to prevent clashes when multiple versions of the same application are deployed at
+the same time. For example, the application trace support described in <a href="#developing-applications-application-trace">Application Trace</a>,
+includes the application’s name and version in the file path. This ensures that each version of the same application has its
+own trace or logging file.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:51 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/formtags-case-study.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/formtags-case-study.html
new file mode 100644
index 0000000..f5d5ea8
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/formtags-case-study.html
@@ -0,0 +1,1664 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Case Study: Migrating the Form Tags Sample Application</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="formtags-case-study"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_case_study_migrating_the_form_tags_sample_application">Case Study: Migrating the Form Tags Sample Application</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Migrating Form Tags</p>
+</div>
+<div class="paragraph">
+<p>In this chapter we will walk through the steps needed to migrate the
+Form Tags sample application from a standard Java EE WAR to a fully
+OSGi compliant <strong>Shared Services WAR</strong> within a PAR.
+The migration involves four packaging and deployment formats:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p><a href="#formtags-case-study-war">Standard WAR</a></p>
+</li>
+<li>
+<p><a href="#formtags-case-study-war-shared-libs">Shared Libraries WAR</a></p>
+</li>
+<li>
+<p><a href="#formtags-case-study-war-shared-services">Shared Services WAR</a></p>
+</li>
+<li>
+<p><a href="#formtags-case-study-par">PAR with a shared services WAR</a></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Each of these migration steps will produce a web application
+that can be deployed and run on the VTS.</p>
+</div>
+<div class="paragraph">
+<p>After summarising the process, an example <code>plan</code>
+is shown which is another way of packaging and deploying the application.</p>
+</div>
+<div class="paragraph">
+<p>The following image displays the directory structure you should have
+after installing the Form Tags sample. Note however that the release
+tag will typically resemble <code>3.0.0.RELEASE</code>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-sample-layout.png" alt="formtags case study sample layout"></span></p>
+</div>
+<div class="paragraph">
+<p>The <code>dist</code> directory contains the distributables,
+and the <code>projects</code> directory contains the source code and build scripts.</p>
+</div>
+<div class="paragraph">
+<p>For simplicity, this chapter will focus on the distributables—which
+are built using Virgo-Build rather than on configuring a project in an IDE.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Pre-packaged distributables are made available in the <code>dist</code> directory;
+however, if you would like to modify the samples or build
+them from scratch, you may do so using Virgo-Build. Take a look at
+the <code>README.TXT</code> file in each of the folders under the <code>projects</code>
+directory in the Form Tags sample for instructions.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-introduction"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_overview_of_the_form_tags_sample_application">Overview of the Form Tags Sample Application</h3>
+<div class="paragraph">
+<p>The sample that we will be using is the Form Tags show case
+sample
+which was provided with Spring 2.0. The Form Tags application
+has
+been removed from the official Spring 2.5.x distributions;
+however,
+since it is relatively simple but still contains enough
+ingredients
+to demonstrate the various considerations required during
+a migration,
+we have chosen to use it for these examples.</p>
+</div>
+<div class="paragraph">
+<p>The purpose of the Form Tags show case sample was to demonstrate how
+the Spring specific
+<code>form:</code>
+tags, released
+in Spring 2.0, make view development with JSPs and tag
+libraries easier.
+The Form Tags application consists of a single
+<code>UserService</code>
+which returns a list
+of
+<code>Users</code>
+. Furthermore, the application demonstrates how to list, view,
+and
+edit
+<code>Users</code>
+in a simple Spring MVC based web application using JSP
+and JSTL.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_war">Form Tags WAR</h3>
+<div class="paragraph">
+<p>We begin with a standard WAR deployment.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The VTS supports the standard Java EE WAR
+packaging
+and deployment format as a first-class citizen, and there
+are many
+benefits to deploying a standard WAR file on the
+VTS including,
+but not limited to: tooling
+support, runtime error diagnostics, FFDC
+(first failure data
+capture), etc.
+In addition, support for standard WAR deployment
+provides an easy on-ramp
+for trying out the
+VTS with existing web applications.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The following screen shot displays the directory structure of the
+Form Tags application using the standard WAR format. As you can see,
+there is no deviation from the standard structure and layout, and as
+you would expect, all of the web application’s third-party
+dependencies
+(for example: Spring, Commons Logging) are packaged as
+JARs in
+<code>WEB-INF/lib</code>
+.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-exploded-war.png" alt="formtags case study exploded war"></span></p>
+</div>
+<div class="paragraph">
+<p>To deploy this application, simply copy
+<code>dist/formtags-war-3.0.0.*.war</code>
+to
+the
+<code>SERVER_HOME/pickup</code>
+directory for hot deployment.</p>
+</div>
+<div class="paragraph">
+<p>You should then see the VTS produce
+console output similar to the following:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 14:54:45.135] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-war-3.0.0.RELEASE.war'.
+[2009-07-01 14:54:45.797] fs-watcher
+ <SPDE0010I> Deployment of 'formtags-war-3.0.0.RELEASE.war' version '0' completed.
+[2009-07-01 14:54:45.797] Thread-20
+ <SPWE0000I> Starting web bundle '/formtags-war-3.0.0.RELEASE'.
+[2009-07-01 14:54:46.380] Thread-20
+ <SPWE0001I> Started web bundle '/formtags-war-3.0.0.RELEASE'.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Navigate to
+<code><a href="http://localhost:8080/" class="bare">http://localhost:8080/</a></code>
+plus the web application context path,
+which in the above case is
+<code>formtags-war-3.0.0.RELEASE</code>
+. Thus navigating to
+<code><a href="http://localhost:8080/formtags-war-3.0.0.RELEASE" class="bare">http://localhost:8080/formtags-war-3.0.0.RELEASE</a></code>
+should render the sample application’s welcome page, as
+displayed in the screen
+shot below.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>For WARs, the default web context path is the name of the WAR file
+without the
+<code>.war</code>
+extension. You can optionally
+specify a context path using the
+<code>Web-ContextPath</code>
+bundle
+manifest header, which will be described in further detail
+later.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-war-webpage.png" alt="formtags case study war webpage"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war-shared-libs"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_shared_libraries_war">Form Tags Shared Libraries WAR</h3>
+<div class="paragraph">
+<p>As mentioned above, a standard WAR file typically packages of all its
+required
+dependencies in
+<code>WEB-INF/lib</code>
+. The servlet container will
+then add all of the JARs in
+<code>WEB-INF/lib</code>
+to the application’s
+classpath.</p>
+</div>
+<div class="paragraph">
+<p>The first step of the migration towards benefiting from an OSGi
+container is to retrieve the dependencies from the
+VTS’s bundle
+repository at runtime. This
+can significantly reduce the time it takes to build
+and deploy the
+application. It also enables the enforcement of policies
+regarding the
+use of third-party libraries.</p>
+</div>
+<div class="paragraph">
+<p>The way in which dependencies are declared in an OSGi environment is
+via manifest headers in a bundle’s
+<code>/META-INF/MANIFEST.MF</code>
+.
+As mentioned in <a href="#developing-applications">[developing-applications]</a>, there are
+three ways of expressing dependencies:
+<code>Import-Package</code>,
+<code>Import-Bundle</code> and
+<code>Import-Library</code>.</p>
+</div>
+<div class="paragraph">
+<p>The Form Tags application uses JSTL standard tag libraries.
+Thus, you
+need to choose a JSTL provider, for example the
+Apache implementation
+which comes with the VTS. To use the
+Apache
+implementation of JSTL, you need to express your dependency
+as
+outlined in the following manifest listing.
+Because it is a single
+bundle,
+<code>Import-Bundle</code>
+is
+the simplest and therefore preferred manifest header to use.</p>
+</div>
+<div class="paragraph">
+<p>The Form Tags application requires commons-logging and Spring.
+It
+would be very painful to have to list all the Spring packages one by
+one.
+Equally, considering the number of bundles that make up the
+Spring framework, it would be verbose to list each bundle. Therefore
+<code>Import-Library</code>
+is the preferred approach
+for expressing the dependency on the Spring
+framework.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>How do you determine the name of a library definition provided
+by the Virgo for Apache Tomcat? Use the <a href="http://www.eclipse.org/ebr">EBR</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Examine the
+<code>/META-INF/MANIFEST.MF</code>
+in
+<code>/dist/formtags-shared-libs-*.war</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.7.0
+Created-By: 1.5.0_13-119 (Apple Inc.)
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.springframework.showcase.formtags-shared-libs
+Import-Library: org.springframework.spring;version="[3.0.0,4.0.0)"
+Import-Bundle: com.springsource.org.apache.taglibs.standard;version="1
+ .1.2"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can see the
+<code>Import-Library</code>
+and
+<code>Import-Bundle</code>
+directives that instruct the VTS to add the
+appropriate package imports to the bundle
+classpath used by this WAR file.</p>
+</div>
+<div class="paragraph">
+<p>Deploying the shared libraries WAR onto the
+VTS should result
+in console output similar to
+the following:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 15:00:14.953] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-shared-libs-3.0.0.RELEASE.war'.
+[2009-07-01 15:00:15.363] fs-watcher
+ <SPDE0010I> Deployment of 'org.springframework.showcase.formtags_shared_libs' version '2' completed.
+[2009-07-01 15:00:15.364] Thread-20
+ <SPWE0000I> Starting web bundle '/formtags-shared-libs-3.0.0.RELEASE'.
+[2009-07-01 15:00:15.816] Thread-20
+ <SPWE0001I> Started web bundle '/formtags-shared-libs-3.0.0.RELEASE'.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Navigating to
+<code><a href="http://localhost:8080/formtags-shared-libs-BUILDTAG" class="bare">http://localhost:8080/formtags-shared-libs-BUILDTAG</a>
+`
+should render the welcome page. Note that for the pre-packaged
+distributable,
+the
+`BUILDTAG</code>
+should be similar to
+<code>3.0.0.RELEASE</code>
+;
+whereas, for a local build the
+<code>-BUILDTAG</code>
+may be completely
+omitted. Please consult the console output,
+web-based admin console, or log
+to determine the exact context path
+under which the web application has been deployed.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war-shared-services"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_shared_services_war">Form Tags Shared Services WAR</h3>
+<div class="paragraph">
+<p>The next step in the migration is to deploy the services as a
+separate
+OSGi bundle which the WAR then references.
+The Form Tags
+sample has a single service
+<code>UserManager</code>.</p>
+</div>
+<div class="paragraph">
+<p>This scenario has two separate deployables, the
+<code>service</code>
+bundle and the WAR file.
+The following image shows the two separate
+source trees:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-shared-services-eclipse.png" alt="formtags case study shared services eclipse"></span></p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Note that the WAR does not contain the
+<code>.domain</code>
+or
+<code>.service</code>
+packages as these will be imported from the separate service bundle.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war-shared-services-service"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_the_service_bundle">The Service Bundle</h4>
+<div class="paragraph">
+<p>The responsibility of the first bundle (
+<code>formtags-shared-services-service</code>
+)
+is to provide the API of the formtags service. This includes both
+the
+domain and the service API. In the same way that imports are
+defined
+in the
+<code>/META-INF/MANIFEST.MF</code>
+, so are exports.
+The following is the
+<code>/META-INF/MANIFEST.MF</code>
+listing from the service bundle.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.7.0
+Created-By: 1.5.0_13-119 (Apple Inc.)
+Bundle-ManifestVersion: 2
+Bundle-Name: FormTags Service (and implementation)
+Bundle-SymbolicName: org.springframework.showcase.formtags.service-shared-services
+Export-Package: org.springframework.showcase.formtags.service,org.spri
+ ngframework.showcase.formtags.domain
+Import-Library: org.springframework.spring;version="[3.0.0,4.0.0)"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The symbolic name of this bundle is
+<code>org.springframework.showcase.formtags.service-shared-services</code>.
+Note that the name of the bundle typically describes the package that the bundle primarily exports.
+If you take a look at the <code>repository/bundles/ext</code> in the VTS
+directory, you’ll see that
+names are almost always indicative of the contents of the bundle.
+For this example, however, we have also appended
+“-shared-services”
+in order to avoid possible clashes with other bundle symbolic
+names.
+You will see later that the PAR also contains a service
+bundle.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>In OSGi, the combination of
+<code>Bundle-SymbolicName</code>
+and
+<code>Bundle-Version</code>
+is used to uniquely identify
+a bundle within the OSGi container.
+Furthermore, when you deploy
+a bundle to the Virgo for Apache Tomcat,
+for example via the
+<code>pickup</code>
+directory, a bundle’s filename is also used to uniquely
+identify it for
+the purpose of supporting
+<strong>hot deployment</strong>
+via
+the file system.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>As well as exporting types (i.e. the domain classes and service
+API), the service bundle also publishes an implementation of the
+<code>UserManager</code>
+. The actual implementation is
+<code>StubUserManager</code>
+; however, that should remain an
+implementation detail of this
+bundle.</p>
+</div>
+<div class="paragraph">
+<p>The fact that this bundle publishes a service is not captured in
+the
+<code>/META-INF/MANIFEST.MF</code>
+, as it is a Gemini Blueprint concept.
+The following image is of
+<code>src/main/resources/spring</code>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-shared-services-service-resources.png" alt="formtags case study shared services service resources"></span></p>
+</div>
+<div class="paragraph">
+<p>As you can see there are two Spring configuration files:
+<code>module-context.xml</code>
+and
+<code>osgi-context.xml</code>.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>These names are abitrary; however, they follow an informal
+convention:
+<code>module-context.xml</code>
+typically bootstraps the Spring context
+(usually delegating to
+smaller fine grained context files inside another directory),
+whilst
+<code>osgi-context.xml</code>
+contains all the OSGi service exports and references.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The following is a listing of
+<code>module-context.xml</code>
+.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+ <bean id="userManager"
+ class="org.springframework.showcase.formtags.service.internal.StubUserManager"/>
+
+</beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>As you can see, this simply defines a bean called
+<code>userManager</code>
+.
+The following is a listing of
+<code>osgi-context.xml</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?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: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/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <service ref="userManager"
+ interface="org.springframework.showcase.formtags.service.UserManager"/>
+
+</beans:beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This single bean definition exports the
+<code>userManager</code>
+defined in
+<code>module-context.xml</code>
+to the
+OSGi service registry and makes it available under the public
+`org.springframework.showcase.formtags.service.UserManager
+`
+API.</p>
+</div>
+<div class="paragraph">
+<p>The service bundle should now be ready to deploy on the
+VTS.
+So copy
+<code>/dist/formtags-shared-services-services*</code>
+to the
+<code>SERVER_HOME/pickup</code>
+directory.
+Output similar to the following should appear in the
+VTS’s console:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 15:05:03.511] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-shared-services-service-2.0.0.RELEASE.jar'.
+[2009-07-01 15:05:03.688] fs-watcher
+ <SPDE0010I> Deployment of 'org.springframework.showcase.formtags.service_shared_services' version '2.0.0.RELEASE' completed.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war-shared-services-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_accessing_the_service_and_types_from_the_war">Accessing the Service and Types from the WAR</h4>
+<div class="paragraph">
+<p>The WAR file now needs to access the types and service exported
+by
+the service bundle. The following listing is the WAR’s
+<code>/META-INF/MANIFEST.MF</code>
+which imports the types
+exported by the service bundle. The
+<code>Import-Bundle</code>
+statement has also been extended to import
+<code>org.springframework.osgi.core</code>
+,
+which is necessary in order to load an OSGi-enabled
+<code>WebApplicationContext</code>
+.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.7.0
+Created-By: 1.5.0_13-119 (Apple Inc.)
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.springframework.showcase.formtags.web-shared-
+ services
+Import-Package: org.springframework.showcase.formtags.domain,org.sprin
+ gframework.showcase.formtags.service, org.eclipse.virgo.web.dm;version="[1.0,2.1)"
+Import-Library: org.springframework.spring;version="[2.5.4,3.1.0)"
+Import-Bundle: com.springsource.org.apache.taglibs.standard;version="1
+ .1.2",org.springframework.osgi.core</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In addition to importing the exported types of the service bundle,
+the WAR must also obtain a reference to the
+<code>UserManager</code>
+published by the service bundle. The following image shows the
+directory
+structure of the Shared Services WAR.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-shared-services-war-resources.png" alt="formtags case study shared services war resources"></span></p>
+</div>
+<div class="paragraph">
+<p>As you can see in the above image, the Form Tags Shared Services
+WAR’s
+<code>/WEB-INF/web.xml</code>
+directory contains a standard
+<code>web.xml</code>
+deployment descriptor,
+<code>applicationContext.xml</code>
+which defines the configuration
+for the
+<strong>root</strong>
+<code>WebApplicationContext</code>
+, and
+<code>formtags-servlet.xml</code>
+which defines the configuration specific to the
+configured
+<strong>formtags</strong>
+<code>DispatcherServlet</code>
+.</p>
+</div>
+<div class="paragraph">
+<p>As is typical for Spring MVC based web applications, you configure a
+<code>ContextLoaderListener</code>
+in
+<code>web.xml</code>
+to load your root
+<code>WebApplicationContext</code>
+; however, to enable your
+<code>WebApplicationContext</code>
+to be able to reference services from the OSGi Service Registry,
+you
+must explicitly set the
+<code>contextClass</code>
+Servlet context parameter to the fully qualified
+class name of a
+<code>ConfigurableWebApplicationContext</code>
+which is OSGi-enabled. When deploying
+Shared Services WARs to the
+Virgo for Apache Tomcat, you should use
+<code>org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext</code>.
+This will then enable the use of Gemini Blueprint’s <code><reference …​ /></code>
+within your root <code>WebApplicationContext</code> (i.e., in <code>applicationContext.xml</code>).
+The following listing is an excerpt from <code>/WEB-INF/web.xml</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><context-param>
+ <param-name>contextClass</param-name>
+ <param-value>org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext</param-value>
+</context-param>
+
+<listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+</listener></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The Form Tags Shared Services WAR contains a
+<code>/WEB-INF/applicationContext.xml</code>
+file which is the default configuration location used to create the
+<strong>root</strong>
+<code>WebApplicationContext</code>
+for Spring MVC’s
+<code>ContextLoaderListener</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>As already mentioned, in the OSGi world, bundle configuration
+takes
+place in the root
+<code>/META-INF/</code>
+directory.
+Typically Gemini Blueprint powered configuration files will live
+there as well (e.g., in
+<code>/META-INF/spring/*.xml</code>
+).
+In a WAR, however, the root
+<code>WebApplicationContext</code>
+loaded by
+<code>ContextLoaderListener</code>
+and the
+<code>DispatcherServlet’s</code>
+application context typically live in
+<code>/WEB-INF/</code>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The following is the listing of the WAR’s
+<code>/WEB-INF/applicationContext.xml</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?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: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/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <reference id="userManager"
+ interface="org.springframework.showcase.formtags.service.UserManager"/>
+
+</beans:beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The single bean declaration is retrieving a service that implements
+the
+`org.springframework.showcase.formtags.service.UserManager
+`
+API from the OSGi Service Registry.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>You might have been expecting a reference to the service bundle,
+but that isn’t how OSGi works. OSGi provides a service
+registry, and this bean definition is accessing a service in that
+registry that meets the specified restriction (i.e. implements
+the
+specified interface). This leads to a very loosely coupled
+programming model: the WAR really doesn’t care where the
+implementation
+comes from.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>What happens if there is no service at runtime?
+What if there are
+multiple services that match the criteria?
+Gemini Blueprint provides a lot
+of configuration options, including
+whether or not the reference is
+<strong>mandatory</strong>
+,
+how long to wait for a service reference, etc. Please consult the
+<a href="https://www.eclipse.org/gemini/blueprint/documentation/reference/2.0.0.RELEASE/html/index.html">Eclipse Gemini Blueprint Reference Guide</a> for further information.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>One of the benefits of programming to interfaces is that you
+are
+decoupled from the actual implementation; Gemini Blueprint provides a
+proxy. This
+has enormous benefits including the ability to
+dynamically refresh individual bundles without
+cascading that
+refresh to unrelated bundles.</p>
+</div>
+<div class="paragraph">
+<p>To deploy the WAR, copy
+<code>/dist/formtags-shared-services-war*</code>
+to the
+<code>SERVER_HOME/pickup</code>
+directory.
+You should then see console output similar to the
+following:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 15:09:19.819] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-shared-services-war-3.0.0.RELEASE.war'.
+[2009-07-01 15:09:20.167] fs-watcher
+ <SPDE0010I> Deployment of 'org.springframework.showcase.formtags.web_shared_services' version '3' completed.
+[2009-07-01 15:09:20.168] Thread-20
+ <SPWE0000I> Starting web bundle '/formtags-shared-services-war-3.0.0.RELEASE'.
+[2009-07-01 15:09:20.647] Thread-20
+ <SPWE0001I> Started web bundle '/formtags-shared-services-war-3.0.0.RELEASE'.
+----</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Navigating to the appropriate link should render the welcome page.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-par"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_par">Form Tags PAR</h3>
+<div class="paragraph">
+<p>The final step in the migration is that of a full blown
+OSGi
+application with web support. The Virgo for Apache Tomcat introduces a
+new packaging and deployment format: the PAR.</p>
+</div>
+<div class="paragraph">
+<p>A PAR is a standard JAR with a “.par”
+file extension which contains all of the modules of your
+application (e.g., service, domain, and infrastructure bundles
+as well
+as a WAR for web applications) in a single deployment unit.
+Moreover,
+a PAR defines both a physical and logical application boundary.</p>
+</div>
+<div class="paragraph">
+<p>The PAR sample is comprised of four directories, as shown below.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-par-sample.png" alt="formtags case study par sample"></span></p>
+</div>
+<div class="paragraph">
+<p>The
+<code>formtags-par</code>
+directory is a build project that
+understands how to create the PAR
+from its constituent bundles.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-par-granularity"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_granularity_of_the_par">Granularity of the PAR</h4>
+<div class="paragraph">
+<p>Achieving the appropriate level of granularity for your OSGi
+application is more of an art than a science. It helps to look
+at the
+different requirements:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 1. Granularity drivers</caption>
+<colgroup>
+<col style="width: 40%;">
+<col style="width: 60%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Requirement</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain/Technical Layering</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Applications can be split either by domain (i.e.,
+ by use case or
+ <strong>vertically</strong>
+ ) or
+ by their technical layers (i.e.,
+ <strong>horizontally</strong>
+ ).
+ Since the Form Tags application essentially has only
+ a single
+ use case, the bundles are split by technical layering
+ (i.e.,
+ domain, service, and web).</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Refreshability</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A major benefit of OSGi is that of refreshability: if one
+ bundle
+ is changed, only bundles that have a dependency upon
+ the
+ exported types need to be refreshed. This has a high impact
+ on
+ development time costs as well as production
+ costs. However,
+ this can lead to lots of smaller, fine grained
+ bundles. An
+ example of this granularity would be to
+ separate out the service
+ API and implementation into two different
+ bundles. This means
+ that a change in the implementation
+ wouldn’t require any
+ other bundles to be refreshed.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Ultimately the right level of granularity will depend upon your
+particular application and team.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-par-domain-and-service"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_domain_and_service_bundles">Domain and Service Bundles</h4>
+<div class="paragraph">
+<p>The service bundle is identical (except for the
+<code>Bundle-SymbolicName</code>
+) to that
+in the shared-services variation of the sample.
+The PAR has
+also separated out the domain classes into their own bundle.
+When
+layering by technical considerations, it is again
+somewhat of an
+unofficial convention to have a
+<code>.domain</code>
+bundle.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-par-par"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_constructing_the_par">Constructing the PAR</h3>
+<div class="paragraph">
+<p>Finally we need to construct the PAR itself.
+The following are
+the contents of the exploded PAR.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-par-exploded.png" alt="formtags case study par exploded"></span></p>
+</div>
+<div class="paragraph">
+<p>You can see that the PAR itself doesn’t contain any
+resources or
+Java classes: it simply packages together a related set
+of bundles
+as a single, logical unit.</p>
+</div>
+<div class="paragraph">
+<p>The PAR does however, contain its own
+<code>/META-INF/MANIFEST.MF</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Application-SymbolicName: org.springframework.showcase.formtags-par
+Application-Version: 3.0.0
+Application-Name: FormTags Showcase Application (PAR)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For more information on the contents of the PAR’s
+<code>/META-INF/MANIFEST.MF</code>
+, please consult <a href="#developing-applications">[developing-applications]</a>.</p>
+</div>
+<div class="paragraph">
+<p>You can now deploy the PAR on the VTS, for
+example by copying
+<code>/dist/formtags-par*.par</code>
+to the VTS’s
+<code>pickup</code>
+directory.
+You should then see console output similar to the
+following:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 15:13:43.306] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-par-2.0.0.RELEASE.par'.
+[2009-07-01 15:13:44.060] fs-watcher
+ <SPDE0010I> Deployment of 'formtags-par' version '2.0.0.RELEASE' completed.
+[2009-07-01 15:13:44.068] Thread-20
+ <SPWE0000I> Starting web bundle '/formtags-par'.
+[2009-07-01 15:13:45.212] Thread-20
+ <SPWE0001I> Started web bundle '/formtags-par'.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Navigate to <a href="http://localhost:8080/formtags-par" class="bare">http://localhost:8080/formtags-par</a> to see the welcome page.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Note that the web application’s context path is explicitly
+defined via the
+<code>Web-ContextPath</code>
+manifest header in
+<code>/META-INF/MANIFEST.MF</code>
+of the Web application bundle within the PAR.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-summary"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_summary_of_the_form_tags_migration">Summary of the Form Tags Migration</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat provides out-of-the-box support for
+deploying
+standard Java EE WAR files. In addition support for
+<strong>Shared Libraries</strong>
+and
+<strong>Shared Services</strong>
+WAR formats provides a logical migration path away from standard,
+monolithic WARs toward OSGi-enable Web applications. The PAR
+packaging
+and deployment format enables truly fine-grained,
+loosely-coupled, and
+efficient application development. In general,
+the migration steps
+presented in this chapter are fairly
+straightforward, but developers
+should set aside time for some
+up-front design of the bundles themselves.</p>
+</div>
+<div class="paragraph">
+<p>It is recommended that you take another sample application or
+indeed your own small application and go through this migration
+process yourself. This will help you better understand the concepts
+and
+principles at work. In addition, it is highly recommended that you
+familiarize yourself with the extensive Eclipse IDE support provided
+by the Virgo Tools. See the Virgo Tools Guide for more on that.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-as-plan"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_as_a_plan">Form Tags as a Plan</h3>
+<div class="paragraph">
+<p>Plans (see <a href="#developing-applications-plans">[developing-applications-plans]</a>)
+allow us to package and deploy the Form Tags application in a more
+flexible way.
+Instead of packaging all the bundles of the application
+into a single PAR file, each bundle can be placed in the repository
+and referred to in a <strong>plan</strong>.</p>
+</div>
+<div class="paragraph">
+<p>The bundles to be placed in a repository in the chain (for example,
+<code>repository/usr</code>) are:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">org.springframework.showcase.formtags.domain-2.0.0.RELEASE.jar
+org.springframework.showcase.formtags.service-2.0.0.RELEASE.jar
+org.springframework.showcase.formtags.web-2.0.0.RELEASE.war</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>which are just those files which were part of the PAR.</p>
+</div>
+<div class="paragraph">
+<p>Here is the contents of a suitable plan file for the Form Tags
+example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+<plan name="formtags.plan" version="2.0.0" scoped="true" atomic="true"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+ <artifact type="bundle" name="org.springframework.showcase.formtags.domain_par" version="[3.0,3.1)"/>
+ <artifact type="bundle" name="org.springframework.showcase.formtags.service_par" version="[3.0,3.1)"/>
+ <artifact type="bundle" name="org.springframework.showcase.formtags.web_par" version="[3.0,3.1)"/>
+
+</plan></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>where we have chosen to use any of the artifacts in the version range [2.0,2.1).
+This plan (as a file called, for example, <code>formtags.plan</code>)
+can be deployed in any of the normal ways (for example, dropped in the <code>pickup</code> directory).</p>
+</div>
+<div class="paragraph">
+<p>When the plan is deployed, the artifacts it references are
+installed from the repository and deployed in the order given in the
+plan file.
+Because this plan is scoped and atomic, the collection is
+given an application scope and is started and stopped as a single
+unit.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:55 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/introduction.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/introduction.html
new file mode 100644
index 0000000..174350e
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/introduction.html
@@ -0,0 +1,686 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Introduction to the Virgo for Apache Tomcat</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_introduction_to_the_virgo_for_apache_tomcat">Introduction to the Virgo for Apache Tomcat</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>In this chapter, we provide an overview of the Virgo for Apache Tomcat focusing
+on what it is, what benefits it provides to developers and administrators,
+and why you should use it.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-what"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_what_is_the_virgo_for_apache_tomcat">What is the Virgo for Apache Tomcat?</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat, or VTS for short, is the runtime portion of the Eclipse Virgo.
+It is a lightweight, modular, OSGi-based runtime that provides a complete packaged solution for developing,
+deploying, and managing enterprise applications.
+By leveraging several best-of-breed technologies and improving upon
+them, the VTS offers a compelling solution to develop and deploy
+enterprise applications.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-constituents"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_what_makes_up_the_virgo_for_apache_tomcat">What Makes up the Virgo for Apache Tomcat?</h4>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat is built on top of the following core technologies:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://projects.spring.io/spring-framework/">Spring Framework</a>, obviously!</p>
+</li>
+<li>
+<p><a href="http://tomcat.apache.org/">Tomcat</a> as the web container.</p>
+</li>
+<li>
+<p><a href="http://www.osgi.org/Specifications/HomePage">OSGi R4.3</a>.</p>
+</li>
+<li>
+<p><a href="http://www.eclipse.org/equinox/">Equinox</a> as the OSGi implementation.</p>
+</li>
+<li>
+<p><a href="https://eclipse.org/gemini/blueprint/">Gemini Blueprint</a> for working with OSGi in a Spring application.</p>
+</li>
+<li>
+<p><a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.6.4.RELEASE/docs/virgo-tooling-guide/html/index.html">Tooling Guide</a> for developing applications.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Note, however, that the Virgo for Apache Tomcat isn’t just a combination
+of these technologies. Rather, it integrates and extends these
+technologies to provide many features essential for developing,
+deploying, and managing today’s enterprise Java applications.</p>
+</div>
+<div class="paragraph">
+<p>The following diagram presents a high-level overview of the VTS’s architecture.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/introduction-architecture.png" alt="introduction architecture"></span></p>
+</div>
+<div class="paragraph">
+<p>At the heart of the Virgo for Apache Tomcat is the Virgo Kernel or VK.
+The VK is an OSGi-based kernel that takes full advantage of the modularity
+and versioning of the OSGi platform. The VK builds on a base version of Virgo Nano or VN and extends its capabilities for
+provisioning and library management, as well as providing core functionality for the VTS. The VN maintains a minimal
+runtime footprint and startup time. It builds on top of a pure Equinox, extending it with more sophisticated diagnostics and supportability functionality.
+The VN supports full p2 provisioning. This feature is not included in the Virgo Nano Base that the VK is built on.</p>
+</div>
+<div class="paragraph">
+<p>To maintain a minimal runtime footprint, OSGi bundles are installed on demand by the
+VN. On subsequent restarts these core bundles are warm-started thus reducing the startup time. This allows for an application to be installed
+into a running VTS and for its dependencies to be satisfied from an external repository. Not only
+does this remove the need to manually install all your application dependencies, which would be tedious, but it also keeps memory usage to a minimum.</p>
+</div>
+<div class="paragraph">
+<p>As shown in the figure, VK runs on top of VN that extends Equinox within a standard Java
+Virtual Machine. Above the VK further layers contribute functionality
+to the VTS. Such as management and web application support.</p>
+</div>
+<div class="paragraph">
+<p>Version 3.7.0.RELEASE of the Virgo for Apache Tomcat supports <strong>bundle</strong>,
+<strong>plan</strong>, <strong>PAR</strong>, <strong>configuration</strong>,
+<strong>Web Application Bundle (WAB)</strong>, and <strong>WAR</strong> artifacts, which enable
+you to build sophisticated web applications. This includes support for
+standard Java EE WARs, "shared library" WARs, and "shared services" WARs, each of
+which will be covered in greater detail in <a href="#architecture">[architecture]</a>.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The Virgo Nano has a different provisioning system which isn’t included in the Virgo Nano Base on which the
+VK and the VTS are built.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Version 3.7.0.RELEASE of the Virgo Nano supports <strong>bundle</strong>,
+<strong>p2 feature</strong>, <strong>Web Application Bundle (WAB)</strong>, and <strong>WAR</strong> artifacts, which enable
+you to build sophisticated web applications too, taking full advantage of p2’s dependency resolution, automated download and fail-early mechanics.
+The Virgo Nano does NOT support <strong>plan</strong>, <strong>PAR</strong> or <strong>configuration</strong> artifacts.
+New <strong>features</strong> are provisioned via <strong>update sites</strong> or <strong>p2 repositories</strong>.
+Brief overview of p2 and it’s mechanics is available on <a href="http://bkapukaranov.wordpress.com/2011/07/12/rt-meets-p2/">this blog</a>.
+The VN’s default web container implementation is Gemini Web.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-why"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_why_the_virgo_for_apache_tomcat">Why the Virgo for Apache Tomcat?</h3>
+<div class="paragraph">
+<p>You could deploy a web application in a stand-alone servlet engine or application server.
+Or you could even deploy directly in an OSGi container such as Equinox. However,
+deploying in the Virgo for Apache Tomcat offers a number of key benefits that make it both more
+appealing and more suitable for enterprise application development.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-unified-deployment"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_deployment_options_and_migration_paths">Deployment Options and Migration Paths</h4>
+<div class="paragraph">
+<p>While many applications deployed in the Virgo for Apache Tomcat will take advantage
+of OSGi capabilities, not all applications need such sophistication.
+For example, development teams may initially choose to continue packaging
+existing web applications as standard WAR files and then gradually migrate
+toward a fully OSGi-based packaging and deployment model. The Virgo for Apache Tomcat
+makes such migrations easy for developers by supporting multiple packaging
+and deployment formats. These formats and migration strategies are discussed
+in greater detail in <a href="#migrating-to-osgi">[migrating-to-osgi]</a> and
+<a href="#formtags-case-study">[formtags-case-study]</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-simplified-deployment"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_simplified_development_and_deployment_of_osgi_based_applications">Simplified Development and Deployment of OSGi-based Applications</h4>
+<div class="paragraph">
+<p>Prior to the release of the Virgo for Apache Tomcat, developing and deploying OSGi
+applications involved inherent complexity such as:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Obtaining OSGi bundles for popular Java libraries:</strong>
+For optimal benefits, every technology you use in an OSGi application must
+be packaged as OSGi bundles. Sometimes, this involves manually converting
+JAR files into bundles and making sure that any libraries needed by those
+bundles are also available as OSGi bundles. The <a href="http://www.eclipse.org/ebr">EBR</a> is a good source of
+popular pre-bundled libraries.</p>
+</li>
+<li>
+<p><strong>Package management complexity:</strong>
+OSGi bundles use other bundles through <code>Import-Package</code> manifest headers.
+Many applications use a set of common technologies (e.g., an ORM solution,
+a web framework, etc.). Combining these two characteristics leads to duplicated
+configuration in the form of repeated and verbose <code>Import-Package</code> statements.</p>
+</li>
+<li>
+<p><strong>Lack of application-level isolation:</strong>
+In OSGi everything is a bundle, and all bundles share the same OSGi Service Registry.
+To highlight how conflicts can arise between applications and their services in this
+shared service registry, consider the following scenarios.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Application <code>A</code> is comprised of bundles <code>B</code> and <code>C</code>.
+In a standard OSGi environment, if you attempt to install two instances of the same
+version of application <code>A</code> (i.e., two sets of bundles <code>B</code> and
+<code>C</code>), a clash will occur, because you cannot deploy multiple bundles with
+the same <code>Bundle-SymbolicName</code> and <code>Bundle-Version</code> combination.</p>
+</li>
+<li>
+<p>Application <code>A1</code> is comprised of bundles <code>B1</code> and <code>C1</code>.
+Similarly, application <code>A2</code> is comprised of bundles <code>B2</code> and <code>C2</code>.
+Each bundle has a unique combination of <code>Bundle-SymbolicName</code> and <code>Bundle-Version</code>.
+Bundles <code>B1</code> and <code>B2</code> both export service <code>S</code> which
+is imported by both <code>C1</code> and <code>C2</code>. In contrast to the previous
+example, there is no conflict resulting from duplicate
+<code>Bundle-SymbolicName</code>/<code>Bundle-Version</code> combinations; however,
+there is a clash for the exported service <code>S</code>.
+Which service <code>S</code> will bundles <code>C1</code> and <code>C2</code> end up
+using once they are installed?
+Assuming bundles <code>B1</code> and <code>C1</code> are intended to work together,
+you would not want bundle <code>C1</code> to get a reference to service <code>S</code>
+from bundle <code>B2</code>, because it is installed in a different logical application.
+On the contrary, you typically want bundle <code>C1</code> to get a reference to
+service <code>S</code> exported by bundle <code>B1</code>, but in a standard OSGi environment
+this may not be the case.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Furthermore, since standard OSGi does not define a notion of an application as a set of bundles,
+you cannot deploy or undeploy an application and its constituent bundles as a single unit.</p>
+</div>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat introduces a number of features to solve these issues:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A full set of OSGi bundles for many popular Java libraries to get you
+started quickly with creating OSGi applications.</p>
+</li>
+<li>
+<p>An OSGi library concept that obviates the need to
+duplicate verbose <code>Import-Package</code> statements.</p>
+</li>
+<li>
+<p>The PAR packaging format which offers
+application-level isolation and deployment.</p>
+</li>
+<li>
+<p>The concept of a plan, which is an XML file that lists a collection of bundles that Virgo for Apache Tomcat should load together as a single application. Conceptually, plans are very like PARs, except that a plan describes the contents of the application rather than a PAR that actually contains them.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="introduction-diagnostics"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_enhanced_diagnostics_during_deployment_and_in_production">Enhanced Diagnostics During Deployment and in Production</h4>
+<div class="paragraph">
+<p>Identifying why an application won’t deploy or which particular library
+dependencies are unsatisfied is the cause of many headaches!
+Similarly, production time errors that don’t identify the root cause are
+all too familiar to Java developers. The VTS was designed from the
+ground up to enable tracing and First Failure Data Capture (FFDC) that
+empower developers with precise information at the point of failure to
+fix the problem quickly.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/known-issues.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/known-issues.html
new file mode 100644
index 0000000..6d94152
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/known-issues.html
@@ -0,0 +1,590 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Known Issues</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="known-issues"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_known_issues">Known Issues</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="known-issues-jpa"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_jpa_entity_scanning">JPA Entity Scanning</h3>
+<div class="paragraph">
+<p>Classpath scanning for JPA entities annotated with <code>@Entity</code> does
+not work. Describing entities with <code>@Entity</code> will work, but the
+entities need to be listed explicitly.</p>
+</div>
+<div class="paragraph">
+<p><a id="known.issues.proxy"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__code_classnotfounderror_code_when_creating_a_proxy"><code>ClassNotFoundError</code> When Creating a Proxy</h3>
+<div class="paragraph">
+<p>When creating proxies at runtime, there are circumstances where <code>ClassNotFoundErrors</code>
+can be generated. These errors happen because the proxy creating bundle does not have visibility into every
+type on the interface of the proxy. You can either put in import statements for all the relevant types or
+add use a service (with visibility of all pertinent types) to create the proxy. Please see
+<a href="http://www.osgi.org/blog/2008/08/classy-solutions-to-tricky-proxies.html">this blog entry</a>
+for more details.</p>
+</div>
+<div class="paragraph">
+<p><a id="known.issues.cglib"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_creating_proxies_with_cglib_for_package_protected_types">Creating proxies with CGLIB for Package Protected Types</h3>
+<div class="paragraph">
+<p>In traditional Java EE applications user types are loaded by the same <code>ClassLoader</code> as
+CGLIB. This allows CGLIB to proxy package-protected types. In OSGi environments, user types and CGLIB will
+most likely be packaged in separate bundles. This results in the user types and CGLIB being loaded by
+different <code>ClassLoaders</code>. This prevents CGLIB from proxying any package-protected types.</p>
+</div>
+<div class="paragraph">
+<p>The workaround for this issue is to make all types that require proxying public.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-jetty-restrictions"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_virgo_jetty_server_restrictions">Virgo Jetty Server Restrictions</h3>
+<div class="paragraph">
+<p>The following Jetty features are not supported.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Tag Libraries other than the standard Apache Tag Library.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-web-bundle-default-headers"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_default_web_application_bundle_headers">Default Web Application Bundle Headers</h3>
+<div class="paragraph">
+<p>The Gemini Web container conforms to the OSGi Web Applications specification and does not apply default values
+to the headers of a Web Application Bundle. However, SpringSource dm Server 2.0.x applies default values
+to certain headers (see <a href="#developing-applications-automatic-imports-web">Web Application Manifest
+Processing</a> for details) and so Virgo Web Server 2.1.x modified the behaviour of Gemini Web so that it applied default
+values consistently with dm Server 2.0.x.</p>
+</div>
+<div class="paragraph">
+<p>This behaviour is changed as of Virgo for Apache Tomcat 3.0. VTS now conforms strictly to the
+OSGi Web Applications specification.</p>
+</div>
+<div class="paragraph">
+<p>As a migration aid, <strong>which may not be supported in a future release</strong>, users may configure the VTS Web Integration
+Layer to apply default values to the headers of a Web Application Bundle.
+See "Configuring the Web Integration Layer" in the <a href="../../virgo-user-guide/html/index.html">User Guide</a> for details.</p>
+</div>
+<div class="paragraph">
+<p><a id="hibernate-resolution-issue"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_hibernate_resolution_issue">Hibernate Resolution Issue</h3>
+<div class="paragraph">
+<p>Applications using Hibernate 3.4.0.GA need to upgrade the JBoss Hibernate Entity manager fragment bundle to version 3.4.0.GA-A.
+The symptoms are that the application will fail to resolve due to missing imports of packages such as <code>org.hibernate.ejb.transaction</code>
+and JBoss Hibernate Annotations <code>com.springsource.org.hibernate.annotations</code>.
+See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=335174">bug 335174</a> for details.</p>
+</div>
+<div class="paragraph">
+<p>The JBoss Hibernate Entity manager fragment bundle <code>com.springsource.org.hibernate.ejb</code> v3.4.0.GA in the
+<a href="http://ebr.springsource.com/repository/app/">SpringSource Enterprise Bundle Repository</a>
+depends on the package <code>org.slf4j</code> with a version range that excludes the version of the
+package provided with Virgo. The net effect is that Hibernate EJB fragment bundle fails to attach to its host
+<code>com.springsource.org.hibernate</code> and the host then does not export the packages the application
+may need, such as <code>org.hibernate.ejb.transaction</code>.</p>
+</div>
+<div class="paragraph">
+<p>An updated JBoss Hibernate Entity manager fragment and JBoss Hibernate Annotations with versions 3.4.0.GA-A which fixes this
+problem is available from the <a href="http://ebr.springsource.com/repository/app/">SpringSource Enterprise Bundle Repository</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="scoping-and-substitutable-exports"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_scoping_and_substitutable_exports">Scoping and Substitutable Exports</h3>
+<div class="paragraph">
+<p>The restriction described in <a href="#developing-applications-plans-scoping">Plans and Scoping</a> that
+no package may be exported by more than one bundle in a given scope can cause problems for bundles with
+<strong>substitutable exports</strong>. A substitutable export is a package which is exported and imported
+by the same bundle. The OSGi framework will discard either the import or the export of the package when the
+bundle is resolved.</p>
+</div>
+<div class="paragraph">
+<p>However, if more than one bundle in a scope has a substitutable export of the same package, then Virgo will fail
+to deploy the scoped application because the above restriction appears to be broken. Virgo could only spot that
+the restriction was not actually being broken by second guessing the resolution behaviour of the OSGi framework,
+something that Virgo generally avoids because of the fragility of that approach.</p>
+</div>
+<div class="paragraph">
+<p>It may be possible to work around this issue by omitting one of the bundles containing the substitutable export
+from the scoped application.</p>
+</div>
+<div class="paragraph">
+<p>It may also be possible to work around this issue by moving the bundles containing the substitutable exports outside the scope,
+although this will not give correct behaviour if the bundles' exported packages need to be available for thread
+context class loading.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330643">bug 330643</a> for an example of this issue.</p>
+</div>
+<div class="paragraph">
+<p><a id="eclipselink-resolution-issue"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_eclipselink_resolution_issue">EclipseLink Resolution Issue</h3>
+<div class="paragraph">
+<p>Applications using EclipseLink may fail to resolve if the <code>osgi.enterprise</code> bundle is allowed to
+wire its <code>javax.persistence</code> package import to other than the EclipseLink <code>javax.persistence</code> bundle.</p>
+</div>
+<div class="paragraph">
+<p>To avoid this, install EclipseLink’s <code>javax.persistence</code> bundle early. To install this bundle before
+any applications are deployed, list the bundle in the <code>initialArtifacts</code> property described in the
+<a href="../../virgo-user-guide/html/index.html">User Guide</a>.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337826">bug 337826</a> for details.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:07:01 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/migrating-to-osgi.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/migrating-to-osgi.html
new file mode 100644
index 0000000..1ede936
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/migrating-to-osgi.html
@@ -0,0 +1,613 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Migrating to OSGi</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="migrating-to-osgi"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_migrating_to_osgi">Migrating to OSGi</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Taking on a new technology such as OSGi may seem a bit daunting at first,
+but a proven set of migration steps can help ease the journey. Teams
+wishing to migrate existing applications to run on the Virgo for Apache Tomcat
+will find that their applications typically fall into one of the following
+categories.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Web Application</strong>: for web applications,
+this chapter provides an overview of the steps required to migrate
+from a Standard WAR to a Shared Services WAR. Furthermore, the following
+chapter provides a detailed case study involving the migration
+of the Spring 3.0 Form Tags show case application.</p>
+</li>
+<li>
+<p><strong>Anything else</strong>: for any other type
+of application, you will typically either deploy your application
+as multiple individual bundles, as a single PAR file, or as a plan,
+which is the recommended approach for deploying applications on
+the Virgo for Apache Tomcat. See <a href="#migrating-to-osgi-par-plan">Migrating to a Plan or a PAR</a> for details.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_migrating_web_applications">Migrating Web Applications</h3>
+<div class="paragraph">
+<p>Many applications may start with the standard WAR format for web applications and
+gradually migrate to a more OSGi-oriented architecture. Since the Virgo for Apache Tomcat
+offers several benefits to all supported deployment formats, it provides a smooth
+migration path. Of course, depending on your application’s complexity and your
+experience with OSGi, you may choose to start immediately with an OSGi-based
+architecture.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web-standard-war"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_standard_war">Standard WAR</h4>
+<div class="paragraph">
+<p>If you are not yet familiar with OSGi or simply want to deploy an existing web application on the Virgo for Apache Tomcat,
+you can deploy a standard WAR and leverage the VTS with a minimal learning curve. In fact reading the
+<a href="../../virgo-user-guide/html/index.html">User Guide</a>
+is pretty much all that you need to do to get started. Furthermore, you will gain
+familiarity with the Virgo for Apache Tomcat, while preparing to take advantage of the other formats.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web-shared-libraries-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shared_libraries_war">Shared Libraries WAR</h4>
+<div class="paragraph">
+<p>The <strong>Shared Libraries WAR</strong>
+format is the first step to reaping the benefits of OSGi. In this phase, you dip your toes into OSGi-based dependency
+management by removing JAR files from the WAR and declaring dependencies on corresponding OSGi bundles.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web-shared-services-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shared_services_war">Shared Services WAR</h4>
+<div class="paragraph">
+<p>In this phase, you take the next step toward a fully OSGi-based architecture by separating your web artifacts
+(e.g., Servlets, Controllers, etc.) from the services they depend on.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web-summary"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_web_migration_summary">Web Migration Summary</h4>
+<div class="paragraph">
+<p>The following diagram graphically depicts the migration path from a Standard WAR to a Shared Services WAR.
+As you can see, the libraries (<strong>libs</strong>) move from within the deployment artifact
+to the Bundle Repository.
+Similarly, the services move from within the WAR to external bundles and are accessed via the
+OSGi Service Registry. In addition, the overall footprint of the deployment artifact decreases
+as you move towards a Shared Services WAR.
+<span class="image"><img src="assets/images/migration-path-war-to-shsrv.png" alt="migration path war to shsrv"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-par-plan"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_migrating_to_a_plan_or_a_par">Migrating to a Plan or a PAR</h3>
+<div class="paragraph">
+<p>The first steps to migrating an existing application to a plan or a PAR are the same: deciding on the bundles that make up the application and ensuring that their <code>Import-Package</code>, <code>Import-Library</code>, and <code>Import-Bundle</code> manifest headers are correct. Once you have the list of bundles that make up your application, you then decide whether you want to JAR them all into a single application file (PAR) or create a plan that simply lists the bundles by reference. Creating a plan is the recommend way to create an application, although PARs also have benefits that might suit your needs better, as described in <a href="#migrating-to-osgi-parplan-decide">Plan or PAR?</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-parplan-bundles"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_creating_the_application_bundles">Creating the Application Bundles</h4>
+<div class="paragraph">
+<p>When migrating an existing application to the PAR packaging and deployment format or a plan,
+you consider modularity as the prime objective. Following the ideas discussed in
+<a href="#architecture-forming-bundles">[architecture-forming-bundles]</a>, you refactor the application into multiple bundles.
+You may start conservatively with a small number of bundles and then further refactor those bundles.</p>
+</div>
+<div class="paragraph">
+<p>If the original code is crafted following good software practices such as separation of concerns and use of
+well-defined interfaces, migration may involve modifying only configuration and packaging. In other words,
+your Java sources will remain unchanged. Even configuration is likely to change only slightly.</p>
+</div>
+<div class="paragraph">
+<p>For example, the following diagram depicts a typical web application that has been refactored and
+packaged as a PAR. The blue elements within the <strong>Application</strong> box constitute
+the bundles of the application. Each of these bundles imports types from other bundles within
+the PAR using <code>Import-Package</code>. The green elements in the left column represent
+<strong>libraries</strong> installed on the VTS. The PAR’s bundles reference these
+libraries using <code>Import-Library</code>. The purple element in the left column
+represents a bundle within the VTS’s bundle repository which is imported by the DAO
+bundle using <code>Import-Bundle</code>. In contrast to a traditional, monolithic
+WAR deployment, the PAR format provides both a logical and physical application boundary
+and simultaneously allows the application to benefit from both the OSGi container and the Virgo for Apache Tomcat.
+<span class="image"><img src="assets/images/migrating-to-osgi-par-structure.png" alt="migrating to osgi par structure"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-parplan-decide"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_plan_or_par">Plan or PAR?</h4>
+<div class="paragraph">
+<p>Once you have refactored your existing application into separate OSGi bundles, you then must decide whether to package the bundles into a single PAR file or create a plan that lists the bundles by reference. As described in more detail in preceding sections of this guides, PARs and plans have similar benefits, such as:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Scoping</p>
+</li>
+<li>
+<p>Atomicity, or the ability to deploy and control the bundles as a single unit</p>
+</li>
+<li>
+<p>Versioning</p>
+</li>
+<li>
+<p>Improved serviceability</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Plans, the method most recommended by us to create your application, has the following added benefits:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Guaranteed order of deployment, based on the order in which they are listed in the plan’s XML file</p>
+</li>
+<li>
+<p>Ease of sharing content between plans and updating individual plans without having to physically repackage, due to the artifacts being listed by reference.</p>
+</li>
+<li>
+<p>Ability to disable scoping and atomicity, if desired.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The main benefit of PARS is that, because they physically contain all the required artifacts, you know exactly what bundles are deployed when you deploy the PAR file, in contrast to plans that allow content to be substituted or lost.</p>
+</div>
+<div class="paragraph">
+<p>For details about creating plans and PARs, see <a href="#developing-applications-plans">[developing-applications-plans]</a> and <a href="#developing-applications-packaging">[developing-applications-packaging]</a>, respectively.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:39:45 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/preface.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/preface.html
new file mode 100644
index 0000000..f1e64c7
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/preface.html
@@ -0,0 +1,491 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Preface</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_preface">Preface</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Increasing complexity in modern enterprise applications is a fact of life.
+Developers not only have to deal with complex business logic, but also a myriad
+of other concerns such as security, auditing, exposing business
+functionality to external applications, and managing the evolution of
+these concerns. The Spring Framework addresses these
+needs by offering a Plain-Old Java Object (POJO) based solution that
+lets you focus on your business logic.</p>
+</div>
+<div class="paragraph">
+<p>Complex applications pose problems that go beyond using the right set of
+technologies. You need to take into account other considerations such as
+a simplified development process, easy deployment, monitoring deployed
+applications, and managing changes in response to changing business needs.
+This is where the Eclipse Virgo comes into play. It offers a simple yet
+comprehensive platform to develop, deploy, and service enterprise
+applications. In this Programmer Guide, we explore the runtime portions of the
+Eclipse Virgo, the Virgo for Apache Tomcat, Virgo Jetty Server and the
+Virgo Kernel, and learn how to develop applications to benefit from their
+capabilities.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="title">For Virgo Kernel Programmers</div>
+<div class="paragraph">
+<p>Although this guide is written primarily for Virgo for Apache Tomcat programmers, much of it is also useful for
+Virgo Kernel programmers who should simply ignore the web-related sections.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="title">For Virgo Nano Programmers</div>
+<div class="paragraph">
+<p>This guide is written primarily for Virgo for Apache Tomcat programmers. Although a base version of Virgo Nano, without the new provisioning
+system, is used to build the Virgo for Apache Tomcat, much of this guide does not apply to Virgo Nano. The VN lacks regions support but has much
+improved runtime footprint and startup time and also provides support for p2 provisioning. The Virgo Nano features are covered better in the
+<a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-$3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:07:07 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/prerequisites.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/prerequisites.html
new file mode 100644
index 0000000..226f60d
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/prerequisites.html
@@ -0,0 +1,468 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Prerequisites</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="prerequisites-references"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_prerequisites">Prerequisites</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_runtime_environment">Runtime Environment</h3>
+<div class="paragraph">
+<p>Virgo requires Java SE 7 or later to be installed. Java is available from
+<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Oracle</a> and elsewhere.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_references">References</h3>
+<div class="paragraph">
+<p>To make effective use of the Virgo for Apache Tomcat, you should also refer to the following:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a></p>
+</li>
+<li>
+<p><a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.6.4.RELEASE/docs/virgo-tooling-guide/html/index.html">Tooling Guide</a></p>
+</li>
+<li>
+<p><a href="https://www.osgi.org/developer/specifications/">Blueprint Container Specification</a>(in the OSGi 4.2 and 5.0 Enterprise Specifications)</p>
+</li>
+<li>
+<p><a href="https://docs.spring.io/spring/docs/4.2.9.RELEASE/spring-framework-reference/">Spring Framework 4.2.9.RELEASE Reference Documentation</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/virgo-programmer-guide.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/virgo-programmer-guide.html
new file mode 100644
index 0000000..d8094f8
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-programmer-guide/html5/virgo-programmer-guide.html
@@ -0,0 +1,4542 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Virgo Programmer Guide</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+<h1>Virgo Programmer Guide</h1>
+<div id="toc" class="toc">
+<div id="toctitle">Table of Contents</div>
+<ul class="sectlevel1">
+<li><a href="#_preface">Preface</a></li>
+<li><a href="#_prerequisites">Prerequisites</a>
+<ul class="sectlevel2">
+<li><a href="#_runtime_environment">Runtime Environment</a></li>
+<li><a href="#_references">References</a></li>
+</ul>
+</li>
+<li><a href="#_introduction_to_the_virgo_for_apache_tomcat">Introduction to the Virgo for Apache Tomcat</a>
+<ul class="sectlevel2">
+<li><a href="#_overview">Overview</a></li>
+<li><a href="#_what_is_the_virgo_for_apache_tomcat">What is the Virgo for Apache Tomcat?</a></li>
+<li><a href="#_why_the_virgo_for_apache_tomcat">Why the Virgo for Apache Tomcat?</a></li>
+</ul>
+</li>
+<li><a href="#_deployment_architecture">Deployment Architecture</a>
+<ul class="sectlevel2">
+<li><a href="#_supported_deployment_formats">Supported Deployment Formats</a></li>
+<li><a href="#_dependency_types">Dependency Types</a></li>
+<li><a href="#_regions">Regions</a></li>
+<li><a href="#_a_guide_to_forming_bundles">A Guide to Forming Bundles</a></li>
+</ul>
+</li>
+<li><a href="#_developing_applications">Developing Applications</a>
+<ul class="sectlevel2">
+<li><a href="#_anatomy_of_a_bundle">Anatomy of a Bundle</a></li>
+<li><a href="#_creating_pars_and_web_applications">Creating PARs and Web Applications</a></li>
+<li><a href="#_creating_plans">Creating Plans</a></li>
+<li><a href="#_creating_and_using_configuration_artifacts">Creating and Using Configuration Artifacts</a></li>
+<li><a href="#_using_spring_and_gemini_blueprint">Using Spring and Gemini Blueprint</a></li>
+<li><a href="#_programmatic_access_to_the_servlet_context">Programmatic Access to the Servlet Context</a></li>
+<li><a href="#_web_application_manifest_processing">Web Application Manifest Processing</a></li>
+<li><a href="#_working_with_dependencies">Working with Dependencies</a></li>
+<li><a href="#_application_trace">Application Trace</a></li>
+<li><a href="#_application_versioning">Application Versioning</a></li>
+</ul>
+</li>
+<li><a href="#_migrating_to_osgi">Migrating to OSGi</a>
+<ul class="sectlevel2">
+<li><a href="#_migrating_web_applications">Migrating Web Applications</a></li>
+<li><a href="#_migrating_to_a_plan_or_a_par">Migrating to a Plan or a PAR</a></li>
+</ul>
+</li>
+<li><a href="#_case_study_migrating_the_form_tags_sample_application">Case Study: Migrating the Form Tags Sample Application</a>
+<ul class="sectlevel2">
+<li><a href="#_overview_of_the_form_tags_sample_application">Overview of the Form Tags Sample Application</a></li>
+<li><a href="#_form_tags_war">Form Tags WAR</a></li>
+<li><a href="#_form_tags_shared_libraries_war">Form Tags Shared Libraries WAR</a></li>
+<li><a href="#_form_tags_shared_services_war">Form Tags Shared Services WAR</a></li>
+<li><a href="#_form_tags_par">Form Tags PAR</a></li>
+<li><a href="#_constructing_the_par">Constructing the PAR</a></li>
+<li><a href="#_summary_of_the_form_tags_migration">Summary of the Form Tags Migration</a></li>
+<li><a href="#_form_tags_as_a_plan">Form Tags as a Plan</a></li>
+</ul>
+</li>
+<li><a href="#_working_with_common_enterprise_libraries">Working with Common Enterprise Libraries</a>
+<ul class="sectlevel2">
+<li><a href="#_working_with_hibernate">Working with Hibernate</a></li>
+<li><a href="#_working_with_datasources">Working with DataSources</a></li>
+<li><a href="#_weaving_and_instrumentation">Weaving and Instrumentation</a></li>
+<li><a href="#_jsp_tag_libraries">JSP Tag Libraries</a></li>
+</ul>
+</li>
+<li><a href="#_known_issues">Known Issues</a>
+<ul class="sectlevel2">
+<li><a href="#_jpa_entity_scanning">JPA Entity Scanning</a></li>
+<li><a href="#__code_classnotfounderror_code_when_creating_a_proxy"><code>ClassNotFoundError</code> When Creating a Proxy</a></li>
+<li><a href="#_creating_proxies_with_cglib_for_package_protected_types">Creating proxies with CGLIB for Package Protected Types</a></li>
+<li><a href="#_virgo_jetty_server_restrictions">Virgo Jetty Server Restrictions</a></li>
+<li><a href="#_default_web_application_bundle_headers">Default Web Application Bundle Headers</a></li>
+<li><a href="#_hibernate_resolution_issue">Hibernate Resolution Issue</a></li>
+<li><a href="#_scoping_and_substitutable_exports">Scoping and Substitutable Exports</a></li>
+<li><a href="#_eclipselink_resolution_issue">EclipseLink Resolution Issue</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Ramnivas Laddad<br>
+Colin Yates<br>
+Sam Brannen<br>
+Rob Harrop<br>
+Christian Dupuis<br>
+Andy Wilkinson<br>
+Glyn Normington<br>
+Steve Powell<br>
+Christopher Frost<br>
+Florian Waibel</p>
+</div>
+<div class="imageblock" style="float: right">
+<div class="content">
+<img src="assets/images/virgo-logo-small.png" alt="Eclipse Virgo">
+</div>
+</div>
+<div class="paragraph">
+<p>Eclipse Virgo<br>
+3.7.0.RELEASE<br>
+Copyright © 2009, 2011 VMware Inc. and others</p>
+</div>
+<hr>
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="_preface">Preface</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Increasing complexity in modern enterprise applications is a fact of life.
+Developers not only have to deal with complex business logic, but also a myriad
+of other concerns such as security, auditing, exposing business
+functionality to external applications, and managing the evolution of
+these concerns. The Spring Framework addresses these
+needs by offering a Plain-Old Java Object (POJO) based solution that
+lets you focus on your business logic.</p>
+</div>
+<div class="paragraph">
+<p>Complex applications pose problems that go beyond using the right set of
+technologies. You need to take into account other considerations such as
+a simplified development process, easy deployment, monitoring deployed
+applications, and managing changes in response to changing business needs.
+This is where the Eclipse Virgo comes into play. It offers a simple yet
+comprehensive platform to develop, deploy, and service enterprise
+applications. In this Programmer Guide, we explore the runtime portions of the
+Eclipse Virgo, the Virgo for Apache Tomcat, Virgo Jetty Server and the
+Virgo Kernel, and learn how to develop applications to benefit from their
+capabilities.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="title">For Virgo Kernel Programmers</div>
+<div class="paragraph">
+<p>Although this guide is written primarily for Virgo for Apache Tomcat programmers, much of it is also useful for
+Virgo Kernel programmers who should simply ignore the web-related sections.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="title">For Virgo Nano Programmers</div>
+<div class="paragraph">
+<p>This guide is written primarily for Virgo for Apache Tomcat programmers. Although a base version of Virgo Nano, without the new provisioning
+system, is used to build the Virgo for Apache Tomcat, much of this guide does not apply to Virgo Nano. The VN lacks regions support but has much
+improved runtime footprint and startup time and also provides support for p2 provisioning. The Virgo Nano features are covered better in the
+<a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-$3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="prerequisites-references"></a></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_prerequisites">Prerequisites</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_runtime_environment">Runtime Environment</h3>
+<div class="paragraph">
+<p>Virgo requires Java SE 7 or later to be installed. Java is available from
+<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Oracle</a> and elsewhere.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_references">References</h3>
+<div class="paragraph">
+<p>To make effective use of the Virgo for Apache Tomcat, you should also refer to the following:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a></p>
+</li>
+<li>
+<p><a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.6.4.RELEASE/docs/virgo-tooling-guide/html/index.html">Tooling Guide</a></p>
+</li>
+<li>
+<p><a href="https://www.osgi.org/developer/specifications/">Blueprint Container Specification</a>(in the OSGi 4.2 and 5.0 Enterprise Specifications)</p>
+</li>
+<li>
+<p><a href="https://docs.spring.io/spring/docs/4.2.9.RELEASE/spring-framework-reference/">Spring Framework 4.2.9.RELEASE Reference Documentation</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction_to_the_virgo_for_apache_tomcat">Introduction to the Virgo for Apache Tomcat</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>In this chapter, we provide an overview of the Virgo for Apache Tomcat focusing
+on what it is, what benefits it provides to developers and administrators,
+and why you should use it.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-what"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_what_is_the_virgo_for_apache_tomcat">What is the Virgo for Apache Tomcat?</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat, or VTS for short, is the runtime portion of the Eclipse Virgo.
+It is a lightweight, modular, OSGi-based runtime that provides a complete packaged solution for developing,
+deploying, and managing enterprise applications.
+By leveraging several best-of-breed technologies and improving upon
+them, the VTS offers a compelling solution to develop and deploy
+enterprise applications.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-constituents"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_what_makes_up_the_virgo_for_apache_tomcat">What Makes up the Virgo for Apache Tomcat?</h4>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat is built on top of the following core technologies:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://projects.spring.io/spring-framework/">Spring Framework</a>, obviously!</p>
+</li>
+<li>
+<p><a href="http://tomcat.apache.org/">Tomcat</a> as the web container.</p>
+</li>
+<li>
+<p><a href="http://www.osgi.org/Specifications/HomePage">OSGi R4.3</a>.</p>
+</li>
+<li>
+<p><a href="http://www.eclipse.org/equinox/">Equinox</a> as the OSGi implementation.</p>
+</li>
+<li>
+<p><a href="https://eclipse.org/gemini/blueprint/">Gemini Blueprint</a> for working with OSGi in a Spring application.</p>
+</li>
+<li>
+<p><a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.6.4.RELEASE/docs/virgo-tooling-guide/html/index.html">Tooling Guide</a> for developing applications.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Note, however, that the Virgo for Apache Tomcat isn’t just a combination
+of these technologies. Rather, it integrates and extends these
+technologies to provide many features essential for developing,
+deploying, and managing today’s enterprise Java applications.</p>
+</div>
+<div class="paragraph">
+<p>The following diagram presents a high-level overview of the VTS’s architecture.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/introduction-architecture.png" alt="introduction architecture"></span></p>
+</div>
+<div class="paragraph">
+<p>At the heart of the Virgo for Apache Tomcat is the Virgo Kernel or VK.
+The VK is an OSGi-based kernel that takes full advantage of the modularity
+and versioning of the OSGi platform. The VK builds on a base version of Virgo Nano or VN and extends its capabilities for
+provisioning and library management, as well as providing core functionality for the VTS. The VN maintains a minimal
+runtime footprint and startup time. It builds on top of a pure Equinox, extending it with more sophisticated diagnostics and supportability functionality.
+The VN supports full p2 provisioning. This feature is not included in the Virgo Nano Base that the VK is built on.</p>
+</div>
+<div class="paragraph">
+<p>To maintain a minimal runtime footprint, OSGi bundles are installed on demand by the
+VN. On subsequent restarts these core bundles are warm-started thus reducing the startup time. This allows for an application to be installed
+into a running VTS and for its dependencies to be satisfied from an external repository. Not only
+does this remove the need to manually install all your application dependencies, which would be tedious, but it also keeps memory usage to a minimum.</p>
+</div>
+<div class="paragraph">
+<p>As shown in the figure, VK runs on top of VN that extends Equinox within a standard Java
+Virtual Machine. Above the VK further layers contribute functionality
+to the VTS. Such as management and web application support.</p>
+</div>
+<div class="paragraph">
+<p>Version 3.7.0.RELEASE of the Virgo for Apache Tomcat supports <strong>bundle</strong>,
+<strong>plan</strong>, <strong>PAR</strong>, <strong>configuration</strong>,
+<strong>Web Application Bundle (WAB)</strong>, and <strong>WAR</strong> artifacts, which enable
+you to build sophisticated web applications. This includes support for
+standard Java EE WARs, "shared library" WARs, and "shared services" WARs, each of
+which will be covered in greater detail in <a href="#architecture">Deployment Architecture</a>.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The Virgo Nano has a different provisioning system which isn’t included in the Virgo Nano Base on which the
+VK and the VTS are built.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Version 3.7.0.RELEASE of the Virgo Nano supports <strong>bundle</strong>,
+<strong>p2 feature</strong>, <strong>Web Application Bundle (WAB)</strong>, and <strong>WAR</strong> artifacts, which enable
+you to build sophisticated web applications too, taking full advantage of p2’s dependency resolution, automated download and fail-early mechanics.
+The Virgo Nano does NOT support <strong>plan</strong>, <strong>PAR</strong> or <strong>configuration</strong> artifacts.
+New <strong>features</strong> are provisioned via <strong>update sites</strong> or <strong>p2 repositories</strong>.
+Brief overview of p2 and it’s mechanics is available on <a href="http://bkapukaranov.wordpress.com/2011/07/12/rt-meets-p2/">this blog</a>.
+The VN’s default web container implementation is Gemini Web.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-why"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_why_the_virgo_for_apache_tomcat">Why the Virgo for Apache Tomcat?</h3>
+<div class="paragraph">
+<p>You could deploy a web application in a stand-alone servlet engine or application server.
+Or you could even deploy directly in an OSGi container such as Equinox. However,
+deploying in the Virgo for Apache Tomcat offers a number of key benefits that make it both more
+appealing and more suitable for enterprise application development.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-unified-deployment"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_deployment_options_and_migration_paths">Deployment Options and Migration Paths</h4>
+<div class="paragraph">
+<p>While many applications deployed in the Virgo for Apache Tomcat will take advantage
+of OSGi capabilities, not all applications need such sophistication.
+For example, development teams may initially choose to continue packaging
+existing web applications as standard WAR files and then gradually migrate
+toward a fully OSGi-based packaging and deployment model. The Virgo for Apache Tomcat
+makes such migrations easy for developers by supporting multiple packaging
+and deployment formats. These formats and migration strategies are discussed
+in greater detail in <a href="#migrating-to-osgi">Migrating to OSGi</a> and
+<a href="#formtags-case-study">Case Study: Migrating the Form Tags Sample Application</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="introduction-simplified-deployment"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_simplified_development_and_deployment_of_osgi_based_applications">Simplified Development and Deployment of OSGi-based Applications</h4>
+<div class="paragraph">
+<p>Prior to the release of the Virgo for Apache Tomcat, developing and deploying OSGi
+applications involved inherent complexity such as:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Obtaining OSGi bundles for popular Java libraries:</strong>
+For optimal benefits, every technology you use in an OSGi application must
+be packaged as OSGi bundles. Sometimes, this involves manually converting
+JAR files into bundles and making sure that any libraries needed by those
+bundles are also available as OSGi bundles. The <a href="http://www.eclipse.org/ebr">EBR</a> is a good source of
+popular pre-bundled libraries.</p>
+</li>
+<li>
+<p><strong>Package management complexity:</strong>
+OSGi bundles use other bundles through <code>Import-Package</code> manifest headers.
+Many applications use a set of common technologies (e.g., an ORM solution,
+a web framework, etc.). Combining these two characteristics leads to duplicated
+configuration in the form of repeated and verbose <code>Import-Package</code> statements.</p>
+</li>
+<li>
+<p><strong>Lack of application-level isolation:</strong>
+In OSGi everything is a bundle, and all bundles share the same OSGi Service Registry.
+To highlight how conflicts can arise between applications and their services in this
+shared service registry, consider the following scenarios.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Application <code>A</code> is comprised of bundles <code>B</code> and <code>C</code>.
+In a standard OSGi environment, if you attempt to install two instances of the same
+version of application <code>A</code> (i.e., two sets of bundles <code>B</code> and
+<code>C</code>), a clash will occur, because you cannot deploy multiple bundles with
+the same <code>Bundle-SymbolicName</code> and <code>Bundle-Version</code> combination.</p>
+</li>
+<li>
+<p>Application <code>A1</code> is comprised of bundles <code>B1</code> and <code>C1</code>.
+Similarly, application <code>A2</code> is comprised of bundles <code>B2</code> and <code>C2</code>.
+Each bundle has a unique combination of <code>Bundle-SymbolicName</code> and <code>Bundle-Version</code>.
+Bundles <code>B1</code> and <code>B2</code> both export service <code>S</code> which
+is imported by both <code>C1</code> and <code>C2</code>. In contrast to the previous
+example, there is no conflict resulting from duplicate
+<code>Bundle-SymbolicName</code>/<code>Bundle-Version</code> combinations; however,
+there is a clash for the exported service <code>S</code>.
+Which service <code>S</code> will bundles <code>C1</code> and <code>C2</code> end up
+using once they are installed?
+Assuming bundles <code>B1</code> and <code>C1</code> are intended to work together,
+you would not want bundle <code>C1</code> to get a reference to service <code>S</code>
+from bundle <code>B2</code>, because it is installed in a different logical application.
+On the contrary, you typically want bundle <code>C1</code> to get a reference to
+service <code>S</code> exported by bundle <code>B1</code>, but in a standard OSGi environment
+this may not be the case.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Furthermore, since standard OSGi does not define a notion of an application as a set of bundles,
+you cannot deploy or undeploy an application and its constituent bundles as a single unit.</p>
+</div>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat introduces a number of features to solve these issues:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A full set of OSGi bundles for many popular Java libraries to get you
+started quickly with creating OSGi applications.</p>
+</li>
+<li>
+<p>An OSGi library concept that obviates the need to
+duplicate verbose <code>Import-Package</code> statements.</p>
+</li>
+<li>
+<p>The PAR packaging format which offers
+application-level isolation and deployment.</p>
+</li>
+<li>
+<p>The concept of a plan, which is an XML file that lists a collection of bundles that Virgo for Apache Tomcat should load together as a single application. Conceptually, plans are very like PARs, except that a plan describes the contents of the application rather than a PAR that actually contains them.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="introduction-diagnostics"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_enhanced_diagnostics_during_deployment_and_in_production">Enhanced Diagnostics During Deployment and in Production</h4>
+<div class="paragraph">
+<p>Identifying why an application won’t deploy or which particular library
+dependencies are unsatisfied is the cause of many headaches!
+Similarly, production time errors that don’t identify the root cause are
+all too familiar to Java developers. The VTS was designed from the
+ground up to enable tracing and First Failure Data Capture (FFDC) that
+empower developers with precise information at the point of failure to
+fix the problem quickly.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture"></a></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_deployment_architecture">Deployment Architecture</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat offers several choices when it comes to deploying applications. Each
+choice offers certain advantages, and it is important to understand those in order to make
+the right choice for your application. In this chapter, we take a closer look at the choices
+offered, compare them, and provide guidelines in choosing the right one based on your
+specific needs.</p>
+</div>
+<div class="paragraph">
+<p>The VTS supports standard self-contained WAR files thus allowing you to
+use the Virgo for Apache Tomcat as an enhanced web server. The VTS also supports the
+ <strong>Shared Libraries</strong> WAR format which allows for slimmer WAR files that
+depend on OSGi bundles instead of including JAR files inside the WAR. The <strong>Shared
+ Services</strong> WAR format allows developers to further reduce the complexity of
+standard WARs by deploying services and infrastructure bundles alongside the WAR. A shared
+services WAR will then consume the services published by those bundles. To complete the
+picture, the VTS supports the new OSGi-standard <strong>Web Application
+Bundle</strong> deployment format for web applications that builds on the benefits
+provided by a shared services WAR. In addition to this, VTS provides
+additional conveniences for developing and deploying Spring MVC-based web applications.</p>
+</div>
+<div class="paragraph">
+<p>For applications consisting of multiple bundles and web applications, plans and the PAR
+format are the primary deployment models that take advantage of OSGi capabilities. We will
+explore all of these formats and their suitability later in this guide.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-deployment-formats"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_supported_deployment_formats">Supported Deployment Formats</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat supports applications packaged in the following formats:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p><a href="#architecture-raw-osgi-bundles">Raw OSGi Bundles</a></p>
+</li>
+<li>
+<p><a href="#architecture-wars">Java EE WAR</a></p>
+</li>
+<li>
+<p><a href="#architecture-war-gemini">Web Application Bundles</a></p>
+</li>
+<li>
+<p><a href="#architecture-pars">PARs</a></p>
+</li>
+<li>
+<p><a href="#architecture-plans">Plans</a></p>
+</li>
+<li>
+<p><a href="#architecture-configurations">Configurations</a></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>When you deploy an application to the VTS, each deployment artifact
+(e.g., a single bundle, WAR, PAR, or plan) passes through a deployment pipeline. This
+deployment pipeline is responsible for processing applications of certain types (i.e.,
+application type). The 3.7.0.RELEASE release of the VTS natively
+supports deployers analogous to each of the aforementioned packaging options.</p>
+</div>
+<div class="paragraph">
+<p>Let’s take a closer look now at each of the supported deployment and packaging
+options to explore which one is best suited to your application.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-raw-osgi-bundles"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_raw_osgi_bundles">Raw OSGi Bundles</h4>
+<div class="paragraph">
+<p>At its core, the Virgo for Apache Tomcat is an OSGi container. Thus any OSGi-compliant
+bundle can be deployed directly on the VTS unmodified. You’ll
+typically deploy an application as a single bundle or a set of stand-alone bundles
+if you’d like to publish or consume services globally within the container via
+the OSGi Service Registry.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-wars"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_war_deployment_formats">WAR Deployment Formats</h4>
+<div class="paragraph">
+<p>For Web Application Archives (WAR), the Virgo for Apache Tomcat provides support for the
+following three formats.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p><a href="#architecture-standard-war">Standard WAR</a></p>
+</li>
+<li>
+<p><a href="#architecture-shared-libraries-war">Shared Libraries WAR</a></p>
+</li>
+<li>
+<p><a href="#architecture-shared-services-war">Shared Services WAR</a></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Each of these formats plays a distinct role in the incremental migration path
+from a standard Java EE WAR to an OSGi-ified web application.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-standard-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_standard_war">Standard WAR</h4>
+<div class="paragraph">
+<p>Standard WAR files are supported directly in the VTS. At
+deployment time, the WAR file is transformed into an OSGi bundle and installed
+into Tomcat. All the standard WAR contracts are honoured, and your existing WAR
+files should just drop in and deploy without change. Support for standard,
+unmodified WAR files allows you to try out the Virgo for Apache Tomcat on your existing
+web applications and then gradually migrate toward the <strong>Shared
+Libraries WAR</strong> and <strong>Shared Services WAR</strong> formats.</p>
+</div>
+<div class="paragraph">
+<p>In addition to the standard support for WARs that you would expect from
+Tomcat, the VTS also enables the following features:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Spring-driven load-time weaving (see Section 6.8.4, “Load-time weaving
+with AspectJ in the Spring Framework").
+Diagnostic information such as FFDC (first failure data capture)</p>
+</li>
+<li>
+<p>The main benefit of this application style is familiarity — developers know
+how to create a WAR file! You can take advantage of the
+VTS’s added feature set without modifying the
+application. The application can also be deployed on other Servlet containers or
+Java EE application servers.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>You may choose this application style if the application is fairly simple and
+small. You may also prefer this style even for large and complex applications as
+a starting point and migrate to the other styles over time as discussed in <a href="#migrating-to-osgi">Migrating to OSGi</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-shared-libraries-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shared_libraries_war">Shared Libraries WAR</h4>
+<div class="paragraph">
+<p>If you have experience with developing and packaging web applications using
+the standard WAR format, you’re certainly familiar with the pains of
+library bloat. So, unless you’re installing shared libraries in a common
+library folder for your Servlet container, you have to pack all JARs required by
+your web application in <code>/WEB-INF/lib</code>. Prior to the release of
+the Virgo for Apache Tomcat, such library bloat has essentially been the norm for web
+applications, but now there is a better solution! The Shared Libraries WAR
+format reduces your application’s deployment footprint and eradicates
+library bloat by allowing you to declare dependencies on libraries via standard
+OSGi manifest headers such as <code>Import-Package</code> and <code>Require-Bundle</code> . The VTS provides additional
+support for simplifying dependency management via the <code>Import-Library</code> and <code>Import-Bundle</code> manifest headers
+which are essentially macros that get expanded into OSGi-compliant <code>Import-Package</code> statements.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>For detailed information on which libraries are already available, check
+out the <a href="http://www.eclipse.org/ebr">EBR</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="architecture-shared-services-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shared_services_war">Shared Services WAR</h4>
+<div class="paragraph">
+<p>Once you’ve begun taking advantage of declarative dependency management
+with a Shared Libraries WAR, you’ll likely find yourself wanting to take
+the next step toward reaping further benefits of an OSGi container: sharing
+services between your OSGi-compliant bundles and your web applications. By
+building on the power and simplicity of Gemini Blueprint, the <strong>Shared Services
+WAR</strong> format puts the OSGi Service Registry at your finger tips. As
+a best practice you’ll typically publish services from your domain,
+service, and infrastructure bundles via <code><osgi:service …​></code> and then consume them in your web application’s
+ApplicationContext via <code><osgi:reference …​ ></code>. Doing so
+promotes programming to interfaces and allows you to completely decouple your
+web-specific deployment artifacts from your domain model, service layer, etc.,
+and that’s certainly a step in the right direction. Of the three supported
+WAR deployment formats, the Shared Services WAR is by far the most attractive in
+terms of modularity and reduced overall footprint of your web applications.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-war-gemini"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_wars_and_the_gemini_web_container">WARs and the Gemini Web Container</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat fully supports the OSGi Web Applications standard. Using the
+reference implementation from Gemini Web that was developed by SpringSource from
+an offshoot of the original VTS codebase. This RI is now fully
+integrated in VTS as the basis of the support for web
+application deployment.</p>
+</div>
+<div class="paragraph">
+<p>The OSGi Web Applications specification introduces the concept of a <strong>Web
+Application Bundle</strong>, which is a WAR that is also a bundle. The
+specification defines how WAR files are transformed into bundles automatically
+as needed.</p>
+</div>
+<div class="paragraph">
+<p>You can find an introduction to the Web Container in blog entries written by
+the Virgo team <a href="http://blog.springsource.com/2009/05/27/introduction-to-the-osgi-web-container/">here</a>
+and <a href="http://blog.springsource.com/2009/06/01/what-the-osgi-web-container-means-for-dm-server/">here</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-war-gemini-extensions"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_extensions_to_the_web_container">Extensions to the Web Container</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat provides a variety of extensions to the Web Container that
+allow you to construct sophisticated applications. The table below
+summarises the extensions that are available or in development.</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Feature</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Instrumentable ClassLoaders</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">All web bundle ClassLoaders are
+instrumentable by Spring’s load-time weaving infrastructure.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Support for exploded bundles/WARs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bundles/WARs in directory form can
+be deployed as Web Application Bundles</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Support for scanning TLDs in dependencies</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">As per the Web Application
+specification, all TLDs located inside a web bundle are located using
+the rules defined in the JSP 2.1 specification. In
+VTS, the dependencies of a Web Application
+Bundle are also scanned for TLDs following the rules outlined in JSP 2.1</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="architecture-pars"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_par">PAR</h4>
+<div class="paragraph">
+<p>A PAR is a standard JAR which contains all of the modules of your application
+(e.g., service, domain, and infrastructure bundles as well as a WAR or web module
+for web applications) in a single deployment unit. This allows you to deploy,
+refresh, and undeploy your entire application as a single entity. If you are
+familiar with Java EE, it is worth noting that a PAR can be considered a replacement
+for an EAR (Enterprise Archive) within the context of an OSGi container. As an added
+bonus, modules within a PAR can be refreshed independently and on-the-fly, for
+example via the Virgo Eclipse IDE Tooling (see the Virgo Tools Guide).</p>
+</div>
+<div class="paragraph">
+<p>Many of the benefits of the PAR format are due to the underlying OSGi
+infrastructure, including:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fundamentally modularized applications: instead of relying on fuzzy
+boundaries between logical modules in a monolithic application, this
+style promotes physically separated modules in the form of OSGi bundles.
+Then each module may be developed separately, promoting parallel
+development and loose coupling.</p>
+</li>
+<li>
+<p>Robust versioning of various modules: the versioning capability
+offered by OSGi is much more comprehensive than alternatives. Each
+module can specify a version range for each of its dependencies. Bundles
+are isolated from each other in such a way that multiple versions of a
+bundle may be used simultaneously in an application.</p>
+</li>
+<li>
+<p>Improved manageability: each bundle may be deployed or undeployed in
+a running application. This allows modifying the existing application to
+fix bugs, improve performance, and even to add new features without
+having to restart the application.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Furthermore, PARs scope the bundles of your application within the
+VTS. Scoping provides both a physical and logical application
+boundary, effectively shielding the internals of your application from other PARs
+deployed within the VTS. This means your application doesn’t
+have to worry about clashing with other running applications (e.g., in the OSGi
+Service Registry). You get support for load-time weaving, classpath scanning,
+context class loading, etc., and the VTS does the heavy lifting for
+you to make all this work seamlessly in an OSGi environment. If you want to take
+full advantage of all that the Virgo for Apache Tomcat and OSGi have to offer, packaging and
+deploying your applications as a PAR is a good choice, although plans are an even
+better one, as described in the next section.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">OSGi != multiple JARs</div>
+<div class="paragraph">
+<p>Note that while physically separated modules can, in theory, be implemented
+simply using multiple JARs, complex versioning requirements often make this
+impractical. For example, consider the situation depicted in the diagram below.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Bundle A depends on version <code>1.0.0</code> of bundle <code>B</code> and version <code>2.0.0</code> of bundle <code>C</code>.</p>
+</li>
+<li>
+<p>Bundle B depends on version <code>1.0.0</code> of bundle <code>C</code>.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Suppose that versions <code>1.0.0</code> and <code>2.0.0</code> of bundle <code>C</code> are neither
+backward nor forward compatible. Traditional monolithic applications cannot
+handle such situations: either bundle <code>A</code> or bundle <code>B</code> would need reworking which
+undermines truly independent development. OSGi’s versioning scheme enables
+this scenario to be implemented in a robust manner. If it is desirable to rework
+the application to share a single version of <code>C</code>, then this can be planned in and
+is not forced.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="assets/images/architecture-bundle-versioning.png" alt="architecture bundle versioning">
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="architecture-plans"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_plans">Plans</h4>
+<div class="paragraph">
+<p>A plan is similar to a PAR in that it encapsulates all of the artifacts of your
+application in a single deployment unit. The main difference, however, is that a
+plan is simply an XML file that lists the artifacts of your application; a PAR, by
+contrast, is an actual JAR file that physically contains the artifacts. Just like a
+PAR, you deploy, refresh, and undeploy a plan as a single entity. We highly
+recommends the use of plans for creating applications.</p>
+</div>
+<div class="paragraph">
+<p>When you create a plan, you can specify that the included bundles and services
+are in a scope that isolates them from the rest of Virgo for Apache Tomcat and its
+deployments. This scoping ensures that the bundles wire to each other and see each
+other’s services in preference to services from outside the scope. Scoping
+also prevents application code from leaking into the global scope or scope of
+another application. In addition, a plan can link the lifecycle of a group of
+bundles together atomically, which ensures that start, stop, and uninstall
+events on a single artifact in the plan are escalated to all artifacts in the plan.
+You can, however, disable both of these features by simply setting an attribute in
+the plan.</p>
+</div>
+<div class="paragraph">
+<p>The general benefits of using plans are similar to those of using PARs; see <a href="#architecture-pars">PAR</a> for details. Plans offer added benefits,
+however, such as the ability to control the deployment order of your application:
+the order in which you list artifacts in the plan’s XML file is the order in
+which VTS deploys them. Additionally, because plans specify the
+artifacts that make up an application by reference, it is easier to share artifacts
+between plans as well as update individual parts of a plan without having to
+physically repackage (re-JAR) it.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-configurations"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configurations">Configurations</h4>
+<div class="paragraph">
+<p>A Configuration is simply a Java properties file. When deployed it will be
+recognised by the deployer and installed in to <strong>Configuration
+Admin</strong> for later use by your applications. VTS supports
+both singleton (ManagedService) and factory (ManagedServiceFactory) configurations.
+(see section 104.6 in the Compendium Specification)</p>
+</div>
+<div class="paragraph">
+<p>For a singleton configuration the name that it will be installed under is its filename
+minus the <code>.properties</code> extension. Factory Configuration is supported by
+specifying the <strong>service.factoryPid</strong> property. In this case the actual PID will
+be created by <strong>Configuration Admin</strong> (see section 104.6 in the
+Compendium Specification).</p>
+</div>
+<div class="paragraph">
+<p>How to consume configuration data is discussed <a href="#developing-applications-configuration-artifacts">later</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-dependency-types"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_dependency_types">Dependency Types</h3>
+<div class="paragraph">
+<p>In an OSGi environment, there are two kinds of dependencies between various bundles:
+<strong>type</strong> dependency and <strong>service</strong> dependency.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Type dependency</strong>: A bundle may depend on a
+type exported by another bundle thus creating a type dependency. Type
+dependencies are managed through <code>Import-Package</code> and
+<code>Export-Package</code> directives in the OSGi manifest. This
+kind of dependency is similar to a JAR file using types in other JAR files
+from the classpath. However, as we’ve seen earlier, there are
+significant differences.</p>
+</li>
+<li>
+<p><strong>Service dependency</strong>: A bundle may also
+publish services (preferably using Gemini Blueprint), and other bundles may consume
+those services. If two bundles depend on the same service, both will be
+communicating effectively to the same object. More specifically, any state
+for that service will be shared between all the clients of that service.
+This kind of arrangement is similar to the commonly seen client-server
+interaction through mechanisms such as RMI or Web Services.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_regions">Regions</h3>
+<div class="paragraph">
+<p>Conceptually, the Eclipse Virgo can be divided into two separate subsystems, called Regions. This
+provides a way to keep the Virgo Kernel separate from user applications. Read more about Regions
+and the two in Virgo in the <a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a>
+concepts section.</p>
+</div>
+<div class="paragraph">
+<p><a id="architecture-forming-bundles"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_a_guide_to_forming_bundles">A Guide to Forming Bundles</h3>
+<div class="paragraph">
+<p>So what makes an application suitable for deployment on the Virgo for Apache Tomcat? Since
+OSGi is at the heart of the VTS, modular applications consisting of
+bundles, which each represent distinct functionality and well-defined boundaries, can
+take maximum advantage of the OSGi container’s capabilities. The core ideas behind
+forming bundles require following good software engineering practices: separation of
+concerns, loose coupling, and communication through clear interfaces. In this section,
+we look at a few approaches that you may use to create modular applications for
+Virgo for Apache Tomcat deployment. Please consider the following discussion as guidelines and
+not as rules.</p>
+</div>
+<div class="paragraph">
+<p>Bundles can be formed along horizontal slices of layering and vertical slices of
+function. The objective is to enable independent development of each bundle and minimize
+the skills required to develop each bundle.</p>
+</div>
+<div class="paragraph">
+<p>For example, an application could have the following bundles:
+<strong>infrastructure</strong>, <strong>domain</strong>,
+<strong>repository</strong>, <strong>service</strong>, and
+<strong>web</strong> as shown in the following diagram.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="assets/images/bundle-dependencies-layers.png" alt="bundle dependencies layers">
+</div>
+</div>
+<div class="paragraph">
+<p>Each bundle consists of types appropriate for that layer and exports
+packages and services to be used by other layers. Let’s examine each bundle in
+more detail:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 1. Bundles across layers</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Bundles</th>
+<th class="tableblock halign-left valign-top">Imported Packages</th>
+<th class="tableblock halign-left valign-top">Exported Packages</th>
+<th class="tableblock halign-center valign-top">Consumed Services</th>
+<th class="tableblock halign-center valign-top">Published Services</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Infrastructure</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Third-party libraries</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Infrastructure interfaces</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Depends: for example,
+ if JPA is used to
+ annotate persistent
+ types, then JPA
+ packages.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Public domain types</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Web</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain, Service</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">None</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Service beans</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">None</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Service</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain,
+ Infrastructure,
+ Repository</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Service interfaces</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Repository beans</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Service beans</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Repository</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain,
+ Third-party libraries,
+ ORM bundles, etc.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Repository interfaces</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">DataSources,
+ ORM session/entity managers,
+ etc.</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Repository beans</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Within each layer, you may create bundles for each subsystem representing a vertical
+slice of business functionality. For example, as shown in the following figure, the
+service layer is divided into two bundles each representing separate business
+functions.
+<span class="image"><img src="assets/images/bundle-dependencies-verticals.png" alt="bundle dependencies verticals"></span></p>
+</div>
+<div class="paragraph">
+<p>You can similarly separate the repositories, domain classes, and web controllers
+based on the business role they play.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_developing_applications">Developing Applications</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Applications that take advantage of the OSGi capabilities of Virgo
+are typically comprised of multiple bundles. Each bundle may have dependencies on
+other bundles. Furthermore, each bundle exposes only certain packages and
+services. In this chapter, we look at how to create bundles, import and export
+appropriate functionality, and create artifacts to deploy web applications on the Virgo for Apache Tomcat.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-bundle"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_anatomy_of_a_bundle">Anatomy of a Bundle</h3>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This is an abbreviated introduction to OSGi bundles. Please refer to the <a href="https://www.eclipse.org/gemini/blueprint/documentation/reference/2.0.0.RELEASE/html/index.html">Eclipse Gemini Blueprint Reference Guide</a> for full details.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>An OSGi bundle is simply a jar file with metadata that describe
+additional characteristics such as version and imported and exported packages.</p>
+</div>
+<div class="paragraph">
+<p>A bundle exports types and publishes services to be used by other bundles:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Types</strong>: via the OSGi <code>Export-Package</code> directive,</p>
+</li>
+<li>
+<p><strong>Services</strong>: via Gemini Blueprint’s <code><service …​ ></code> XML namespace element.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>A bundle may import types and services exported by other bundles:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Types</strong>: via the OSGi <code>Import-Package</code> directive,</p>
+</li>
+<li>
+<p><strong>Services</strong>: via Gemini Blueprint’s <code><reference …​ ></code> XML namespace element.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Let’s see an example from the PetClinic sample application. The following listing shows the
+<code>MANIFEST.MF</code> file for the <code>org.springframework.petclinic.infrastructure.hsqldb</code> bundle.</p>
+</div>
+<div class="listingblock">
+<div class="title">MANIFEST.MF</div>
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PetClinic HSQL Database Infrastructure
+Bundle-SymbolicName: org.springframework.petclinic.infrastructure.hsqldb
+Bundle-Version: 1.0
+Import-Library: org.springframework.spring;version="[2.5,2.6]"
+Import-Bundle: com.springsource.org.apache.commons.dbcp;version="[1.2.2.osgi,1.2.2.osgi]",
+ com.springsource.org.hsqldb;version="[1.8.0.9,1.8.0.9]"
+Import-Package: javax.sql
+Export-Package: org.springframework.petclinic.infrastructure</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>org.springframework.petclinic.infrastructure.hsqldb</code> bundle expresses its dependencies on
+the <code>javax.sql</code> package, the Commons DBCP and HSQLDB bundles, and the Spring library (we will examine
+the details of the library artifact in <a href="#developing-applications-defining-libraries">Defining Libraries</a>. The Commons DBCP
+bundle is imported at a version of exactly <code>1.2.2.osgi</code> and the HSQLDB bundle is imported at a version of exactly
+<code>1.8.0.9</code>. The Spring library is imported at a version between <code>2.5</code> inclusive and <code>2.6</code> exclusive.</p>
+</div>
+<div class="paragraph">
+<p>Note that you do not specify the bundle that will provide the imported packages.
+Virgo will examine the available bundles and satisfy the required dependencies.</p>
+</div>
+<div class="paragraph">
+<p>The following <code>osgi-context.xml</code> file from the PetClinic sample’s
+<code>org.springframework.petclinic.repository.jdbc</code> bundle declares a service published by the bundle and
+references a service published by another bundle.</p>
+</div>
+<div class="listingblock">
+<div class="title">osgi-context.xml</div>
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?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: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/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <service id="osgiClinic" ref="clinic" interface="org.springframework.petclinic.repository.Clinic" />
+ <reference id="dataSource" interface="javax.sql.DataSource"/>
+
+</beans:beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>service</code> element publishes the <code>clinic</code> bean
+(a regular Spring bean declared in the <code>module-context.xml</code> file) and specifies
+<code>org.springframework.petclinic.repository.Clinic</code> as the type
+of the published service.</p>
+</div>
+<div class="paragraph">
+<p>The <code>reference</code> elements define a <code>dataSource</code> bean that references
+a service published by another bundle with a an interface type of <code>javax.sql.DataSource</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-packaging"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_creating_pars_and_web_applications">Creating PARs and Web Applications</h3>
+<div class="paragraph">
+<p>Virgo supports two OSGi-oriented ways of packaging applications: the PAR format
+and application bundles (including web bundles). The VTS also supports three
+distinct WAR deployment and packaging formats: standard Java EE WAR, Shared Libraries WAR, Shared Services WAR.</p>
+</div>
+<div class="paragraph">
+<p>Virgo also supports plans as a way to describe an application. This method is similar to a PAR
+in that it encapsulates all the artifacts of an application as a single unit, but differs in that a plan simply
+lists the bundles in an XML file rather than packaging all the bundles in a single JAR file. The use of plans
+offers additional benefits to using PARs; for this reason, we recommend their use. For details, see
+<a href="#developing-applications-plans">Creating Plans</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-packaging-par"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_pars">PARs</h4>
+<div class="paragraph">
+<p>An OSGi application is packaged as a JAR file, with extension <code>.par</code>. A PAR artifact offers several benefits:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A PAR file has an application name, version, symbolic name, and description.</p>
+</li>
+<li>
+<p>The artifacts of a PAR file are scoped so that they cannot
+be shared accidentally by other applications. The scope forms a boundary for automatic
+propagation of load time weaving and bundle refresh.
+See <a href="#developing-applications-plans-scoping">Plans and Scoping</a> for more on scoping.</p>
+</li>
+<li>
+<p>Since a PAR is scoped, its artifacts have their exported packages imported by the
+synthetic context bundle which is used for thread context class loading. So,
+for example, hibernate will be able to load classes of any of the exported
+packages of the bundles in a PAR file using the thread context class loader.</p>
+</li>
+<li>
+<p>A PAR file is visible to management interfaces.</p>
+</li>
+<li>
+<p>A PAR file can be undeployed and redeployed as a unit.</p>
+</li>
+<li>
+<p>A PAR file is <strong>atomic</strong> in that it ties together the lifecycle of its artifacts. If you start, stop, or uninstall
+one of a PAR’s artifacts, Virgo escalates the operation to the whole PAR file.
+So Virgo prevents artifacts of a PAR from being in inconsistent states.
+For example, if one artifact should fail to start, then Virgo stops all artifacts in the PAR.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>See <a href="#developing-applications-plans-scoping">Plans and Scoping</a> for more information on scoping.</p>
+</div>
+<div class="paragraph">
+<p>A PAR includes one or more application bundles and its manifest specifies the following
+manifest headers:</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-packaging-par-headers-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 2. PAR file headers</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Header</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Application-SymbolicName</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Identifier for the application which, in combination with Application-Version, uniquely identifies an application</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Application-Name</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Human readable name of the application</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Application-Version</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Version of the application</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Application-Description</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Short description of the application</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following code shows an example MANIFEST.MF in a PAR file:</p>
+</div>
+<div class="listingblock">
+<div class="title">MANIFEST.MF</div>
+<div class="content">
+<pre class="highlight"><code>Application-SymbolicName: com.example.shop
+Application-Version: 1.0
+Application-Name: Online Shop
+Application-Description: Example.com's Online Shopping Application</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>anchor:developing-applications-web-application-bundles</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_web_application_bundles">Web Application Bundles</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat supports Web Application Bundles that are compliant with the OSGi Web Applications specification.
+The defining property of a Bundle that makes it a Web Application Bundle is a manifest header, <code>Web-ContextPath</code>.
+This defines the context path the web application will be registered under.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#using-spring">Using Spring and Gemini Blueprint</a> for information on using Spring or Gemini Blueprint in a Web Application Bundle.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_creating_plans">Creating Plans</h3>
+<div class="paragraph">
+<p>Plans are similar to PARs in that they encapsulate the artifacts of an application as a single unit.
+However plans are XML files that refer to their artifacts, whereas PARs are JAR files that physically contain their artifacts.
+Plans, known as <strong>parent</strong> plans may refer to other plans, known as <strong>child</strong> plans.</p>
+</div>
+<div class="paragraph">
+<p>Plans share several benefits with PARs:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A plan has a (symbolic) name and a version.</p>
+</li>
+<li>
+<p>A plan may be <strong>scoped</strong>, although this is optional.
+See <a href="#developing-applications-plans-scoping">Plans and Scoping</a> for more on scoping.</p>
+</li>
+<li>
+<p>A plan is visible to management interfaces.</p>
+</li>
+<li>
+<p>A plan can be undeployed and redeployed as a unit.</p>
+</li>
+<li>
+<p>A plan may be <strong>atomic</strong>, although this is optional.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Plans have the following additional benefits compared to PARs:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Virgo deploys the artifacts in the plan in the order in which they are listed in the XML file, which gives you
+complete control over deployment order.
+With a PAR, the order of deployment of the included artifacts is not guaranteed.</p>
+</li>
+<li>
+<p>Since plans refer to their artifacts, it is easier to share content between plans as well as update individual
+parts of a plan without having to physically repackage (re-JAR) it.</p>
+</li>
+<li>
+<p>Plans may contain child plans, but PARs cannot contain other PARs.</p>
+</li>
+<li>
+<p>You can make certain plans deploy faster by disabling the provisioning of bundles to satisfy missing dependencies,
+but you cannot disable provisioning for PARs.</p>
+</li>
+<li>
+<p>You can specify whether a plan is scoped or unscoped and atomic or non-atomic; PARs are always scoped and atomic.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The artifacts of a plan are usually stored in Virgo’s repository. This means, for example, that if you drop one of the plan’s artifacts in the <code>pickup</code> directory rather than adding it to the repository, the plan will fail to deploy because it will not find the artifact.</p>
+</div>
+<div class="paragraph">
+<p>The artifacts of a plan may also be stored outside Virgo’s repository, somewhere else on the file system and referenced from the plan using URIs.
+Such artifacts must be available on the file system when the plan is deployed and when Virgo restarts while the plan is deployed.
+If you delete any of these artifacts, deployment of the plan may fail, either when it is initially deployed or when Virgo restarts.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-create"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_creating_the_plan_xml_file">Creating the Plan XML File</h4>
+<div class="paragraph">
+<p>Plans are XML files that have a <code>.plan</code> file extension, such as <code>multi-artifact.plan</code>.
+The structure of the XML file is simple:
+the root element is <code><plan></code> with attributes specifying the name of the plan, the version, atomicity, and scoping.
+Then, for each artifact that makes up your application,
+you add a <code><artifact></code> element, using its attributes to specify the type of artifact and its name and version.
+The following is a simple example of a plan’s XML file:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+<plan name="multi-artifact.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+ <artifact type="configuration" name="app-properties" version="1.0.0"/>
+ <artifact type="bundle" name="com.springsource.exciting.app" version="[2.0.0, 3.1.0)"/>
+
+</plan></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In the preceding example, the name of the plan is <code>multi-artifact.plan</code> and its version is <code>1.0.0</code>.
+The plan is both scoped and atomic. The plan contains two artifacts: one is a bundle called <code>com.springsource.exciting.app</code> and the other is a configuration file called <code>app-properties</code>.</p>
+</div>
+<div class="paragraph">
+<p>The following table describes the attributes of the <code><plan></code> element.</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 3. PAR file headers</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 60%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Required?</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>name</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the name of this plan.
+ Virgo uses the name as one component of the unique
+ identifier of this plan.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>version</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the version of this plan.
+ You must use OSGi version specification syntax,
+ such as <code>2.1.0</code>.
+ Virgo uses the version as one component of
+ the unique identifier of this plan.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>scoped</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether Virgo should install the
+ artifacts into plan-specific scope so that only the
+ application described by this plan has access to the artifacts.
+ If you disable scoping, then Virgo installs
+ the artifacts into the global scope, which means they
+ are then available for access by all other deployed artifacts.
+ Set the attribute to <code>true</code> to enable scoping or
+ <code>false</code> to disable it.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>atomic</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether you want to tie together the lifecycle
+ of the artifacts in this plan.
+ Making a plan atomic means that if you start, stop, or
+ uninstall a single artifact in the plan, Virgo
+ escalates the operation to the whole plan.
+ Also Virgo prevents artifacts of an atomic plan
+ from being in inconsistent states.
+ For example, if one artifact should fail to start,
+ then Virgo stops all artifacts in the plan.
+ Set this attribute to <code>true</code> to enable atomicity or
+ <code>false</code> to disable it.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provisioning</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether Virgo installs bundles from
+ the repository to attempt to satisfy any missing
+ dependencies in the plan.
+ Missing dependencies prevent one or more bundles in
+ the plan from resolving.
+ For example, a bundle which imports a package cannot
+ resolve if the package is missing, that is, not
+ exported by another bundle. A value of
+ <code>auto</code> instructs Virgo to install bundles from the repository
+ to attempt to satisfy any missing dependencies in the plan.
+ This is known as <strong>auto-provisioning</strong>.
+ A value of <code>disabled</code> prevents Virgo from
+ installing bundles from the repository to attempt to
+ satisfy any missing dependencies in the plan.
+ This value can make the plan deploy faster, although if
+ there are missing dependencies, deployment will fail.
+ A value of <code>inherit</code>, which is the default if no value is specified, inherits the parent plan’s provisioning behaviour.
+ If the plan does not have a parent, it inherits Virgo’s
+ auto-provisioning behaviour.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No. If not specified, defaults to <code>inherit</code>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following table describes the attributes of the <code><artifact></code> element. Note that you must either specify <code>type</code>, <code>name</code>, and (optionally) <code>version</code>,
+in which case Virgo’s repository is searched for the artifact, or <code>uri</code> in which case the artifact is obtained directly from the file system.
+If you specify <code>uri</code>, you must not specify <code>type</code>, <code>name</code>, or <code>version</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-create-artifact-attributes"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 4. PAR file headers</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 60%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Required?</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>type</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the type of the artifact. Valid values are:
+</p><p class="tableblock"><code>bundle</code>: Specifies an OSGi bundle. Use this artifact type for WAR files and Web application bundles.
+<code>configuration</code>: Specifies that the artifact is a configuration file. Configuration files contain name/value pairs that set initial values for configuration properties of a bundle.
+<code>plan</code>: Specifies that the artifact is a plan.
+<code>par</code>: Specifies that the artifact is a PAR.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes, unless <code>uri</code> is specified in which case <code>type</code> must not be specified and is automatically determined from the artifact.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>name</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the name of the artifact.
+See <a href="#artifact-names">Artifact Names</a> for guidelines for determining
+the name of an artifact.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes, unless <code>uri</code> is specified in which case <code>name</code> must not be specified and is automatically determined from the artifact.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>version</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the range of versions of this artifact that
+ Virgo should look up in its repositories and
+ then install and deploy.
+ You must use OSGi version specification syntax,
+ such as <code>[1.0.0, 2.0.0)</code>.
+ Note that a single version number represents the range
+ from that version number upwards.
+ For example, <code>1.3</code> represents the range of versions
+ greater than or equal to <code>1.3</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No. If <code>uri</code> is specified, <code>version</code> must not be specified.
+ If neither <code>uri</code> nor <code>version</code> are specified, <code>version</code> defaults to <code>0</code>, which in OSGi means 0 to infinity, or any version.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uri</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies an optional, absolute URI string beginning
+ with <code>file:</code> that refers to the artifact on the file system.
+ Such an artifact must be available on the file system
+ when the plan is deployed and when Virgo restarts
+ while the plan is deployed.
+ If you delete such an artifact, deployment of the plan may fail,
+ either when it is initially deployed or when Virgo restarts.
+ This attribute is normally omitted so that the artifact
+ is searched for in Virgo’s repository.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No. If not specified, Virgo searches for the artifact in its repository.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="artifact-names"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_artifact_names">Artifact Names</h4>
+<div class="paragraph">
+<p>When you create a plan, you use the <code>name</code> attribute of the <code><artifact></code> element to specify the name of all the plan’s dependencies. This section describes how to determine the name of an artifact, which is not always obvious.</p>
+</div>
+<div class="paragraph">
+<p>Use the following guidelines to determine the name of an artifact:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Bundle</strong>: In this context, a <strong>bundle</strong> refers to a standard OSGi bundle as well as a Web Application Bundle and a WAR file. The name of a bundle is the value of the <code>Bundle-SymbolicName</code> header in the <code>META-INF/MANIFEST.MF</code> file of the <code>*.jar</code>.
+If a WAR file has <code>Bundle-SymbolicName</code> header then it will be treated as a Web Application Bundle. The following <code>MANIFEST.MF</code> snippet shows a bundle with name <code>com.springsource.exciting.app</code>:</p>
+</li>
+</ul>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Bundle-SymbolicName: org.eclispe.virgo.exciting.app</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If the bundle does not contain a <code>META-INF/MANIFEST.MF</code> file or the <code>MANIFEST.MF</code> doesn’t contain a <code>Bundle-SymbolicName</code> header, then the name of the bundle is its filename minus the <code>.jar</code> or <code>.war</code> extension.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Configuration File</strong>: The name of a configuration or PID (Persistent Identity) is its filename minus the <code>.properties</code> extension. The PID can also be specified within the properties file with the
+<strong>service.pid</strong> property.</p>
+</li>
+<li>
+<p><strong>Plan</strong>: The name of a plan is the value of the required <code>name</code> attribute of the <code><plan></code> element in the plan’s XML file. In the following XML snippet, the plan name is <code>multi-artifact.plan</code>:</p>
+</li>
+</ul>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre><?xml version="1.0" encoding="UTF-8"?>
+<plan name="multi-artifact.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>PAR</strong>: The name of a PAR is the value of the <code>Application-SymbolicName</code> header in the <code>META-INF/MANIFEST.MF</code> file of the <code>*.par</code> file. The following <code>MANIFEST.MF</code> snippet shows a PAR with name <code>com.springsource.my.par</code>:</p>
+</li>
+</ul>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Application-SymbolicName: org.eclipse.virgo.my.par</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If the PAR does not contain a <code>META-INF/MANIFEST.MF</code> file, then the name of the PAR is its filename minus the <code>.par</code> extension.</p>
+</div>
+<div class="paragraph">
+<p><a id="passing-properties"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_supplying_properties_to_artifacts">Supplying Properties to Artifacts</h4>
+<div class="paragraph">
+<p>It is possible to pass properties to an artifact specified in a plan. An example of this can be seen in the Admin Console plan where the context path to be used in the Admin console is passed from the plan.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><artifact type="bundle" name="org.eclipse.virgo.apps.admin.web" version="[3.0, 4.0)">
+ <property name="header:Web-ContextPath" value="/admin" />
+</artifact></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The only supported property is <code>header</code> which will overwrite the given manifest header with the supplied value. This should be used with care!</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-use"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_the_plan">Using the Plan</h4>
+<div class="paragraph">
+<p>Because a plan is a list of artifacts, rather than a physical file that contains the artifacts, there are a few additional steps you must perform before you deploy it to Virgo.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Copy the artifacts that make up the plan to the <code>usr</code> repository, which by default is the <code>$SERVER_HOME/repository/usr</code> directory, where <code>$SERVER_HOME</code> refers to the top-level installation directory of Virgo. Note that you might have configured the server differently; in which case, copy the artifacts to your custom repository directory.</p>
+</li>
+<li>
+<p>Restart Virgo if the repository used is not a <strong>watched</strong> repository.</p>
+</li>
+<li>
+<p>After the server has started, either use the Admin Console to deploy the plan, or manually deploy it by copying the plan’s XML file into the <code>$SERVER_HOME/pickup</code> directory.</p>
+</li>
+<li>
+<p>This results in Virgo deploying the plan.</p>
+</li>
+<li>
+<p>To undeploy the plan, use the Admin Console, or simply delete it from the <code>$SERVER_HOME/pickup</code> directory.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-scoping"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_plans_and_scoping">Plans and Scoping</h4>
+<div class="paragraph">
+<p>As described in previous sections, you can specify that a plan be <strong>scoped</strong>. This means that Virgo installs the artifacts that make up the plan into a plan-specific scope so that only the application described by the plan has access to the artifacts. If you disable scoping, then Virgo installs the artifacts into the global scope, which means they are available for access by all other deployed artifacts. This section describes scoping in a bit more detail. It also describes how you can change the default behavior of scoping, with respect to services, so that a service that is in a scope can be made globally available.</p>
+</div>
+<div class="paragraph">
+<p>If a bundle in a given scope imports a package and a bundle in the same scope exports the package, then the import may only be satisfied by the bundle in the scope, and not by any bundles outside the scope, including the global scope. Similarly, package exports from bundles in a scope are not visible to bundles in the global scope.</p>
+</div>
+<div class="paragraph">
+<p>If a bundle in a scope uses Spring DM (or the blueprint service) to obtain a service reference and a bundle in the same scope uses Spring DM (or the blueprint service) to publish a matching service, then the service reference may only bind to the service published in the scope (and not to any services outside the scope). Services published by bundles in a scope are not visible to bundles in the global scope.</p>
+</div>
+<div class="paragraph">
+<p>However, sometimes it is useful to make a service in a scope globally available to artifacts outside the scope. To do this, publish the service with the <code>org.eclipse.virgo.service.scope</code> service property set to <code>global</code>. Use the <code><service-properties></code> child element of <code><service></code>, as shown in the following example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><service id="publishIntoGlobal" interface="java.lang.CharSequence">
+ <service-properties>
+ <beans:entry key="org.eclipse.virgo.service.scope" value="global" />
+ </service-properties>
+ <beans:bean class="java.lang.String">
+ <beans:constructor-arg value="foo"/>
+ </beans:bean>
+</service></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A scope forms a boundary for automatic propagation of load time weaving and bundle refresh.
+Additionally, a synthetic context bundle is generated for each scope. This bundle imports all the packages exported by other bundles in the scope.
+The class loader of the synthetic context bundle is used for thread context class loading. So,
+for example, hibernate will be able to load classes of any of the exported
+packages of the bundles in a scope using the thread context class loader.</p>
+</div>
+<div class="paragraph">
+<p>To ensure predictable class loading behaviour and avoid other issues associated with <strong>split packages</strong> (packages whose classes
+are split across more than one bundle), the synthetic context bundle has a restriction:
+no package may be exported by more than one
+bundle in the scope*.
+If this restriction is broken, the scoped application will fail to deploy.
+This restriction can cause problems for <a href="#scoping-and-substitutable-exports">substitutable exports</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-plans-scoping-webapps"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_web_applications_and_scoping">Web Applications and Scoping</h4>
+<div class="paragraph">
+<p>A Web Application Bundle (WAB) or WAR has its bundle class loader set as the TCCL, even when the WAB or WAR belongs to
+a PAR or scoped plan.
+To enable the TCCL to load classes of other bundles in the same scope as a WAB or WAR, use a WAB which imports the necessary packages.</p>
+</div>
+<div class="paragraph">
+<p>Also a WAB or WAR has its own per-application trace, independent of the per-application trace of any PAR or scoped plan to which the
+WAB or WAR belongs.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-configuration-artifacts"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_creating_and_using_configuration_artifacts">Creating and Using Configuration Artifacts</h3>
+<div class="paragraph">
+<p>Applications typically include some sort of configuration data
+that might change depending on the environment in which the
+application is deployed. For example, if an application connects to a
+database server using JDBC, the configuration data would include the
+JDBC URL of the database server, the JDBC drvier, and the username and
+password that the application uses to connect to the database server.
+This information often changes as the application is deployed to
+different computers or the application moves from the testing phase to
+the production phase.</p>
+</div>
+<div class="paragraph">
+<p>Virgo provides a feature called
+<strong>configuration artifacts</strong>
+that makes it very easy for you to manage this configuration data. A
+configuration artifact is simply a properties file that is made
+available at runtime using the OSGi
+<code>ConfigurationAdmin</code>
+service. When you create this properties file, you set the values of
+the properties for the specific environment in which you are going to
+deploy your application, and then update the metadata of your Spring
+application to use the properties file. You then deploy the
+application and properties file together, typically as a
+<a href="#developing-applications-plans">plan</a>. Virgo automatically creates a configuration artifact from
+the properties file, and you can manage the lifecycle of this
+configuration artifact in the same way you manage the lifecycle of
+PARs, bundles, and plans, using the Admin
+Console. Additionally, Virgo subscribes your
+application for notification of any refresh of the configuration
+artifact and the application can then adapt accordingly, which means
+you can easily
+<strong>change</strong>
+the configuration of your application without redeploying it.</p>
+</div>
+<div class="paragraph">
+<p>In sum, configuration artifacts, especially when combined with
+plans, provide an excellent mechanism for managing external
+configuration data for your applications.</p>
+</div>
+<div class="paragraph">
+<p>The following sections describe the format of the configuration
+artifact, how to update the Spring application context file of your
+application so that it knows about the configuration artifact, and
+finally how to include it in a plan alongside your application.</p>
+</div>
+<div class="paragraph">
+<p>As an example to illustrate the configuration artifact feature, assume
+that you have a Spring bean called
+<code>PropertiesController</code>
+whose constructor requires that four property values be passed to it,
+as shown in the following snippet of Java code:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-java" data-lang="java">@Controller
+public class PropertiesController {
+
+ private final String driverClassName;
+ private final String url;
+ private final String username;
+ private final String password;
+
+ public PropertiesController(String driverClassName, String url, String username, String password) {
+ this.driverClassName = driverClassName;
+ this.url = url;
+ this.username = username;
+ this.password = password;
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In the preceding example, the <code>PropertiesController</code> constructor requires four property values: <code>driverClassName</code>, <code>url</code>, <code>username</code>, and <code>password</code>. Note that the example shows just one way that a class might require property values; your application may code it another way.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, assume that the following snippet of the associated Spring application context XML file shows how the <code>PropertiesController</code> bean is configured:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><bean class="com.springsource.configuration.properties.PropertiesController">
+ <constructor-arg value="${driverClassName}"/>
+ <constructor-arg value="${url}"/>
+ <constructor-arg value="${username}"/>
+ <constructor-arg value="${password}"/>
+</bean></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The rest of this section describes how the bean can get these property values using a configuration artifact.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-configuration-artifacts-propfile"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_creating_the_properties_file">Creating the Properties File</h4>
+<div class="paragraph">
+<p>To create a properties file that in turn will become a configuration artifact when deployed to Virgo from which a Spring bean, such as the <code>PropertiesController</code> bean, will get the actual property values, follow these guidelines:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Create a text file in which each property is listed as a name/value pair, one pair per line. Precede comments with a <code>#</code>. For example:</p>
+</li>
+</ul>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre># Properties for the com.springsource.configuration.properties sample
+
+driverClassName = org.w3.Driver
+url = http://www.springsource.com
+username = joe
+password = secret</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The example shows four properties whose name correspond to the constructor arguments of the <code>PropertiesController</code> Spring bean.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Name the file anything you want, as long as it has a <code>.properties</code> extension, such as <code>app-properties.properties</code>.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-configuration-artifacts-app"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_updating_your_application">Updating Your Application</h4>
+<div class="paragraph">
+<p>To update your application so that it "knows" about the configuration artifact, you update the application’s Spring application context XML file, typically located in the <code>WEB-INF</code> or <code>META-INF/spring</code> directories (read <a href="#using-spring">Using Spring and Gemini Blueprint</a>
+to understand which directory to use).</p>
+</div>
+<div class="paragraph">
+<p>You use the <code><context:property-placeholder></code> element to specify that you want to use the Virgo mechanism for substituting values into bean properties. The <code>properties-ref</code> attribute of this element points to a <code><osgi-compendium:cm-properties></code> element which you use to specify the configuration artifact that contains the property values. You set the value of the <code>persistent-id</code> attribute of this element equal to the name of the configuration artifact, which is the name of the properties file <strong>minus</strong> the <code>.properties</code> extension.</p>
+</div>
+<div class="paragraph">
+<p>The following sample Spring application context XMl file shows everything wired together; only relevant parts of the file are shown:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?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:context="http://www.springframework.org/schema/context"
+ xmlns:osgi-compendium="http://www.springframework.org/schema/osgi-compendium"
+ xsi:schemaLocation="http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi-1.2.xsd
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context-2.5.xsd
+ http://www.springframework.org/schema/osgi-compendium
+ http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium-1.2.xsd">
+
+...
+
+ <bean class="com.springsource.configuration.properties.PropertiesController">
+ <constructor-arg value="${driverClassName}"/>
+ <constructor-arg value="${url}"/>
+ <constructor-arg value="${username}"/>
+ <constructor-arg value="${password}"/>
+ </bean>
+
+ <context:property-placeholder properties-ref="configAdminProperties"/>
+
+ <osgi-compendium:cm-properties id="configAdminProperties" persistent-id="app-properties"/>
+
+...
+
+</beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The preceding example shows how the id <code>configAdminProperites</code> wires the <code><context:property-placeholder></code> and <code><osgi-compendium:cm-properties></code> elements together. Based on the value of the <code>persistent-id</code> attribute, you must also deploy a properties file called <code>app-properties.properties</code> which Virgo installs as a configuration artifact.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-configuration-artifacts-plan"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_adding_the_configuration_artifact_to_a_plan">Adding the Configuration Artifact to a Plan</h4>
+<div class="paragraph">
+<p>Although you can always deploy your application and associated configuration artifact using the <code>pickup</code> directory, we recommends that you group the two together in a plan, add the two artifacts to the repository, and then deploy the plan using the <code>pickup</code> directory. The following sample plan includes the two artifacts:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+<plan name="multi-artifact.plan" version="1.0.0"
+ scoped="false" atomic="false"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+ <artifact type="configuration" name="app-properties" version="0"/>
+ <artifact type="bundle" name="org.eclipse.virgo.configuration.properties" version="1.0.0"/>
+</plan></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For additional information about plans, see <a href="#developing-applications-plans">Creating Plans</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="using-spring"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_spring_and_gemini_blueprint">Using Spring and Gemini Blueprint</h3>
+<div class="paragraph">
+<p>Virgo supports the use of Spring framework and Gemini Blueprint by application bundles.</p>
+</div>
+<div class="paragraph">
+<p>Spring (and Gemini Blueprint) application context XML files should generally be placed in a bundle’s <code>META-INF/spring</code> directory, but
+for a web application, these files must be placed in the <code>WEB-INF</code> directory.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">A common mistake</div>
+<div class="paragraph">
+<p>Placing a web application’s Spring application context XML files in the <code>META-INF/spring</code> directory produces
+unpredictable results since Spring DM will attempt to build an application context independently of, and asynchronously from,
+the web application.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>To use Gemini Blueprint from a web application, the <code>contextClass</code> servlet parameter and the servlet context listener
+should be configured (in <code>WEB-INF/web.xml</code>) like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><context-param>
+ <param-name>contextClass</param-name>
+ <param-value>org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext</param-value>
+</context-param>
+
+<listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+</listener></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Virgo has Gemini Blueprint built-in and thereby supports the OSGi Blueprint standard in addition to Spring DM.</p>
+</div>
+<div class="paragraph">
+<p>For detailed information on Spring Framework and Blueprint, please see <a href="#prerequisites-references">Prerequisites</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-programmatic-access"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_programmatic_access_to_the_servlet_context">Programmatic Access to the Servlet Context</h3>
+<div class="paragraph">
+<p>This section describes how to programmatically access the servlet context to obtain the WebApplicationContext or the BundleContext.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-programmatic-access-web"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_programmatic_access_to_web_features">Programmatic Access to Web Features</h4>
+<div class="paragraph">
+<p><a id="developing-applications-programmatic-access-web-application-context"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_programmatic_access_to_the_webapplicationcontext">Programmatic Access to the WebApplicationContext</h4>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat automatically creates a <code>WebApplicationContext</code>
+for Web Application Bundles and WAR files. When used in conjunction with an
+an auto-configured Spring MVC <code>DispatcherServlet</code>,
+there is generally no need to access the <code>WebApplicationContext</code>
+programmatically, since all components of the web application are configured
+within the scope of the <code>WebApplicationContext</code>
+itself. However, if you wish to access the <code>WebApplicationContext</code>
+you can do so via the web application’s <code>ServletContext</code>.
+Virgo stores the bundle’s
+<code>WebApplicationContext</code> in the ServletContext under
+the attribute name “BSN-ApplicationContext”, where
+<code>BSN</code> is the <code>Bundle-SymbolicName</code>
+of your WAR or Web Application Bundle.</p>
+</div>
+<div class="paragraph">
+<p>Alternatively, since Virgo also stores the
+<code>WebApplicationContext</code> under the attribute name
+with the value of the <code>WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE</code>
+constant, you may choose to use Spring MVC’s WebApplicationContextUtils'
+<code>getWebApplicationContext(servletContext)</code>
+or
+<code>getRequiredWebApplicationContext(servletContext)</code>
+methods to access the <code>WebApplicationContext</code> without providing
+an explicit attribute name.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-programmatic-access-web-bundle-context"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_programmatic_access_to_the_bundlecontext">Programmatic Access to the BundleContext</h4>
+<div class="paragraph">
+<p>As required by the OSGi Web Applications specification, you can access the
+<code>BundleContext</code> of your WAR or Web Application Bundle via the web application’s
+<code>ServletContext</code>. The bundle context is stored in the
+<code>ServletContext</code> under the attribute name <code>osgi-bundlecontext</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-automatic-imports-web"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_web_application_manifest_processing">Web Application Manifest Processing</h3>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat generates automatic package imports (i.e., via the
+<code>Import-Package</code> manifest header) for certain web applications.
+This section lists which packages are automatically generated.</p>
+</div>
+<div class="paragraph">
+<p>VTS supports Web Application Bundles (WABs) as defined by the OSGi Web Applications Specification and WAR files.
+A WAR will typically not contain any OSGi defined manifest headers.
+A WAB is distinguished from a WAR by the presence of one or more of the following OSGi defined headers:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Bundle-SymbolicName</code></p>
+</li>
+<li>
+<p><code>Bundle-Version</code></p>
+</li>
+<li>
+<p><code>Bundle-ManifestVersion</code></p>
+</li>
+<li>
+<p><code>Import-Package</code></p>
+</li>
+<li>
+<p><code>Web-ContextPath</code></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>As required by the OSGi Web Applications specification, the following defaults are applied to a WAR:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Bundle-ManifestVersion</code> is set to <code>2</code></p>
+</li>
+<li>
+<p><code>Bundle-SymbolicName</code> is generated from the path from which the bundle was installed</p>
+</li>
+<li>
+<p><code>Bundle-ClassPath</code> is set to <code>WEB-INF/classes</code> followed by the JARs in
+<code>WEB-INF/lib</code> in an unspecified order, followed by any transitive dependencies declared
+by the JARs in <code>WEB-INF/lib</code></p>
+</li>
+<li>
+<p><code>Import-Package</code> is extended in an implementation defined way, as described below</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The following packages are automatically imported into WARs:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>javax.servlet;version="2.5"</code></p>
+</li>
+<li>
+<p><code>javax.servlet.http;version="2.5"</code></p>
+</li>
+<li>
+<p><code>javax.servlet.jsp;version="2.1"</code></p>
+</li>
+<li>
+<p><code>javax.servlet.jsp.el;version="2.1"</code></p>
+</li>
+<li>
+<p><code>javax.servlet.jsp.tagext;version="2.1"</code></p>
+</li>
+<li>
+<p><code>javax.el;version="1.0"</code></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>In addition to the above-described imports, VTS will also
+generate automatic imports for all of the packages that are exported by the system
+bundle, unless an import for the package already exists in the WAR’s manifest,
+or the WAR contains the package, i.e. within <code>WEB-INF/classes</code>,
+or in a jar file in <code>WEB-INF/lib</code>. When an import is generated, it
+is versioned such that it exactly matches the version or versions of the package that
+are exported from the system bundle. For example, a package that’s exported only at
+version <code>1.0.0</code> will generate an import with a version of
+<code>[1.0.0,1.0.0]</code>, and a package that’s exported at version
+<code>1.0.0</code> and version <code>2.0.0</code> will generate an import
+with a version of <code>[1.0.0,2.0.0]</code>.</p>
+</div>
+<div class="paragraph">
+<p>Web Application Bundles are not subject to the above manifest processing.
+This is a change of behaviour compared to Virgo Web Server 2.1.x.
+See (see <a href="#known-issues-web-bundle-default-headers">Default Web
+Application Bundle Headers</a>) if you need the old behaviour until you
+have changed your WABs to match the new behaviour.</p>
+</div>
+<div class="paragraph">
+<p>VTS supports ROOT.war as a default web application. The <code>Web-ContextPath</code>
+of the deployed ROOT.war is set to the default web context path - <code>/</code>.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">System Bundle Package Exports</div>
+<div class="paragraph">
+<p>For further details on which packages are exported by the
+OSGi system bundle, consult the <filename>java-server.profile</filename>
+file located in the <code>SERVER_HOME/configuration</code> directory.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-dependencies"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_working_with_dependencies">Working with Dependencies</h3>
+<div class="paragraph">
+<p>Complex enterprise frameworks such a Spring and Hibernate are typically divided into many, many different
+packages. Traditionally, if an OSGi bundle wished to make extensive use of such a framework its manifest would
+have to import a huge number of different packages. This can be an error-prone and tedious process. Furthermore,
+application developers are used to thinking in terms of their application using a framework, such as Spring, as a
+whole, rather than a long list of all the different packages that comprise the framework.</p>
+</div>
+<div class="paragraph">
+<p>The following figure provides a simple illustration of the complexity of only using <code>Import-Package</code>:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/import-package.png" alt="import package"></span></p>
+</div>
+<div class="paragraph">
+<p>Virgo reduces the need for long lists of imported packages by introducing two new manifest
+headers; <code>Import-Bundle</code> and <code>Import-Library</code>. The following figure provides an
+illustration of the simplification that these new headers offer:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/import-bundle_import-library.png" alt="import bundle import library"></span></p>
+</div>
+<div class="paragraph">
+<p>As you can see, use of <code>Import-Bundle</code> and <code>Import-Library</code> can lead to a dramatic reduction
+in the number of imports that you need to include in an application bundle’s manifest. Furthermore, <code>Import-Bundle</code>
+and <code>Import-Library</code> are simply aliases for <code>Import-Package</code>; at deployment time <code>Import-Bundle</code>
+and <code>Import-Library</code> header entries are automatically expanded into numerous <code>Import-Package</code> entries. This
+means that you retain the exact same semantics of using <code>Import-Package</code>, without having to go through the labourious
+process of doing so.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-importing-libraries"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_importing_libraries">Importing Libraries</h4>
+<div class="paragraph">
+<p>A bundle in an application can declare a dependency on a library by using the
+Eclipse Virgo specific <code>Import-Library</code> header. This header specifies a
+comma-separated list of library symbolic names and version ranges that determine which libraries
+are imported. By default a dependency on a library is mandatory but this can be
+controlled through use of the resolution directive in exactly the same way as
+it can with <code>Import-Package</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Library: org.springframework.spring;version="[2.5.4, 3.0)",
+ org.aspectj;version="[1.6.0,1.6.0]";resolution:="optional"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This example <code>Import-Library</code> header declares a mandatory dependency on the Spring
+library at a version from 2.5.4 inclusive to 3.0 exclusive. It also declares an
+optional dependency on the AspectJ library at exactly 1.6.0.</p>
+</div>
+<div class="paragraph">
+<p>anchor:developing-applications-importing-bundles</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_importing_bundles">Importing Bundles</h4>
+<div class="paragraph">
+<p>A bundle in an application can declare a dependency on a bundle by using the
+Eclipse Virgo specific <code>Import-Bundle</code> header. The header specifies a comma-separated
+list of bundle symbolic names, version ranges, and scope declarmations that determine which bundles are imported and the scope of their dependency. By default a dependency
+on a bundle is mandatory but this can be controlled through use of the resolution directive in exactly
+the same way as it can with <code>Import-Package</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Bundle: com.springsource.org.apache.commons.dbcp;version="[1.2.2.osgi, 1.2.2.osgi]"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This example <code>Import-Bundle</code> header declares a mandatory dependency on the Apache Commons
+DBCP bundle at exactly 1.2.2.osgi.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-importing-bundles-disadvantages"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_disadvantages">Disadvantages</h5>
+<div class="paragraph">
+<p>A disadvantage of using <code>Import-Bundle</code> or especially <code>Import-Library</code>, is that the application
+bundle has a greater apparent fan-out than it strictly needs. An Alternative is to use a tool such as bnd or Bundlor
+to generate the package imports of the bundle.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-scoping-libraries-bundles"></a></p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_scoping_bundles_in_an_application">Scoping Bundles in an Application</h4>
+<div class="paragraph">
+<p>When working with a scoped application, such as a PAR file or a plan, you might run into a situation where one of the bundles in the application (call it <code>bundleA</code>) depends on another bundle (<code>bundleB</code>) that performs a runtime task (such as class generation) that a third bundle (<code>bundleC</code>) might need to know about, although <code>bundleC</code> does not explicitly depend on <code>bundleB</code>.</p>
+</div>
+<div class="paragraph">
+<p>For example, Hibernate uses CGLIB (code generation library) at runtime to generate proxies for persistent classes. Assume that a domain bundle in your application uses Hibernate for its persistent objects, and thus its <code>Import-Bundle</code> manifest header includes the Hibernate bundle. Further assume that a separate Web bundle uses reflection in its data-binding code, and thus needs to reflect on the persistent classes generated by Hibernate at runtime. The Web bundle now has an indirect dependency on the Hibernate bundle because of these dynamically generated classes, although the Web bundle does not typically care about the details of how these classes are persisted. One way to solve this dependency problem is to explicitly add the Hibernate bundle to the <code>Import-Bundle</code> header of the Web bundle; however, this type of explicit-specified dependency breaks the modularity of the application and is not a programming best practice.</p>
+</div>
+<div class="paragraph">
+<p>A better way to solve this problem is to specify that Virgo itself dynamically import
+the bundle (Hibernate in the example above) to all bundles in the application at runtime.
+You do this by adding the <code>import-scope:=application</code> directive to the <code>Import-Bundle</code> header
+of the bundle that has the direct dependency (the domain bundle in our example). At runtime, although the Web bundle
+does not explicitly import the Hibernate bundle, Virgo implicitly imports it and thus its classes are available
+to the Web bundle. This mechanism allows you to declare the dependencies you need to make your application run,
+without having to make changes to your application that might limit its flexibility.</p>
+</div>
+<div class="paragraph">
+<p>The following example shows how to use the <code>import-scope</code> directive with the <code>Import-Bundle</code> header:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Bundle: com.springsource.org.hibernate;version="[3.2.6.ga,3.2.6.ga]";import-scope:=application</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can also set the <code>import-scope</code> directive to the (default) value <code>bundle</code>; in this case, the scope of the bundle is just the bundle itself and thus Virgo does not perform any implicit importing into other bundles of the application.</p>
+</div>
+<div class="paragraph">
+<p>Note that use of the <code>import-scope:=application</code> directive of the <code>Import-Bundle</code> header only makes sense when the bundle is part of a scoped application (PAR or plan); if the bundle is not part of a scoped application, then this directive has no effect.</p>
+</div>
+<div class="paragraph">
+<p>Finally, because <code>import-scope:=application</code> implicitly adds a bundle import to each bundle of the PAR or plan, the impact of subsequently refreshing the imported bundle is, in general, broader than it would have been if you had not used <code>import-scope:=application</code>. This may well affect the performance of refresh.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-defining-libraries"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_defining_libraries">Defining Libraries</h4>
+<div class="paragraph">
+<p>Libraries are defined in a simple text file, typically with a <code>.libd</code> suffix. This file identifies the
+library and lists all of its constituent bundles. For example, the following is the library definition for
+Spring 2.5.4:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Library-SymbolicName: org.springframework.spring
+Library-Version: 2.5.4
+Library-Name: Spring Framework
+Import-Bundle: org.springframework.core;version="[2.5.4,2.5.5)",
+ org.springframework.beans;version="[2.5.4,2.5.5)",
+ org.springframework.context;version="[2.5.4,2.5.5)",
+ org.springframework.aop;version="[2.5.4,2.5.5)",
+ org.springframework.web;version="[2.5.4,2.5.5)",
+ org.springframework.web.servlet;version="[2.5.4,2.5.5)",
+ org.springframework.jdbc;version="[2.5.4,2.5.5)",
+ org.springframework.orm;version="[2.5.4,2.5.5)",
+ org.springframework.transaction;version="[2.5.4,2.5.5)",
+ org.springframework.context.support;version="[2.5.4,2.5.5)",
+ org.springframework.aspects;version="[2.5.4,2.5.5)",
+ com.springsource.org.aopalliance;version="1.0"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following table lists all of the headers that may be used in a library definition:</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-defining-libraries-library-headers-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 5. Library definition headers</caption>
+<colgroup>
+<col style="width: 28%;">
+<col style="width: 71%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Header</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Library-SymbolicName</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Identifier for the library</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Library-Version</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Version number for the library</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Import-Bundle</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A comma separated list of bundle symbolic names.
+ Each entry may optionally specify a version (using the <code>version=</code> directive)
+ and the scope of the import (using the <code>import-scope</code> directive).</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Library-Name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Optional. The human-readable name of the library</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Library-Description</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Optional. A human-readable description of the library</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="developing-applications-installing-dependencies"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing_dependencies">Installing Dependencies</h4>
+<div class="paragraph">
+<p>Rather than encouraging the packaging of all an application’s dependencies within the application itself, Virgo
+uses a local provisioning repository of bundles and libraries upon which an application can depend. When the Virgo
+encounters an application with a particular dependency, it will automatically provide, from its provisioning repository,
+the appropriate bundle or library.</p>
+</div>
+<div class="paragraph">
+<p>Making a dependency available for provisioning is simply a matter of copying it to the appropriate location in the
+Virgo’s local provisioning repository. By default this is
+<code>SERVER_HOME/repository/usr</code>. A more detailed discussion of the provisioning
+repository can be found in the <a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-application-trace"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_application_trace">Application Trace</h3>
+<div class="paragraph">
+<p>As described in the <a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a> Virgo provides support for
+per-application trace for PARs, scoped Plans and WABs. Virgo provides SLF4J with Logback logging for Event Logging and Tracing.
+Application trace is configured in the <code>serviceability.xml</code> file.
+See the <a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html/index.html">User Guide</a> for more details.</p>
+</div>
+<div class="paragraph">
+<p><a id="developing-applications-versioning"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_application_versioning">Application Versioning</h3>
+<div class="paragraph">
+<p>In much the same way that individual OSGi bundles can be versioned, Virgo allows applications to be versioned. How exactly you do this depends on how you have packaged the application:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If you package your application using a PAR, you version the application by using the <code>Application-Version</code> header in the <code>MANIFEST.MF</code> file of the PAR file.</p>
+</li>
+<li>
+<p>If you use a plan to describe the artifacts that make up your application, you version it by using the <code>version</code> attribute of the <code><plan></code> root element of the plan’s XML file.</p>
+</li>
+<li>
+<p>If your application consists of a single bundle, you version it in the standard OSGi way: by using the <code>Bundle-Version</code> header of the <code>MANIFEST.MF</code> file of the bundle.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Virgo uses an application’s version to prevent clashes when multiple versions of the same application are deployed at
+the same time. For example, the application trace support described in <a href="#developing-applications-application-trace">Application Trace</a>,
+includes the application’s name and version in the file path. This ensures that each version of the same application has its
+own trace or logging file.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_migrating_to_osgi">Migrating to OSGi</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Taking on a new technology such as OSGi may seem a bit daunting at first,
+but a proven set of migration steps can help ease the journey. Teams
+wishing to migrate existing applications to run on the Virgo for Apache Tomcat
+will find that their applications typically fall into one of the following
+categories.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Web Application</strong>: for web applications,
+this chapter provides an overview of the steps required to migrate
+from a Standard WAR to a Shared Services WAR. Furthermore, the following
+chapter provides a detailed case study involving the migration
+of the Spring 3.0 Form Tags show case application.</p>
+</li>
+<li>
+<p><strong>Anything else</strong>: for any other type
+of application, you will typically either deploy your application
+as multiple individual bundles, as a single PAR file, or as a plan,
+which is the recommended approach for deploying applications on
+the Virgo for Apache Tomcat. See <a href="#migrating-to-osgi-par-plan">Migrating to a Plan or a PAR</a> for details.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_migrating_web_applications">Migrating Web Applications</h3>
+<div class="paragraph">
+<p>Many applications may start with the standard WAR format for web applications and
+gradually migrate to a more OSGi-oriented architecture. Since the Virgo for Apache Tomcat
+offers several benefits to all supported deployment formats, it provides a smooth
+migration path. Of course, depending on your application’s complexity and your
+experience with OSGi, you may choose to start immediately with an OSGi-based
+architecture.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web-standard-war"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_standard_war_2">Standard WAR</h4>
+<div class="paragraph">
+<p>If you are not yet familiar with OSGi or simply want to deploy an existing web application on the Virgo for Apache Tomcat,
+you can deploy a standard WAR and leverage the VTS with a minimal learning curve. In fact reading the
+<a href="../../virgo-user-guide/html/index.html">User Guide</a>
+is pretty much all that you need to do to get started. Furthermore, you will gain
+familiarity with the Virgo for Apache Tomcat, while preparing to take advantage of the other formats.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web-shared-libraries-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shared_libraries_war_2">Shared Libraries WAR</h4>
+<div class="paragraph">
+<p>The <strong>Shared Libraries WAR</strong>
+format is the first step to reaping the benefits of OSGi. In this phase, you dip your toes into OSGi-based dependency
+management by removing JAR files from the WAR and declaring dependencies on corresponding OSGi bundles.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web-shared-services-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shared_services_war_2">Shared Services WAR</h4>
+<div class="paragraph">
+<p>In this phase, you take the next step toward a fully OSGi-based architecture by separating your web artifacts
+(e.g., Servlets, Controllers, etc.) from the services they depend on.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-web-summary"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_web_migration_summary">Web Migration Summary</h4>
+<div class="paragraph">
+<p>The following diagram graphically depicts the migration path from a Standard WAR to a Shared Services WAR.
+As you can see, the libraries (<strong>libs</strong>) move from within the deployment artifact
+to the Bundle Repository.
+Similarly, the services move from within the WAR to external bundles and are accessed via the
+OSGi Service Registry. In addition, the overall footprint of the deployment artifact decreases
+as you move towards a Shared Services WAR.
+<span class="image"><img src="assets/images/migration-path-war-to-shsrv.png" alt="migration path war to shsrv"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-par-plan"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_migrating_to_a_plan_or_a_par">Migrating to a Plan or a PAR</h3>
+<div class="paragraph">
+<p>The first steps to migrating an existing application to a plan or a PAR are the same: deciding on the bundles that make up the application and ensuring that their <code>Import-Package</code>, <code>Import-Library</code>, and <code>Import-Bundle</code> manifest headers are correct. Once you have the list of bundles that make up your application, you then decide whether you want to JAR them all into a single application file (PAR) or create a plan that simply lists the bundles by reference. Creating a plan is the recommend way to create an application, although PARs also have benefits that might suit your needs better, as described in <a href="#migrating-to-osgi-parplan-decide">Plan or PAR?</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-parplan-bundles"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_creating_the_application_bundles">Creating the Application Bundles</h4>
+<div class="paragraph">
+<p>When migrating an existing application to the PAR packaging and deployment format or a plan,
+you consider modularity as the prime objective. Following the ideas discussed in
+<a href="#architecture-forming-bundles">A Guide to Forming Bundles</a>, you refactor the application into multiple bundles.
+You may start conservatively with a small number of bundles and then further refactor those bundles.</p>
+</div>
+<div class="paragraph">
+<p>If the original code is crafted following good software practices such as separation of concerns and use of
+well-defined interfaces, migration may involve modifying only configuration and packaging. In other words,
+your Java sources will remain unchanged. Even configuration is likely to change only slightly.</p>
+</div>
+<div class="paragraph">
+<p>For example, the following diagram depicts a typical web application that has been refactored and
+packaged as a PAR. The blue elements within the <strong>Application</strong> box constitute
+the bundles of the application. Each of these bundles imports types from other bundles within
+the PAR using <code>Import-Package</code>. The green elements in the left column represent
+<strong>libraries</strong> installed on the VTS. The PAR’s bundles reference these
+libraries using <code>Import-Library</code>. The purple element in the left column
+represents a bundle within the VTS’s bundle repository which is imported by the DAO
+bundle using <code>Import-Bundle</code>. In contrast to a traditional, monolithic
+WAR deployment, the PAR format provides both a logical and physical application boundary
+and simultaneously allows the application to benefit from both the OSGi container and the Virgo for Apache Tomcat.
+<span class="image"><img src="assets/images/migrating-to-osgi-par-structure.png" alt="migrating to osgi par structure"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="migrating-to-osgi-parplan-decide"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_plan_or_par">Plan or PAR?</h4>
+<div class="paragraph">
+<p>Once you have refactored your existing application into separate OSGi bundles, you then must decide whether to package the bundles into a single PAR file or create a plan that lists the bundles by reference. As described in more detail in preceding sections of this guides, PARs and plans have similar benefits, such as:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Scoping</p>
+</li>
+<li>
+<p>Atomicity, or the ability to deploy and control the bundles as a single unit</p>
+</li>
+<li>
+<p>Versioning</p>
+</li>
+<li>
+<p>Improved serviceability</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Plans, the method most recommended by us to create your application, has the following added benefits:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Guaranteed order of deployment, based on the order in which they are listed in the plan’s XML file</p>
+</li>
+<li>
+<p>Ease of sharing content between plans and updating individual plans without having to physically repackage, due to the artifacts being listed by reference.</p>
+</li>
+<li>
+<p>Ability to disable scoping and atomicity, if desired.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The main benefit of PARS is that, because they physically contain all the required artifacts, you know exactly what bundles are deployed when you deploy the PAR file, in contrast to plans that allow content to be substituted or lost.</p>
+</div>
+<div class="paragraph">
+<p>For details about creating plans and PARs, see <a href="#developing-applications-plans">Creating Plans</a> and <a href="#developing-applications-packaging">Creating PARs and Web Applications</a>, respectively.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study"></a></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_case_study_migrating_the_form_tags_sample_application">Case Study: Migrating the Form Tags Sample Application</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Migrating Form Tags</p>
+</div>
+<div class="paragraph">
+<p>In this chapter we will walk through the steps needed to migrate the
+Form Tags sample application from a standard Java EE WAR to a fully
+OSGi compliant <strong>Shared Services WAR</strong> within a PAR.
+The migration involves four packaging and deployment formats:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p><a href="#formtags-case-study-war">Standard WAR</a></p>
+</li>
+<li>
+<p><a href="#formtags-case-study-war-shared-libs">Shared Libraries WAR</a></p>
+</li>
+<li>
+<p><a href="#formtags-case-study-war-shared-services">Shared Services WAR</a></p>
+</li>
+<li>
+<p><a href="#formtags-case-study-par">PAR with a shared services WAR</a></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Each of these migration steps will produce a web application
+that can be deployed and run on the VTS.</p>
+</div>
+<div class="paragraph">
+<p>After summarising the process, an example <code>plan</code>
+is shown which is another way of packaging and deploying the application.</p>
+</div>
+<div class="paragraph">
+<p>The following image displays the directory structure you should have
+after installing the Form Tags sample. Note however that the release
+tag will typically resemble <code>3.0.0.RELEASE</code>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-sample-layout.png" alt="formtags case study sample layout"></span></p>
+</div>
+<div class="paragraph">
+<p>The <code>dist</code> directory contains the distributables,
+and the <code>projects</code> directory contains the source code and build scripts.</p>
+</div>
+<div class="paragraph">
+<p>For simplicity, this chapter will focus on the distributables—which
+are built using Virgo-Build rather than on configuring a project in an IDE.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Pre-packaged distributables are made available in the <code>dist</code> directory;
+however, if you would like to modify the samples or build
+them from scratch, you may do so using Virgo-Build. Take a look at
+the <code>README.TXT</code> file in each of the folders under the <code>projects</code>
+directory in the Form Tags sample for instructions.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-introduction"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_overview_of_the_form_tags_sample_application">Overview of the Form Tags Sample Application</h3>
+<div class="paragraph">
+<p>The sample that we will be using is the Form Tags show case
+sample
+which was provided with Spring 2.0. The Form Tags application
+has
+been removed from the official Spring 2.5.x distributions;
+however,
+since it is relatively simple but still contains enough
+ingredients
+to demonstrate the various considerations required during
+a migration,
+we have chosen to use it for these examples.</p>
+</div>
+<div class="paragraph">
+<p>The purpose of the Form Tags show case sample was to demonstrate how
+the Spring specific
+<code>form:</code>
+tags, released
+in Spring 2.0, make view development with JSPs and tag
+libraries easier.
+The Form Tags application consists of a single
+<code>UserService</code>
+which returns a list
+of
+<code>Users</code>
+. Furthermore, the application demonstrates how to list, view,
+and
+edit
+<code>Users</code>
+in a simple Spring MVC based web application using JSP
+and JSTL.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_war">Form Tags WAR</h3>
+<div class="paragraph">
+<p>We begin with a standard WAR deployment.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The VTS supports the standard Java EE WAR
+packaging
+and deployment format as a first-class citizen, and there
+are many
+benefits to deploying a standard WAR file on the
+VTS including,
+but not limited to: tooling
+support, runtime error diagnostics, FFDC
+(first failure data
+capture), etc.
+In addition, support for standard WAR deployment
+provides an easy on-ramp
+for trying out the
+VTS with existing web applications.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The following screen shot displays the directory structure of the
+Form Tags application using the standard WAR format. As you can see,
+there is no deviation from the standard structure and layout, and as
+you would expect, all of the web application’s third-party
+dependencies
+(for example: Spring, Commons Logging) are packaged as
+JARs in
+<code>WEB-INF/lib</code>
+.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-exploded-war.png" alt="formtags case study exploded war"></span></p>
+</div>
+<div class="paragraph">
+<p>To deploy this application, simply copy
+<code>dist/formtags-war-3.0.0.*.war</code>
+to
+the
+<code>SERVER_HOME/pickup</code>
+directory for hot deployment.</p>
+</div>
+<div class="paragraph">
+<p>You should then see the VTS produce
+console output similar to the following:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 14:54:45.135] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-war-3.0.0.RELEASE.war'.
+[2009-07-01 14:54:45.797] fs-watcher
+ <SPDE0010I> Deployment of 'formtags-war-3.0.0.RELEASE.war' version '0' completed.
+[2009-07-01 14:54:45.797] Thread-20
+ <SPWE0000I> Starting web bundle '/formtags-war-3.0.0.RELEASE'.
+[2009-07-01 14:54:46.380] Thread-20
+ <SPWE0001I> Started web bundle '/formtags-war-3.0.0.RELEASE'.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Navigate to
+<code><a href="http://localhost:8080/" class="bare">http://localhost:8080/</a></code>
+plus the web application context path,
+which in the above case is
+<code>formtags-war-3.0.0.RELEASE</code>
+. Thus navigating to
+<code><a href="http://localhost:8080/formtags-war-3.0.0.RELEASE" class="bare">http://localhost:8080/formtags-war-3.0.0.RELEASE</a></code>
+should render the sample application’s welcome page, as
+displayed in the screen
+shot below.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>For WARs, the default web context path is the name of the WAR file
+without the
+<code>.war</code>
+extension. You can optionally
+specify a context path using the
+<code>Web-ContextPath</code>
+bundle
+manifest header, which will be described in further detail
+later.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-war-webpage.png" alt="formtags case study war webpage"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war-shared-libs"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_shared_libraries_war">Form Tags Shared Libraries WAR</h3>
+<div class="paragraph">
+<p>As mentioned above, a standard WAR file typically packages of all its
+required
+dependencies in
+<code>WEB-INF/lib</code>
+. The servlet container will
+then add all of the JARs in
+<code>WEB-INF/lib</code>
+to the application’s
+classpath.</p>
+</div>
+<div class="paragraph">
+<p>The first step of the migration towards benefiting from an OSGi
+container is to retrieve the dependencies from the
+VTS’s bundle
+repository at runtime. This
+can significantly reduce the time it takes to build
+and deploy the
+application. It also enables the enforcement of policies
+regarding the
+use of third-party libraries.</p>
+</div>
+<div class="paragraph">
+<p>The way in which dependencies are declared in an OSGi environment is
+via manifest headers in a bundle’s
+<code>/META-INF/MANIFEST.MF</code>
+.
+As mentioned in <a href="#developing-applications">Developing Applications</a>, there are
+three ways of expressing dependencies:
+<code>Import-Package</code>,
+<code>Import-Bundle</code> and
+<code>Import-Library</code>.</p>
+</div>
+<div class="paragraph">
+<p>The Form Tags application uses JSTL standard tag libraries.
+Thus, you
+need to choose a JSTL provider, for example the
+Apache implementation
+which comes with the VTS. To use the
+Apache
+implementation of JSTL, you need to express your dependency
+as
+outlined in the following manifest listing.
+Because it is a single
+bundle,
+<code>Import-Bundle</code>
+is
+the simplest and therefore preferred manifest header to use.</p>
+</div>
+<div class="paragraph">
+<p>The Form Tags application requires commons-logging and Spring.
+It
+would be very painful to have to list all the Spring packages one by
+one.
+Equally, considering the number of bundles that make up the
+Spring framework, it would be verbose to list each bundle. Therefore
+<code>Import-Library</code>
+is the preferred approach
+for expressing the dependency on the Spring
+framework.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>How do you determine the name of a library definition provided
+by the Virgo for Apache Tomcat? Use the <a href="http://www.eclipse.org/ebr">EBR</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Examine the
+<code>/META-INF/MANIFEST.MF</code>
+in
+<code>/dist/formtags-shared-libs-*.war</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.7.0
+Created-By: 1.5.0_13-119 (Apple Inc.)
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.springframework.showcase.formtags-shared-libs
+Import-Library: org.springframework.spring;version="[3.0.0,4.0.0)"
+Import-Bundle: com.springsource.org.apache.taglibs.standard;version="1
+ .1.2"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can see the
+<code>Import-Library</code>
+and
+<code>Import-Bundle</code>
+directives that instruct the VTS to add the
+appropriate package imports to the bundle
+classpath used by this WAR file.</p>
+</div>
+<div class="paragraph">
+<p>Deploying the shared libraries WAR onto the
+VTS should result
+in console output similar to
+the following:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 15:00:14.953] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-shared-libs-3.0.0.RELEASE.war'.
+[2009-07-01 15:00:15.363] fs-watcher
+ <SPDE0010I> Deployment of 'org.springframework.showcase.formtags_shared_libs' version '2' completed.
+[2009-07-01 15:00:15.364] Thread-20
+ <SPWE0000I> Starting web bundle '/formtags-shared-libs-3.0.0.RELEASE'.
+[2009-07-01 15:00:15.816] Thread-20
+ <SPWE0001I> Started web bundle '/formtags-shared-libs-3.0.0.RELEASE'.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Navigating to
+<code><a href="http://localhost:8080/formtags-shared-libs-BUILDTAG" class="bare">http://localhost:8080/formtags-shared-libs-BUILDTAG</a>
+`
+should render the welcome page. Note that for the pre-packaged
+distributable,
+the
+`BUILDTAG</code>
+should be similar to
+<code>3.0.0.RELEASE</code>
+;
+whereas, for a local build the
+<code>-BUILDTAG</code>
+may be completely
+omitted. Please consult the console output,
+web-based admin console, or log
+to determine the exact context path
+under which the web application has been deployed.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war-shared-services"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_shared_services_war">Form Tags Shared Services WAR</h3>
+<div class="paragraph">
+<p>The next step in the migration is to deploy the services as a
+separate
+OSGi bundle which the WAR then references.
+The Form Tags
+sample has a single service
+<code>UserManager</code>.</p>
+</div>
+<div class="paragraph">
+<p>This scenario has two separate deployables, the
+<code>service</code>
+bundle and the WAR file.
+The following image shows the two separate
+source trees:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-shared-services-eclipse.png" alt="formtags case study shared services eclipse"></span></p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Note that the WAR does not contain the
+<code>.domain</code>
+or
+<code>.service</code>
+packages as these will be imported from the separate service bundle.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war-shared-services-service"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_the_service_bundle">The Service Bundle</h4>
+<div class="paragraph">
+<p>The responsibility of the first bundle (
+<code>formtags-shared-services-service</code>
+)
+is to provide the API of the formtags service. This includes both
+the
+domain and the service API. In the same way that imports are
+defined
+in the
+<code>/META-INF/MANIFEST.MF</code>
+, so are exports.
+The following is the
+<code>/META-INF/MANIFEST.MF</code>
+listing from the service bundle.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.7.0
+Created-By: 1.5.0_13-119 (Apple Inc.)
+Bundle-ManifestVersion: 2
+Bundle-Name: FormTags Service (and implementation)
+Bundle-SymbolicName: org.springframework.showcase.formtags.service-shared-services
+Export-Package: org.springframework.showcase.formtags.service,org.spri
+ ngframework.showcase.formtags.domain
+Import-Library: org.springframework.spring;version="[3.0.0,4.0.0)"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The symbolic name of this bundle is
+<code>org.springframework.showcase.formtags.service-shared-services</code>.
+Note that the name of the bundle typically describes the package that the bundle primarily exports.
+If you take a look at the <code>repository/bundles/ext</code> in the VTS
+directory, you’ll see that
+names are almost always indicative of the contents of the bundle.
+For this example, however, we have also appended
+“-shared-services”
+in order to avoid possible clashes with other bundle symbolic
+names.
+You will see later that the PAR also contains a service
+bundle.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>In OSGi, the combination of
+<code>Bundle-SymbolicName</code>
+and
+<code>Bundle-Version</code>
+is used to uniquely identify
+a bundle within the OSGi container.
+Furthermore, when you deploy
+a bundle to the Virgo for Apache Tomcat,
+for example via the
+<code>pickup</code>
+directory, a bundle’s filename is also used to uniquely
+identify it for
+the purpose of supporting
+<strong>hot deployment</strong>
+via
+the file system.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>As well as exporting types (i.e. the domain classes and service
+API), the service bundle also publishes an implementation of the
+<code>UserManager</code>
+. The actual implementation is
+<code>StubUserManager</code>
+; however, that should remain an
+implementation detail of this
+bundle.</p>
+</div>
+<div class="paragraph">
+<p>The fact that this bundle publishes a service is not captured in
+the
+<code>/META-INF/MANIFEST.MF</code>
+, as it is a Gemini Blueprint concept.
+The following image is of
+<code>src/main/resources/spring</code>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-shared-services-service-resources.png" alt="formtags case study shared services service resources"></span></p>
+</div>
+<div class="paragraph">
+<p>As you can see there are two Spring configuration files:
+<code>module-context.xml</code>
+and
+<code>osgi-context.xml</code>.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>These names are abitrary; however, they follow an informal
+convention:
+<code>module-context.xml</code>
+typically bootstraps the Spring context
+(usually delegating to
+smaller fine grained context files inside another directory),
+whilst
+<code>osgi-context.xml</code>
+contains all the OSGi service exports and references.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The following is a listing of
+<code>module-context.xml</code>
+.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+ <bean id="userManager"
+ class="org.springframework.showcase.formtags.service.internal.StubUserManager"/>
+
+</beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>As you can see, this simply defines a bean called
+<code>userManager</code>
+.
+The following is a listing of
+<code>osgi-context.xml</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?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: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/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <service ref="userManager"
+ interface="org.springframework.showcase.formtags.service.UserManager"/>
+
+</beans:beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This single bean definition exports the
+<code>userManager</code>
+defined in
+<code>module-context.xml</code>
+to the
+OSGi service registry and makes it available under the public
+`org.springframework.showcase.formtags.service.UserManager
+`
+API.</p>
+</div>
+<div class="paragraph">
+<p>The service bundle should now be ready to deploy on the
+VTS.
+So copy
+<code>/dist/formtags-shared-services-services*</code>
+to the
+<code>SERVER_HOME/pickup</code>
+directory.
+Output similar to the following should appear in the
+VTS’s console:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 15:05:03.511] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-shared-services-service-2.0.0.RELEASE.jar'.
+[2009-07-01 15:05:03.688] fs-watcher
+ <SPDE0010I> Deployment of 'org.springframework.showcase.formtags.service_shared_services' version '2.0.0.RELEASE' completed.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-war-shared-services-war"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_accessing_the_service_and_types_from_the_war">Accessing the Service and Types from the WAR</h4>
+<div class="paragraph">
+<p>The WAR file now needs to access the types and service exported
+by
+the service bundle. The following listing is the WAR’s
+<code>/META-INF/MANIFEST.MF</code>
+which imports the types
+exported by the service bundle. The
+<code>Import-Bundle</code>
+statement has also been extended to import
+<code>org.springframework.osgi.core</code>
+,
+which is necessary in order to load an OSGi-enabled
+<code>WebApplicationContext</code>
+.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.7.0
+Created-By: 1.5.0_13-119 (Apple Inc.)
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.springframework.showcase.formtags.web-shared-
+ services
+Import-Package: org.springframework.showcase.formtags.domain,org.sprin
+ gframework.showcase.formtags.service, org.eclipse.virgo.web.dm;version="[1.0,2.1)"
+Import-Library: org.springframework.spring;version="[2.5.4,3.1.0)"
+Import-Bundle: com.springsource.org.apache.taglibs.standard;version="1
+ .1.2",org.springframework.osgi.core</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In addition to importing the exported types of the service bundle,
+the WAR must also obtain a reference to the
+<code>UserManager</code>
+published by the service bundle. The following image shows the
+directory
+structure of the Shared Services WAR.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-shared-services-war-resources.png" alt="formtags case study shared services war resources"></span></p>
+</div>
+<div class="paragraph">
+<p>As you can see in the above image, the Form Tags Shared Services
+WAR’s
+<code>/WEB-INF/web.xml</code>
+directory contains a standard
+<code>web.xml</code>
+deployment descriptor,
+<code>applicationContext.xml</code>
+which defines the configuration
+for the
+<strong>root</strong>
+<code>WebApplicationContext</code>
+, and
+<code>formtags-servlet.xml</code>
+which defines the configuration specific to the
+configured
+<strong>formtags</strong>
+<code>DispatcherServlet</code>
+.</p>
+</div>
+<div class="paragraph">
+<p>As is typical for Spring MVC based web applications, you configure a
+<code>ContextLoaderListener</code>
+in
+<code>web.xml</code>
+to load your root
+<code>WebApplicationContext</code>
+; however, to enable your
+<code>WebApplicationContext</code>
+to be able to reference services from the OSGi Service Registry,
+you
+must explicitly set the
+<code>contextClass</code>
+Servlet context parameter to the fully qualified
+class name of a
+<code>ConfigurableWebApplicationContext</code>
+which is OSGi-enabled. When deploying
+Shared Services WARs to the
+Virgo for Apache Tomcat, you should use
+<code>org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext</code>.
+This will then enable the use of Gemini Blueprint’s <code><reference …​ /></code>
+within your root <code>WebApplicationContext</code> (i.e., in <code>applicationContext.xml</code>).
+The following listing is an excerpt from <code>/WEB-INF/web.xml</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><context-param>
+ <param-name>contextClass</param-name>
+ <param-value>org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext</param-value>
+</context-param>
+
+<listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+</listener></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The Form Tags Shared Services WAR contains a
+<code>/WEB-INF/applicationContext.xml</code>
+file which is the default configuration location used to create the
+<strong>root</strong>
+<code>WebApplicationContext</code>
+for Spring MVC’s
+<code>ContextLoaderListener</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>As already mentioned, in the OSGi world, bundle configuration
+takes
+place in the root
+<code>/META-INF/</code>
+directory.
+Typically Gemini Blueprint powered configuration files will live
+there as well (e.g., in
+<code>/META-INF/spring/*.xml</code>
+).
+In a WAR, however, the root
+<code>WebApplicationContext</code>
+loaded by
+<code>ContextLoaderListener</code>
+and the
+<code>DispatcherServlet’s</code>
+application context typically live in
+<code>/WEB-INF/</code>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The following is the listing of the WAR’s
+<code>/WEB-INF/applicationContext.xml</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?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: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/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <reference id="userManager"
+ interface="org.springframework.showcase.formtags.service.UserManager"/>
+
+</beans:beans></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The single bean declaration is retrieving a service that implements
+the
+`org.springframework.showcase.formtags.service.UserManager
+`
+API from the OSGi Service Registry.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>You might have been expecting a reference to the service bundle,
+but that isn’t how OSGi works. OSGi provides a service
+registry, and this bean definition is accessing a service in that
+registry that meets the specified restriction (i.e. implements
+the
+specified interface). This leads to a very loosely coupled
+programming model: the WAR really doesn’t care where the
+implementation
+comes from.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>What happens if there is no service at runtime?
+What if there are
+multiple services that match the criteria?
+Gemini Blueprint provides a lot
+of configuration options, including
+whether or not the reference is
+<strong>mandatory</strong>
+,
+how long to wait for a service reference, etc. Please consult the
+<a href="https://www.eclipse.org/gemini/blueprint/documentation/reference/2.0.0.RELEASE/html/index.html">Eclipse Gemini Blueprint Reference Guide</a> for further information.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>One of the benefits of programming to interfaces is that you
+are
+decoupled from the actual implementation; Gemini Blueprint provides a
+proxy. This
+has enormous benefits including the ability to
+dynamically refresh individual bundles without
+cascading that
+refresh to unrelated bundles.</p>
+</div>
+<div class="paragraph">
+<p>To deploy the WAR, copy
+<code>/dist/formtags-shared-services-war*</code>
+to the
+<code>SERVER_HOME/pickup</code>
+directory.
+You should then see console output similar to the
+following:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 15:09:19.819] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-shared-services-war-3.0.0.RELEASE.war'.
+[2009-07-01 15:09:20.167] fs-watcher
+ <SPDE0010I> Deployment of 'org.springframework.showcase.formtags.web_shared_services' version '3' completed.
+[2009-07-01 15:09:20.168] Thread-20
+ <SPWE0000I> Starting web bundle '/formtags-shared-services-war-3.0.0.RELEASE'.
+[2009-07-01 15:09:20.647] Thread-20
+ <SPWE0001I> Started web bundle '/formtags-shared-services-war-3.0.0.RELEASE'.
+----</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Navigating to the appropriate link should render the welcome page.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-par"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_par">Form Tags PAR</h3>
+<div class="paragraph">
+<p>The final step in the migration is that of a full blown
+OSGi
+application with web support. The Virgo for Apache Tomcat introduces a
+new packaging and deployment format: the PAR.</p>
+</div>
+<div class="paragraph">
+<p>A PAR is a standard JAR with a “.par”
+file extension which contains all of the modules of your
+application (e.g., service, domain, and infrastructure bundles
+as well
+as a WAR for web applications) in a single deployment unit.
+Moreover,
+a PAR defines both a physical and logical application boundary.</p>
+</div>
+<div class="paragraph">
+<p>The PAR sample is comprised of four directories, as shown below.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-par-sample.png" alt="formtags case study par sample"></span></p>
+</div>
+<div class="paragraph">
+<p>The
+<code>formtags-par</code>
+directory is a build project that
+understands how to create the PAR
+from its constituent bundles.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-par-granularity"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_granularity_of_the_par">Granularity of the PAR</h4>
+<div class="paragraph">
+<p>Achieving the appropriate level of granularity for your OSGi
+application is more of an art than a science. It helps to look
+at the
+different requirements:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 6. Granularity drivers</caption>
+<colgroup>
+<col style="width: 40%;">
+<col style="width: 60%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Requirement</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Domain/Technical Layering</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Applications can be split either by domain (i.e.,
+ by use case or
+ <strong>vertically</strong>
+ ) or
+ by their technical layers (i.e.,
+ <strong>horizontally</strong>
+ ).
+ Since the Form Tags application essentially has only
+ a single
+ use case, the bundles are split by technical layering
+ (i.e.,
+ domain, service, and web).</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Refreshability</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A major benefit of OSGi is that of refreshability: if one
+ bundle
+ is changed, only bundles that have a dependency upon
+ the
+ exported types need to be refreshed. This has a high impact
+ on
+ development time costs as well as production
+ costs. However,
+ this can lead to lots of smaller, fine grained
+ bundles. An
+ example of this granularity would be to
+ separate out the service
+ API and implementation into two different
+ bundles. This means
+ that a change in the implementation
+ wouldn’t require any
+ other bundles to be refreshed.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Ultimately the right level of granularity will depend upon your
+particular application and team.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-par-domain-and-service"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_domain_and_service_bundles">Domain and Service Bundles</h4>
+<div class="paragraph">
+<p>The service bundle is identical (except for the
+<code>Bundle-SymbolicName</code>
+) to that
+in the shared-services variation of the sample.
+The PAR has
+also separated out the domain classes into their own bundle.
+When
+layering by technical considerations, it is again
+somewhat of an
+unofficial convention to have a
+<code>.domain</code>
+bundle.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-par-par"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_constructing_the_par">Constructing the PAR</h3>
+<div class="paragraph">
+<p>Finally we need to construct the PAR itself.
+The following are
+the contents of the exploded PAR.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/formtags-case-study-par-exploded.png" alt="formtags case study par exploded"></span></p>
+</div>
+<div class="paragraph">
+<p>You can see that the PAR itself doesn’t contain any
+resources or
+Java classes: it simply packages together a related set
+of bundles
+as a single, logical unit.</p>
+</div>
+<div class="paragraph">
+<p>The PAR does however, contain its own
+<code>/META-INF/MANIFEST.MF</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Manifest-Version: 1.0
+Application-SymbolicName: org.springframework.showcase.formtags-par
+Application-Version: 3.0.0
+Application-Name: FormTags Showcase Application (PAR)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For more information on the contents of the PAR’s
+<code>/META-INF/MANIFEST.MF</code>
+, please consult <a href="#developing-applications">Developing Applications</a>.</p>
+</div>
+<div class="paragraph">
+<p>You can now deploy the PAR on the VTS, for
+example by copying
+<code>/dist/formtags-par*.par</code>
+to the VTS’s
+<code>pickup</code>
+directory.
+You should then see console output similar to the
+following:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The console output has been reformatted to fit this document.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">[2009-07-01 15:13:43.306] fs-watcher
+ <SPDE0048I> Processing 'CREATED' event for file 'formtags-par-2.0.0.RELEASE.par'.
+[2009-07-01 15:13:44.060] fs-watcher
+ <SPDE0010I> Deployment of 'formtags-par' version '2.0.0.RELEASE' completed.
+[2009-07-01 15:13:44.068] Thread-20
+ <SPWE0000I> Starting web bundle '/formtags-par'.
+[2009-07-01 15:13:45.212] Thread-20
+ <SPWE0001I> Started web bundle '/formtags-par'.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Navigate to <a href="http://localhost:8080/formtags-par" class="bare">http://localhost:8080/formtags-par</a> to see the welcome page.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Note that the web application’s context path is explicitly
+defined via the
+<code>Web-ContextPath</code>
+manifest header in
+<code>/META-INF/MANIFEST.MF</code>
+of the Web application bundle within the PAR.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-summary"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_summary_of_the_form_tags_migration">Summary of the Form Tags Migration</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat provides out-of-the-box support for
+deploying
+standard Java EE WAR files. In addition support for
+<strong>Shared Libraries</strong>
+and
+<strong>Shared Services</strong>
+WAR formats provides a logical migration path away from standard,
+monolithic WARs toward OSGi-enable Web applications. The PAR
+packaging
+and deployment format enables truly fine-grained,
+loosely-coupled, and
+efficient application development. In general,
+the migration steps
+presented in this chapter are fairly
+straightforward, but developers
+should set aside time for some
+up-front design of the bundles themselves.</p>
+</div>
+<div class="paragraph">
+<p>It is recommended that you take another sample application or
+indeed your own small application and go through this migration
+process yourself. This will help you better understand the concepts
+and
+principles at work. In addition, it is highly recommended that you
+familiarize yourself with the extensive Eclipse IDE support provided
+by the Virgo Tools. See the Virgo Tools Guide for more on that.</p>
+</div>
+<div class="paragraph">
+<p><a id="formtags-case-study-as-plan"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_form_tags_as_a_plan">Form Tags as a Plan</h3>
+<div class="paragraph">
+<p>Plans (see <a href="#developing-applications-plans">Creating Plans</a>)
+allow us to package and deploy the Form Tags application in a more
+flexible way.
+Instead of packaging all the bundles of the application
+into a single PAR file, each bundle can be placed in the repository
+and referred to in a <strong>plan</strong>.</p>
+</div>
+<div class="paragraph">
+<p>The bundles to be placed in a repository in the chain (for example,
+<code>repository/usr</code>) are:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">org.springframework.showcase.formtags.domain-2.0.0.RELEASE.jar
+org.springframework.showcase.formtags.service-2.0.0.RELEASE.jar
+org.springframework.showcase.formtags.web-2.0.0.RELEASE.war</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>which are just those files which were part of the PAR.</p>
+</div>
+<div class="paragraph">
+<p>Here is the contents of a suitable plan file for the Form Tags
+example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+<plan name="formtags.plan" version="2.0.0" scoped="true" atomic="true"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
+
+ <artifact type="bundle" name="org.springframework.showcase.formtags.domain_par" version="[3.0,3.1)"/>
+ <artifact type="bundle" name="org.springframework.showcase.formtags.service_par" version="[3.0,3.1)"/>
+ <artifact type="bundle" name="org.springframework.showcase.formtags.web_par" version="[3.0,3.1)"/>
+
+</plan></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>where we have chosen to use any of the artifacts in the version range [2.0,2.1).
+This plan (as a file called, for example, <code>formtags.plan</code>)
+can be deployed in any of the normal ways (for example, dropped in the <code>pickup</code> directory).</p>
+</div>
+<div class="paragraph">
+<p>When the plan is deployed, the artifacts it references are
+installed from the repository and deployed in the order given in the
+plan file.
+Because this plan is scoped and atomic, the collection is
+given an application scope and is started and stopped as a single
+unit.</p>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_working_with_common_enterprise_libraries">Working with Common Enterprise Libraries</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Common Libraries</p>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries-hibernate"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_working_with_hibernate">Working with Hibernate</h3>
+<div class="paragraph">
+<p><a id="common-libraries-hibernate-import"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_importing_hibernate">Importing Hibernate</h4>
+<div class="paragraph">
+<p>Hibernate uses CGLIB to dynamically create subclasses of your entity types at
+runtime. To guarantee that Hibernate and CGLIB can correctly see the types,
+you must add an <code>Import-Library</code> or <code>Import-Bundle</code> for the Hibernate library or bundle
+into any bundle that uses Hibernate directly.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, if other bundles in your application contain types to be persisted by Hibernate, then be sure to specify the <code>import-scope</code> directive of the <code>Import-Bundle</code> header in the bundle that uses Hibernate directly. The <code>import-scope</code> directive tells Virgo for Apache Tomcat to implicitly import the bundle into all other bundles that make up the application; this ensures that bundles that indirectly depend on the generated Hibernate classes have access to them, but you do not have to explicitly update their <code>Import-Bundle</code> header, ensuring modularity. For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Bundle: com.springsource.org.hibernate;version="[3.2.6.ga,3.2.6.ga]";import-scope:=application</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>import-scope</code> directive works only for the bundles in a scoped application (PARs or plans.)</p>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries-datasources"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_working_with_datasources">Working with DataSources</h3>
+<div class="paragraph">
+<p>Many <code>DataSource</code> implementations use the <code>DriverManager</code>
+class which is incompatible with typical OSGi class loading semantics. To get around this,
+use a <code>DataSource</code> implementation that does not rely on
+<code>DriverManager</code>. Versions of the following
+<code>DataSources</code> that are known to work in an OSGi environment are available in the
+<a href="http://www.eclipse.org/ebr">EBR</a>.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="http://build.eclipse.org/rt/virgo/ivy/bundles/release/org.eclipse.virgo.mirrored/org.apache.commons.dbcp/">Apache Commons DBCP</a></p>
+</li>
+<li>
+<p>SimpleDriverDataSource available in <a href="http://build.eclipse.org/rt/virgo/ivy/bundles/release/org.eclipse.virgo.mirrored/org.springframework.jdbc/">Spring JDBC</a> 2.5.5 and later</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries-weaving-instrumentation"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_weaving_and_instrumentation">Weaving and Instrumentation</h3>
+<div class="paragraph">
+<p>When using a library that performs bytecode weaving or instrumentation, such as AspectJ,
+OpenJPA or EclipseLink, any types that are woven must be able to see the library doing
+the weaving. This is accomplished by adding an <code>Import-Library</code> for the
+weaving library into all bundles that are to be woven.</p>
+</div>
+<div class="paragraph">
+<p>Weaving is often used by JPA implementations to transform persisted types. When using a
+JPA provider that uses load-time weaving, an <code>Import-Library</code> for the
+provider is needed in the bundles containing the persisted types.</p>
+</div>
+<div class="paragraph">
+<p><a id="common-libraries-tld"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_jsp_tag_libraries">JSP Tag Libraries</h3>
+<div class="paragraph">
+<p>When using tag libraries within a WAR or WAB, be sure to include an <code>Import-Bundle</code>
+or <code>Import-Library</code> for the tag library bundle(s). This will ensure that your WAR or WAB
+can see the TLD definition and implementing types. For example, to use the Apache implementation of JSTL,
+add the following to your bundle’s <code>/META-INF/MANIFEST.MF</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Bundle: com.springsource.org.apache.taglibs.standard;version="1.1.2"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><code>Import-Package</code> can also be used but it is tedious to add all the imports as there are
+typically lots of tld definitions in a bundle providing them.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_known_issues">Known Issues</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="known-issues-jpa"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_jpa_entity_scanning">JPA Entity Scanning</h3>
+<div class="paragraph">
+<p>Classpath scanning for JPA entities annotated with <code>@Entity</code> does
+not work. Describing entities with <code>@Entity</code> will work, but the
+entities need to be listed explicitly.</p>
+</div>
+<div class="paragraph">
+<p><a id="known.issues.proxy"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__code_classnotfounderror_code_when_creating_a_proxy"><code>ClassNotFoundError</code> When Creating a Proxy</h3>
+<div class="paragraph">
+<p>When creating proxies at runtime, there are circumstances where <code>ClassNotFoundErrors</code>
+can be generated. These errors happen because the proxy creating bundle does not have visibility into every
+type on the interface of the proxy. You can either put in import statements for all the relevant types or
+add use a service (with visibility of all pertinent types) to create the proxy. Please see
+<a href="http://www.osgi.org/blog/2008/08/classy-solutions-to-tricky-proxies.html">this blog entry</a>
+for more details.</p>
+</div>
+<div class="paragraph">
+<p><a id="known.issues.cglib"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_creating_proxies_with_cglib_for_package_protected_types">Creating proxies with CGLIB for Package Protected Types</h3>
+<div class="paragraph">
+<p>In traditional Java EE applications user types are loaded by the same <code>ClassLoader</code> as
+CGLIB. This allows CGLIB to proxy package-protected types. In OSGi environments, user types and CGLIB will
+most likely be packaged in separate bundles. This results in the user types and CGLIB being loaded by
+different <code>ClassLoaders</code>. This prevents CGLIB from proxying any package-protected types.</p>
+</div>
+<div class="paragraph">
+<p>The workaround for this issue is to make all types that require proxying public.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-jetty-restrictions"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_virgo_jetty_server_restrictions">Virgo Jetty Server Restrictions</h3>
+<div class="paragraph">
+<p>The following Jetty features are not supported.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Tag Libraries other than the standard Apache Tag Library.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-web-bundle-default-headers"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_default_web_application_bundle_headers">Default Web Application Bundle Headers</h3>
+<div class="paragraph">
+<p>The Gemini Web container conforms to the OSGi Web Applications specification and does not apply default values
+to the headers of a Web Application Bundle. However, SpringSource dm Server 2.0.x applies default values
+to certain headers (see <a href="#developing-applications-automatic-imports-web">Web Application Manifest
+Processing</a> for details) and so Virgo Web Server 2.1.x modified the behaviour of Gemini Web so that it applied default
+values consistently with dm Server 2.0.x.</p>
+</div>
+<div class="paragraph">
+<p>This behaviour is changed as of Virgo for Apache Tomcat 3.0. VTS now conforms strictly to the
+OSGi Web Applications specification.</p>
+</div>
+<div class="paragraph">
+<p>As a migration aid, <strong>which may not be supported in a future release</strong>, users may configure the VTS Web Integration
+Layer to apply default values to the headers of a Web Application Bundle.
+See "Configuring the Web Integration Layer" in the <a href="../../virgo-user-guide/html/index.html">User Guide</a> for details.</p>
+</div>
+<div class="paragraph">
+<p><a id="hibernate-resolution-issue"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_hibernate_resolution_issue">Hibernate Resolution Issue</h3>
+<div class="paragraph">
+<p>Applications using Hibernate 3.4.0.GA need to upgrade the JBoss Hibernate Entity manager fragment bundle to version 3.4.0.GA-A.
+The symptoms are that the application will fail to resolve due to missing imports of packages such as <code>org.hibernate.ejb.transaction</code>
+and JBoss Hibernate Annotations <code>com.springsource.org.hibernate.annotations</code>.
+See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=335174">bug 335174</a> for details.</p>
+</div>
+<div class="paragraph">
+<p>The JBoss Hibernate Entity manager fragment bundle <code>com.springsource.org.hibernate.ejb</code> v3.4.0.GA in the
+<a href="http://ebr.springsource.com/repository/app/">SpringSource Enterprise Bundle Repository</a>
+depends on the package <code>org.slf4j</code> with a version range that excludes the version of the
+package provided with Virgo. The net effect is that Hibernate EJB fragment bundle fails to attach to its host
+<code>com.springsource.org.hibernate</code> and the host then does not export the packages the application
+may need, such as <code>org.hibernate.ejb.transaction</code>.</p>
+</div>
+<div class="paragraph">
+<p>An updated JBoss Hibernate Entity manager fragment and JBoss Hibernate Annotations with versions 3.4.0.GA-A which fixes this
+problem is available from the <a href="http://ebr.springsource.com/repository/app/">SpringSource Enterprise Bundle Repository</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="scoping-and-substitutable-exports"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_scoping_and_substitutable_exports">Scoping and Substitutable Exports</h3>
+<div class="paragraph">
+<p>The restriction described in <a href="#developing-applications-plans-scoping">Plans and Scoping</a> that
+no package may be exported by more than one bundle in a given scope can cause problems for bundles with
+<strong>substitutable exports</strong>. A substitutable export is a package which is exported and imported
+by the same bundle. The OSGi framework will discard either the import or the export of the package when the
+bundle is resolved.</p>
+</div>
+<div class="paragraph">
+<p>However, if more than one bundle in a scope has a substitutable export of the same package, then Virgo will fail
+to deploy the scoped application because the above restriction appears to be broken. Virgo could only spot that
+the restriction was not actually being broken by second guessing the resolution behaviour of the OSGi framework,
+something that Virgo generally avoids because of the fragility of that approach.</p>
+</div>
+<div class="paragraph">
+<p>It may be possible to work around this issue by omitting one of the bundles containing the substitutable export
+from the scoped application.</p>
+</div>
+<div class="paragraph">
+<p>It may also be possible to work around this issue by moving the bundles containing the substitutable exports outside the scope,
+although this will not give correct behaviour if the bundles' exported packages need to be available for thread
+context class loading.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330643">bug 330643</a> for an example of this issue.</p>
+</div>
+<div class="paragraph">
+<p><a id="eclipselink-resolution-issue"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_eclipselink_resolution_issue">EclipseLink Resolution Issue</h3>
+<div class="paragraph">
+<p>Applications using EclipseLink may fail to resolve if the <code>osgi.enterprise</code> bundle is allowed to
+wire its <code>javax.persistence</code> package import to other than the EclipseLink <code>javax.persistence</code> bundle.</p>
+</div>
+<div class="paragraph">
+<p>To avoid this, install EclipseLink’s <code>javax.persistence</code> bundle early. To install this bundle before
+any applications are deployed, list the bundle in the <code>initialArtifacts</code> property described in the
+<a href="../../virgo-user-guide/html/index.html">User Guide</a>.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337826">bug 337826</a> for details.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/admin-console.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/admin-console.html
new file mode 100644
index 0000000..ea56364
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/admin-console.html
@@ -0,0 +1,774 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>The Web Admin Console</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="admin-console"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_the_web_admin_console">The Web Admin Console</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Admin Console</p>
+</div>
+<div class="paragraph">
+<p>The Web Server Admin Console is a Web application for managing a single instance of Virgo for Apache Tomcat or Virgo Jetty Server
+(referred to, generically, as "Web Server" below). Using the Admin Console, you can:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#admin-console-login">View an overview of the Web Server properties</a>.</p>
+</li>
+<li>
+<p><a href="#admin-console-manage-artifacts">View and manage the lifecycle</a> of artifacts already deployed to the Web Server instance. Artifacts include bundles, configuration files, PARs, and plans. Lifecycle management tasks include starting, stopping, refreshing, and uninstalling the artifacts.</p>
+</li>
+<li>
+<p><a href="#admin-console-install-artifacts">Install new artifacts to Web Server</a>.</p>
+</li>
+<li>
+<p><a href="#admin-console-view-properties">View the properties of the configuration artifacts</a> deployed to Web Server.</p>
+</li>
+<li>
+<p><a href="#admin-console-view-dumps">View details of dump files</a> that Web Server might have generated after encountering a problem. This feature is particularly valuable if Web Server fails to install a new artifact due to resolution failures; the OSGi state inspector can help you discover the exact artifact causing the resolution failure.</p>
+</li>
+<li>
+<p><a href="#admin-console-view-osgi-state">View an overview and details of the OSGi State</a> of Web Server, or in other words, a list of all bundles currently installed in Web Server and their state. You can then drill down into the details of each bundle, such as its symbolic name, packages it imports and exports, services it provides and consumes, and so on. You can also view the bundles that were deployed when an exception that generated a dump occurred.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section is not applicable to Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>ancor:admin-console-login[]</p>
+</div>
+<div class="sect2">
+<h3 id="_invoking_the_admin_console">Invoking the Admin Console</h3>
+<div class="paragraph">
+<p>To use the Admin Console, start the
+Virgo for Apache Tomcat and then enter the following URL in your
+browser of choice.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>http://localhost:8080/admin</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Replace <code>localhost</code> with the hostname of the computer on which the Virgo for Apache Tomcat is running if it is not the same as the computer on which you are running your browser.
+The Admin Console uses basic authentication, therefore you will need to enter the default administration ID and password.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>ID: admin
+Password: admin</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following graphic shows the main page of the Admin Console.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/console-main-page.png"" alt="console main page"></span></p>
+</div>
+<div class="paragraph">
+<p>Use the links at the top of the console to perform various tasks, such as viewing and managing artifacts (<emphasis role="bold">Artifacts*), viewing the properties of deployed configuration artifacts (<emphasis role="bold">Configuration*), viewing details of dumps (<emphasis role="bold">Dump Inspector*), and viewing the OSGi state of the Web Server instance (<emphasis role="bold">OSGi State*).</p>
+</div>
+<div class="paragraph">
+<p>You can always return to the main Admin Console page by clicking <emphasis role="bold">Information* in the top right-hand corner.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>The `Server Properties` section provides information about Web Server itself, such as details about the Java Virtual Machine (JVM), the operating system on which Web Server is installed, the time zone configured for the computer, and the complete version of Web Server.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-auth"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_changing_the_admin_user">Changing the Admin User</h4>
+<div class="paragraph">
+<p>To change the ID and password for the Admin Console, update the <code>SERVER_HOME/configuration/org.eclipse.virgo.kernel.users.properties</code> file. First specify the administration username by changing the value of the <code>role.admin</code> property. Then set the password of this new user by adding a new property called <code>user.<strong>username</strong></code>, where <code><strong>username</strong></code> refers to the actual name of the user. Finally, restart Web Server for the changes to take effect.
+For example, if you want change the administration username to <code>juliet</code> with password <code>capulet</code>, change the file as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">##################
+# User definitions
+##################
+user.juliet=capulet
+
+
+##################
+# Role definitions
+##################
+role.admin=juliet</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The Admin Console always runs against the <code>admin</code> role.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-tasks"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_typical_admin_console_use_cases">Typical Admin Console Use Cases</h3>
+<div class="paragraph">
+<p>The following use cases describe the typical tasks that you can perform with the Admin Console:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#admin-console-manage-artifacts">View and Manage the Lifecycle of Deployed Artifacts</a></p>
+</li>
+<li>
+<p><a href="#admin-console-install-artifacts">Install a New Artifact</a></p>
+</li>
+<li>
+<p><a href="#admin-console-view-properties">View the Properties of Deployed Configuration Artifacts</a></p>
+</li>
+<li>
+<p><a href="#admin-console-view-dumps">View Details of Dump Files</a></p>
+</li>
+<li>
+<p><a href="#admin-console-view-osgi-state">View Overview and Details of the OSGi State</a></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-manage-artifacts"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_viewing_and_managing_the_lifecycle_of_deployed_artifacts">Viewing and Managing the Lifecycle of Deployed Artifacts</h4>
+<div class="paragraph">
+<p>The following procedure describes how to view the list of artifacts that are currently deployed in the user region of Web Server. It then describes how to stop, start, refresh, and uninstall the deployed artifacts.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <strong>Artifacts</strong> link at the top.
+In the lower part of the page, the console displays a tree structure that displays the four kinds of artifacts that you can deploy to the user region of Web Server: bundles, configuration files, PARs, and plans. When you first install Web Server, there will already be a number of artifacts deployed related to the Admin console itself, the main splash screen, the repository, and so on.
+The following graphic shows an expanded tree that displays a few of the deployed artifacts:
+<span class="image"><img src="assets/images/console-artifacts.png" alt="console artifacts"></span></p>
+</li>
+<li>
+<p>To view details of a particular artifact, click the "`" to the left of the artifact to expand the tree. The following graphic shows an expanded <code>org.eclipse.virgo.apps.admin.web</code> bundle:
+<span class="image"><img src="assets/images/console-bundle-details.png" alt="console bundle details"></span>
+The particular details that the Admin Console displays depends on the artifact. For example, for all artifacts you can view their state and how it was installed (such as by a user using the Admin Console or programmatically). The two most common states are Active (running and ready to be used) and Resolved (all dependencies resolved but you must start it before you can use it). An artifact can also be in one of the transition states, such as Starting and Stopping.
+As shown in the preceding graphic, the Admin Console provides a link for Web modules that you can click on to actually invoke the application (<code>org.eclipse.virgo.web.contextPath:/admin</code> in the example above).
+For PARs and plans, the Admin Console also displays whether the artifact is:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Scoped</strong>. Scoping specifies whether Web Server should deploy the members of the PAR/plan in their own scope; when scoping is disabled, Web Server deploys the artifacts into the global scope and they are accessible by all other artifacts.</p>
+</li>
+<li>
+<p><strong>Atomic</strong>. When a PAR/plan is atomic, Web Server manages the lifecycle of all its member artifacts as a single entity, which means if one artifact member is started, then Web Server starts all the PAR/plan artifacts. If one artifact fails to start, then Web Server stops all other artifacts in the PAR/plan.</p>
+</li>
+</ul>
+</div>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The following graphic shows details of a PAR, in particular that it is both scoped and atomic:
+<span class="image"><img src="assets/images/console-par-details.png" alt="console par details"></span>
+Finally, for bundles, PARs, and plans, you can see the list of bundles that they depend on; this typically means the bundles that export the packages that they import.</p>
+</div>
+<div class="paragraph">
+<p>To manage the lifecycle of an artifact, click on its name in the expanded tree to enable the lifecycle buttons. Then, depending on the current state of the artifact, you can:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Start the artifact. All dependencies of the artifact must have been resolved for you to start it. After successfully starting the artifact, it is in the Active state and you can use the application associated with the artifact.</p>
+</li>
+<li>
+<p>Stop the artifact. This moves the artifact from an Active to Resolved state, and you cannot use the application associated with the artifact.</p>
+</li>
+<li>
+<p>Refresh the artifact. This action updates the physical contents of the artifact; use this button when you have changed the artifact in some way and you want your changes to take effect.</p>
+</li>
+<li>
+<p>Uninstall the artifact. This action removes the artifact from Web Server and it does not show up in the Admin Console any more. To use the application associated with this artifact, you must re-install the artifact.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-install-artifacts"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing_a_new_artifact">Installing a New Artifact</h4>
+<div class="paragraph">
+<p>The following procedure describes how to install a new artifact (bundle, PAR, plan, or configuration file.) The procedure is similar for all types of artifacts; the procedure uses a WAR file as an example.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <strong>Artifacts</strong> link at the top.</p>
+</li>
+<li>
+<p>Click the <strong>Browse</strong> button to invoke the file loader application for your platform. Note that the Browse button searches the computer that is running the browser in which you invoked the Admin Console and <strong>not</strong> the computer on which Web Server is running, in the case where they are different.
+Use the file loader to find the artifact. This can be a WAR or JAR file bundle, a configuration artifact that contains properties, an XML file that corresponds to a plan, or a PAR file.</p>
+</li>
+<li>
+<p>Click <strong>Upload</strong> to actually upload the artifact to Web Server.
+Web Server automatically attempts to resolve all dependencies, and then puts the artifact in an Active state if possible. If all is successful, the message <code>Artifact Deployed</code> appears next to the <emphasis role="bold">Artifact Console* header. If there is an error, a message to that effect is displayed; to get more details about the error, see the terminal window from which you started Web Server.</p>
+</li>
+<li>
+<p>Expand the artifact tree to view your newly deployed artifact. If Web Server installed it without errors, it should show up in the appropriate section and be in an Active state.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-view-properties"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_viewing_properties_of_deployed_configuration_artifacts">Viewing Properties of Deployed Configuration Artifacts</h3>
+<div class="paragraph">
+<p>The following procedure describes how you can view the list of configuration artifacts that are currently deployed to Web Server, and then view the specific properties that are defined for a particular configuration artifact.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <emphasis role="bold">Configuration* link at the top.
+The Admin Console displays all the configuration artifacts that are currently deployed, as shown in the following graphic:
+<span class="image"><img src="assets/images/console-configuration-details.png" alt="console configuration details"></span></p>
+</li>
+<li>
+<p>To view the properties defined for a particular configuration artifact click the arrow to the left of its name.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-view-dumps"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_viewing_the_details_of_dump_files">Viewing the Details of Dump Files</h4>
+<div class="paragraph">
+<p>The following procedure describes how to view the details of any service dumps that have occurred in Web Server. Each time a dump is triggered for Web Server, the server creates a directory in <code>$SERVER_HOME/serviceability/dump</code> with a name corresponding to the time the dump occurred, and then the server populates the directory with detailed information. Using the Admin Console, you can easily view this information.
+A service dump is triggered when there is either a failure in the Web Server code or Web Server detects a thread deadlock in either its own code or a user application. The service dump contains a snapshot of all the important state from the running Web Server instance. <emphasis role="bold">NOTE:* This snapshot is not intended for end user consumption but is useful for service personnel.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <strong>Dump Inspector</strong> link at the top.</p>
+</li>
+<li>
+<p>In the drop-down box on the left, select the dump you want to inspect based on its timestamp.</p>
+</li>
+<li>
+<p>Click <strong>Select Dump</strong>.</p>
+</li>
+<li>
+<p>In the right drop-down box, select the type of dump information you want to view.
+For example, <code>summary.txt</code> provides a short summary of why the dump might have occurred. The <code>thread.txt</code> option provides information about the state of the Web Server threads at the time of the dump, including any that were deadlocked. The <code>repository</code> options provide information about what was in the external and user repositories at the time of the dump. The <code>configurationAdmin.properties</code> option provides a snapshot of the complete configuration of Web Server, including the kernel and repositories.</p>
+</li>
+<li>
+<p>Click <strong>Select Entry</strong>.
+The Admin Console displays the information in the Dump Entry Viewer, as shown in the following graphic:
+<span class="image"><img src="assets/images/console-dump-details.png" alt="console dump details"></span></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Note that the dump entry <code>osgi.zip</code> is a binary OSGi state dump which should be viewed as described in
+<a href="#admin-console-view-osgi-state">Viewing Overview and Details of the OSGi State</a>.
+Dumps may contain other binary entries which are not intended for viewing via the dump inspector.
+For example, <code>heap.out</code> contains a dump of the Java heap and <code>region.digraph</code>
+contains a dump of the sharing policy between kernel and use region (this is used by the OSGi state dump inspector).</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-view-osgi-state"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_viewing_overview_and_details_of_the_osgi_state">Viewing Overview and Details of the OSGi State</h4>
+<div class="paragraph">
+<p>The following procedure describes how you can view the OSGi state of the Web Server, either currently or at the time that a particular service dump
+occurred.</p>
+</div>
+<div class="paragraph">
+<p>The OSGi state is a list of bundles that are currently installed. When viewing the current state, additional information is available
+such as whether each bundle is Spring powered and a list of services in the OSGi service registry. This additional information is not available
+when viewing a state dump.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <strong>OSGi State</strong> link at the top.
+By default, the Admin Console displays the complete list of bundles that are currently installed in Web Server.
+For each bundle, the console displays its internal ID, its symbolic name, its version, and its current state (usually either Active or Resolved.)</p>
+</li>
+<li>
+<p>To view the bundles that were installed at the time of a service dump, select the service dump based on its timestamp from the drop-down box on the
+right and click <strong>Go</strong>.</p>
+</li>
+<li>
+<p>To view details about a particular bundle, click on its bundle ID. A full description of the bundle is displayed, as shown in the following graphic:
+<span class="image"><img src="assets/images/console-osgi-state.png" alt="console osgi state"></span>
+The console displays again the symbolic name, version, and internal ID of the bundle. It then displays whether the bundle is Spring powered and the exact physical location of the bundle JAR file on the computer that hosts Web Server.
+The console then displays the full list of packages that the bundle imports, as well as the bundles that in turn export these imported packages. The console also displays the packages that the current bundle exports, and then in turn the list of other installed bundles that are currently importing these exported packages. For each package, you can drill down and view details of the corresponding bundle.
+Similarly, the console displays the consumed and provided OSGi services.
+Finally, the console also displays information about the Spring context, if the bundle is Spring powered.</p>
+</li>
+<li>
+<p>To view the full list of OSGi services, click the <code>Services Overview</code> link from the main OSGi state page</p>
+</li>
+<li>
+<p>Typically, the list of bundles and services can be very long, making it difficult to find a particular bundle. Use the <strong>Search</strong> box at the top right corner to narrow down the list of displayed bundles.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Enter a package name with wildcards '*' representing part of a package name (excluding periods) and
+'*' representing one or more components of a package name separated by periods.
+For example, <code>*.virgo.*</code> displays Virgo packages.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:07:17 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/admin-shell.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/admin-shell.html
new file mode 100644
index 0000000..659c607
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/admin-shell.html
@@ -0,0 +1,1821 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Equinox Console</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="admin-shell"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_equinox_console">Equinox Console</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="admin-shell-enable"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_enabling_the_equinox_console">Enabling the Equinox Console</h3>
+<div class="paragraph">
+<p>Shells are provided for both user region and kernel, although they are disabled by default and need enabling before
+they can be used.</p>
+</div>
+<div class="paragraph">
+<p>The user region shell ports may be reconfigured by editing the file
+<code>osgi.console.properties</code> in the <code>repository/ext</code> directory, and
+then restarting Virgo. The telnet properties in the file are prefixed with <strong>telnet.</strong>, and the ssh properties are prefixed with <strong>ssh.</strong>.
+The kernel shell ports may be reconfigured by editing the file <code>osgi.console.properties</code> in the <code>configuration</code> directory, and then restarting Virgo.</p>
+</div>
+<div class="paragraph">
+<p>To enable any of these shell ports, change the <code>enabled</code> setting from <code>false</code> to <code>true</code></p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">enabled=true</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>in the corresponding properties files.</p>
+</div>
+<div class="paragraph">
+<p>If you wish to change a port, any free port can be used, but the usual defaults are, for telnet, 2501 for the user region and 2401 for the kernel, and
+for ssh, 2502 for the user region and 2402 for the kernel.</p>
+</div>
+<div class="paragraph">
+<p>Access is via ssh or telnet.
+The simplest way to access the shell is via telnet to port 2501 or 2401 for user region or kernel, respectively.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ telnet localhost 2501
+Trying ::1...
+Connected to localhost.
+Escape character is '^]'.
+
+osgi></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Alternatively, you can ssh to port 2502 or 2402 for user region or kernel, respectively.
+The users and passwords for ssh are configured in <code>configuration/org.eclipse.virgo.kernel.users.properties</code> as described
+in <a href="#configuring-authentication">Configuring Authentication</a>. The default user and password are <code>admin</code>
+and <code>admin</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Currently the Virgo Nano Equinox Console is enabled by default. Telnet is accesible on <strong>2401</strong> and SSH on <strong>2402</strong>. In future these will be configurable.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>If you use the <code>shutdown</code> shell command to stop Virgo Server for Apache Tomcat, the shutdown messages appear in the shell terminal instead of in the terminal in which Virgo runs. This is due to the
+mechanisms which the shell implementation uses to redirect standard output.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-using-vsh"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_virgo_shell_commands">Using Virgo Shell Commands</h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section is not applicable to Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Virgo provides shell commands
+that allow you to examine artifacts
+currently installed in a particular Virgo Kernel instance, manage the lifecycle of the installed artifacts, install new artifacts, and shut down
+the Virgo Kernel. You can install, examine, and manage the lifecycle of the following artifacts:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Bundles</p>
+</li>
+<li>
+<p>Configuration Artifacts</p>
+</li>
+<li>
+<p>PARs</p>
+</li>
+<li>
+<p>Plans</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>and can examine:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Exported packages</p>
+</li>
+<li>
+<p>Services in the OSGi service registry</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Virgo also provides shell commands to list all bundles that contain, export, or load a particular class.</p>
+</div>
+<div class="paragraph">
+<p>These commands are provided <strong>for the user region shells only</strong> and are grouped together in
+the <code>vsh</code> <strong>scope</strong>.</p>
+</div>
+<div class="paragraph">
+<p>You invoke commands using the <code>vsh:</code> scope. For example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan list
+
+Name Version State
+org.eclipse.virgo.apps.admin.plan 2.1.0 ACTIVE
+org.eclipse.virgo.kernel.userregion.springdm 2.1.0 ACTIVE
+org.eclipse.virgo.web 2.1.0 ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-using-command-list"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_virgo_shell_commands">Virgo Shell Commands</h4>
+<div class="paragraph">
+<p>The following table lists the Virgo shell commands; each command in turn has a variety of options that you can specify, depending on what you want to do, such as start a bundle or refresh a plan. The reference documentation about each command provides the full list of available options.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-commands-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 1. Virgo Shell Commands</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 80%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Command</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-bundle-command">bundle</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages and displays information about bundle artifacts.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-cl-clhas">clhas</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists all bundles that <emphasis role="bold">contain* a class or resource.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-cl-clexport">clexport</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists all bundles that <emphasis role="bold">export* a class or package.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-cl-clload">clload</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists all bundles that can <emphasis role="bold">load* a class.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-config-command">config</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages and displays information about configuration artifacts.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-package-command">packages</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about exported packages.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-par-command">par</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages and displays information about PAR artifacts.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-plan-command">plan</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages and displays information about plan artifacts.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-service-command">service</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about services in the OSGi service registry.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-install-command">install</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Installs an artifact to Virgo Kernel.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-shutdown-command">shutdown</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Shuts down the Virgo Kernel instance to which the Equinox Console is connected.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-command-reference"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_virgo_shell_command_reference">Virgo Shell Command Reference</h3>
+<div class="paragraph">
+<p>This section contains reference information about the Virgo shell commands</p>
+</div>
+<div class="paragraph">
+<p><a href="#admin-shell-vsh-bundle-command">bundle</a>,
+<a href="#admin-shell-cl-clhas">clhas</a>,
+<a href="#admin-shell-cl-clexport">clexport</a>,
+<a href="#admin-shell-cl-clload">clload</a>,
+<a href="#admin-shell-vsh-config-command">config</a>,
+<a href="#admin-shell-vsh-package-command">packages</a>,
+<a href="#admin-shell-vsh-par-command">par</a>,
+<a href="#admin-shell-vsh-plan-command">plan</a>,
+<a href="#admin-shell-vsh-service-command">service</a>,
+<a href="#admin-shell-vsh-install-command">install</a>,
+<a href="#admin-shell-vsh-shutdown-command">shutdown</a>,
+<a href="#admin-shell-vsh-help-command">help</a> and
+<a href="#admin-shell-vsh-exit-command">exit</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-bundle-command"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_bundle_command">bundle Command</h4>
+<div class="paragraph">
+<p>Use the <code>bundle</code> command to manage the lifecycle of bundles deployed in Virgo Kernel and to gather information about deployed bundles, such as diagnostic information, header information, and so on.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-bundle-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 2. Options of the bundle Command</caption>
+<colgroup>
+<col style="width: 16%;">
+<col style="width: 83%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays the list of bundles that are currently installed in the current Virgo Kernel instance. With the exception of a few kernel bundles and their services, which Virgo Kernel uses to administer the user region, none of the kernel is visible to user installed artifacts; rather, only the bundles installed in the user region are visible.
+ Each bundle is identified by an internal <code>ID</code> which you can then use with the other <code>bundle</code> commands that manage a particular bundle, such as <code>start `<strong>`id</code></strong>. The <code>list</code> command also displays the version of the bundle, along with its state, which is one of the following standard OSGi lifecycle states:
+ <strong>Installed</strong>: The bundle is installed but its dependencies have not yet been resolved.
+ <strong>Resolved</strong>: The bundle is resolved and you can now start it.
+ <strong>Uninstalled</strong>: The bundle is uninstalled and you cannot use it.
+ <strong>Starting</strong>: The bundle is in the process of starting.
+ <strong>Active</strong>: The bundle is running and you can now use it.
+ <strong>Stopping</strong>: The bundle is in the process of stopping.
+ Use one of the other <code>bundle</code> commands to change the state of a bundle. For example, use the <code>bundle start `<strong>`id</code></strong> command to change the state of a bundle from <code>Installed</code> to <code>Active</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays detailed information about the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ In addition to the information provided by the <code>bundle list</code> command (id, full name, version, and state), the <code>examine</code> command specifies whether the bundle includes a Spring application context (or is <strong>Spring Powered</strong>) and the exact physical location of the bundle JAR file.
+ The <code>examine</code> also provides the full list of packages that the bundle imports, as well as the bundles that in turn export these imported packages. Finally, the command displays the packages that the current bundle exports, and then in turn the list of other installed bundles that are currently importing these exported packages.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">start <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Starts the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ After Virgo Kernel successfully starts the bundle, it is listed in the <code>Active</code> state.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">stop <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stops the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ When you stop a bundle, it goes from the <code>Active</code> state to the <code>Resolved</code> state, and you must re-start it if you want to use the application that the bundle contains.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">refresh <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Updates the contents of the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle. Use this command if you have changed the contents of the bundle JAR file and you want to refresh the artifact as installed in the OSGi framework.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninstall <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstalls the specified bundle from Virgo Kernel. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ When the uninstall process is complete, the bundle does not show up in the list of bundles displayed by the <code>bundle list</code> command. If you want to use the application in the bundle, you must re-install it using the <code>install</code> command.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">diag <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides diagnostic information about the specified bundle.
+ In particular, this command displays information about the imported packages that Virgo Kernel could not resolve.
+ Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ Note that Virgo does not install unresolvable bundles.
+ Instead is takes a state dump (for offline analysis using the web administration console) and fails the deployment.
+ So bundles are only likely to become unresolvable in Virgo after an update operation.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">headers <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays the complete list of manifest headers of the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ The manifest headers include: <code>Import-Package</code>, <code>Export-Package</code>, <code>Bundle-SymbolicName</code>, and so on.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following examples show how to use this command.</p>
+</div>
+<div class="paragraph">
+<p>First, use the <code>bundle list</code> command to view all the installed bundles:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:bundle list
+
+Id Name Version State
+40 org.eclipse.virgo.kernel.userregionfactory 3.0.0.RELEASE ACTIVE
+47 org.eclipse.equinox.cm 1.0.300.v20101204 ACTIVE
+48 org.eclipse.virgo.kernel.userregion 3.0.0.RELEASE ACTIVE
+49 org.eclipse.virgo.kernel.osgicommand 3.0.0.RELEASE ACTIVE
+50 org.eclipse.osgi.services 3.3.0.v20110110 ACTIVE
+51 com.springsource.org.apache.mina.core 2.0.2 ACTIVE
+52 org.apache.felix.gogo.command 0.8.0.v201105062003 ACTIVE
+53 org.apache.felix.gogo.runtime 0.8.0.v201105062003 ACTIVE
+54 org.apache.felix.gogo.shell 0.8.0.v201107131313 ACTIVE
+55 org.eclipse.equinox.console.supportability 1.0.0.20110722-2 ACTIVE
+56 com.springsource.org.apache.sshd.core 0.5.0 ACTIVE
+57 org.springframework.osgi.core 1.2.1 ACTIVE
+58 S org.springframework.osgi.extender 1.2.1 ACTIVE
+59 org.springframework.osgi.io 1.2.1 ACTIVE
+60 org.eclipse.virgo.kernel.agent.dm 3.0.0.RELEASE ACTIVE
+61 S org.eclipse.virgo.kernel.deployer.dm 3.0.0.RELEASE ACTIVE
+62 org.eclipse.equinox.ds 1.3.0.v20110124-0830 ACTIVE
+63 org.eclipse.equinox.util 1.0.200.v20100503 ACTIVE
+64 com.springsource.org.aopalliance 1.0.0 ACTIVE
+65 org.eclipse.virgo.kernel.dmfragment 3.0.0.RELEASE RESOLVED
+66 org.springframework.aop 3.0.5.RELEASE ACTIVE
+67 org.springframework.asm 3.0.5.RELEASE ACTIVE
+68 org.springframework.beans 3.0.5.RELEASE ACTIVE
+69 org.springframework.context 3.0.5.RELEASE ACTIVE
+70 org.springframework.core 3.0.5.RELEASE ACTIVE
+71 org.springframework.expression 3.0.5.RELEASE ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to view the headers of the <code>org.springframework.osgi.extender</code> bundle (only the first few lines are shown):</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:bundle examine 5
+
+Id: 5
+Name: org.springframework.osgi.extender
+Version 1.2.1
+State: ACTIVE
+Spring Powered: true
+Bundle Location: file:<... omitted ...>/org.springframework.osgi.extender-1.2.1.jar/
+
+Imported Packages:
+ org.springframework.osgi.context [1.2.1, 1.2.1]
+ exported by org.springframework.osgi.core 1.2.1 [4]
+ <... remainder omitted ...>
+
+Exported Packages:
+ org.springframework.osgi.extender 1.2.1
+ <... remainder omitted ...>
+
+Published services:
+ 58 org.springframework.beans.factory.xml.NamespaceHandlerResolver
+ consumed by org.springframework.osgi.extender 1.2.1 [5]
+ consumed by org.eclipse.virgo.kernel.deployer.dm 2.1.0.RELEASE [8]
+ <... remainder omitted ...>
+
+Consumed services:
+ 1 org.osgi.service.packageadmin.PackageAdmin
+ published by org.eclipse.osgi 3.7.0.v20110224 [0]
+ <... remainder omitted ...>
+
+Fragments:
+ org.eclipse.virgo.kernel.dmfragment 2.1.0.RELEASE [10]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-config-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_config_command">config Command</h4>
+<div class="paragraph">
+<p>Use the <code>config</code> command to view and manage the configuration artifacts that have been installed in Virgo Kernel. A <strong>configuration artifact</strong> is simply a properties file that is associated with a user application that is contained in a bundle. Using configuration artifacts, you can manage the configuration of a user application completely separately from the bundle that contains the application.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-config-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 3. Options of the config Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists the configuration artifacts that are currently installed in Virgo Kernel.
+ The <code>list</code> option displays the full name of each installed configuration artifact, its version, and its current state. Configuration artifacts have similar lifecycles to other artifacts, such as bundles, and so the list of states in which a configuration can be in is the same as those of bundles; see <a href="#admin-shell-bundle-command">the bundle command</a> for the list of possible states.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about the specified configuration artifact. Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the configuration artifact installed. Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ A configuration artifact must be active for you to examine it; if it is not currently active, use <code>config start</code> to start it and thus change its state to <code>Active</code>.
+ The command first displays the factory pid of the configuration artifact as well as the complete location of the bundle to which the configuration artifact is associated. The command then lists all the properties that make up the configuration, as well as their current value.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">start <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Starts the specified configuration artifact and makes it visible to Virgo Kernel.
+ Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the
+ configuration artifact installed (which Virgo does not currently support).
+ Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ Starting the configuration sets its state to <code>Active</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">stop <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stops the specified configuration artifact and makes it invisible to Virgo Kernel. Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the configuration artifact installed (which Virgo does not currently support). Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ Stopping the configuration sets its state to <code>Resolved</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">refresh <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Updates the contents of the specified configuration artifact to Virgo Kernel. Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the configuration artifact installed (which Virgo does not currently support). Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ Use this command if you have changed the contents of the configuration artifact, and you want to make this information known to Virgo Kernel and the associated bundle.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninstall <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstalls the specified configuration artifact and make it completely unavailable to Virgo Kernel. Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the configuration artifact installed (which Virgo does not currently support). Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ Stopping the configuration removes it from Virgo Kernel’s list of deployed artifacts and it will not show up when you perform a <code>config list</code>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following example shows how to use this command to list the installed configuration artifacts.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:config list
+
+Name Version State
+org.eclipse.virgo.kernel 0.0.0 ACTIVE
+org.eclipse.virgo.kernel.jmxremote.access 0.0.0 ACTIVE
+org.eclipse.virgo.kernel.userregion 0.0.0 ACTIVE
+org.eclipse.virgo.kernel.users 0.0.0 ACTIVE
+org.eclipse.virgo.medic 0.0.0 ACTIVE
+org.eclipse.virgo.repository 0.0.0 ACTIVE
+osgi.console.ssh 0.0.0 ACTIVE
+osgi.console.telnet 0.0.0 ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To view the properties of a configuration artifact, and their current values, use <code>config examine</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:config examine org.eclipse.virgo.repository
+
+Factory pid:
+Bundle Location: file:plugins/org.eclipse.virgo.kernel.services-{version}.jar
+
+Properties:
+ chain:
+ ext,usr
+ ext.searchPattern:
+ repository/ext/{artifact}
+ ext.type:
+ external
+ service.pid:
+ org.eclipse.virgo.repository
+ usr.type:
+ watched
+ usr.watchDirectory:
+ repository/usr</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-package-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_packages_command">packages Command</h4>
+<div class="paragraph">
+<p>Use the <code>packages</code> command to view the complete list of packages exported by all bundles installed in Virgo Kernel, as well as examine a particular exported package in more detail.</p>
+</div>
+<div class="paragraph">
+<p>The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-package-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 4. Options of the packages Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays all the exported packages for all bundles in the uer region of Virgo Kernel. In addition to the package name, the command displays the version of the exported package and the <code>id</code> of the bundle that contains the exported package. You can examine the bundle by using the command <code>bundle examine</code> <strong>id</strong>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays details about the exported package. You must specify both the name of the exported package and its version; use <code>packages list</code> to view the exact names and version.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The <code>examine</code> command provides the following additional information about the exported package:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The name and version of the bundle that exports the package. This means that the package name is explicitly listed in the bundle’s <code>MANIFEST.MF</code> file as part of the <code>Export-Package</code> header.</p>
+</li>
+<li>
+<p>Any attributes that are part of the <code>Export-Package</code>, in addition to <code>version</code>.</p>
+</li>
+<li>
+<p>The directives that are part of the <code>Export-Package</code> header. A typical directive is <code>uses</code>, which declares up-front constraints on a number of other packages.</p>
+</li>
+<li>
+<p>The list of all bundles that import the package.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The following example shows how to list all the exported packages for all bundles installed:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:packages list
+
+Name Version Providing Bundle
+javax.accessibility 0.0.0 0
+javax.activation 0.0.0 0
+javax.activation 1.1.1 0
+<... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to examine a particular exported package:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:packages examine org.slf4j 1.6.1
+
+Exporter: org.eclipse.virgo.region.user 0.0.0 [1]
+
+Attributes:
+ None
+
+Directives:
+ uses:
+ org.slf4j.spi
+ x-equinox-ee:
+ -1
+ x-internal:
+ false
+
+Importer(s):
+ org.eclipse.virgo.kernel.agent.dm 2.1.0.RELEASE [7]
+ Import-Package attributes:
+ bundle-version:
+ 0.0.0
+ version:
+ [1.6.1,2.0.0)
+ Import-Package directives:
+ resolution:
+ static
+ <... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-par-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_par_command">par Command</h4>
+<div class="paragraph">
+<p>Use the <code>par</code> command to view all the PARs currently installed in Virgo Kernel, view details about a particular PAR and manage its lifecycle, such as starting, stopping, refreshing, and uninstalling it.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-par-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 5. Options of the par Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays all the PARs that are currently installed in Virgo Kernel.
+ The <code>list</code> option displays the full name of each installed PAR, its version, and its current state. PARs have similar lifecycles to other artifacts, such as bundles, and so the list of states in which a PAR can be in is the same as those of bundles; see <a href="#admin-shell-bundle-command">the bundle command</a> for the list of possible states.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about the specified PAR; you are required to identify the PAR with both its name and its version. Use the <code>par list</code> command to view all installed PAR files and their versions. The command displays the following information:
+ The current state of the PAR (see <a href="#admin-shell-vsh-bundle-command">the bundle command</a> for the full list of possible states).
+ Whether the PAR is <strong>scoped</strong>. Scoping specifies whether Virgo Kernel should deploy the members of the PAR in their own scope; when scoping is disabled, Virgo Kernel deploys the artifacts into the global scope and they are accessible for access by all other artifacts.
+ Whether the PAR is <strong>atomic</strong>. When a PAR is atomic, Virgo Kernel manages the lifecycle of all its member artifacts as a single entity, which means if one artifact member is started, then Virgo Kernel starts <strong>all</strong> the PAR artifacts. If one artifact fails to start, then Virgo Kernel stops all other artifacts in the PAR.
+ The individual members, or children, of the PAR. These could be plans, bundles, configuration artifacts, and so on.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">start <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Starts the specified PAR. You must specify both the full name of the PAR as well as the version you want to start. Use the <code>par list</code> command to get the list of PARs currently installed in Virgo Kernel.
+ To start a PAR, it must have already been resolved by Virgo Kernel, or in other words, be in the <code>Resolved</code> state. After Virgo Kernel successfully starts the PAR, it is listed in the <code>Active</code> state.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">stop <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stops the specified PAR. You must specify both the full name of the PAR as well as the version you want to stop. Use the <code>par list</code> command to get the list of PARs currently installed in Virgo Kernel.
+ When you stop a PAR, it goes from the <code>Active</code> state to the <code>Resolved</code> state, and you must re-start it if you want to use the application that the PAR contains.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">refresh <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Updates the contents of the specified PAR. You must specify both the name and version of the PAR you want to refresh. Use the <code>par list</code> command to this information.
+ Use this command if you have changed the contents of the PAR file and you want to refresh the artifact as installed in the OSGi framework.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninstall <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstalls the specified PAR. You must specify both the name and version of the PAR you want to refresh. Use the <code>par list</code> command to this information.
+ When the uninstall process is complete, the PAR will not show up in the list of PARs displayed by the <code>par list</code> command. If you want to use the application in the PAR, you must re-install it using the <code>install</code> command.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following example shows how to list the PARs that have been installed in Virgo Kernel:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:par list
+
+Name Version State
+
+org.eclipse.virgo.server.repository.hosted 2.1.0.RELEASE ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to examine a particular PAR file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:par examine org.eclipse.virgo.server.repository.hosted 2.1.0.RELEASE
+
+State: ACTIVE
+Scoped: true
+Atomic: true
+
+Children:
+ bundle org.eclipse.virgo.server.repository.hosted.core 2.1.0.RELEASE
+ bundle org.eclipse.virgo.server.repository.hosted.web 2.1.0.RELEASE
+ bundle org.eclipse.virgo.server.repository.hosted-synthetic.context 2.1.0.RELEASE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Finally, the following example shows how to refresh an installed PAR file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:par refresh my.exciting.par 1.2.0
+
+par my.exciting.par 1.2.0 refreshed successfully</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-plan-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_plan_command">plan Command</h4>
+<div class="paragraph">
+<p>Use the <code>plan</code> command to view all the plans currently installed in Virgo Kernel, view details about a particular plan and manage its lifecycle, such as starting, stopping, refreshing, and uninstalling it.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-plan-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 6. Options of the plan Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays all the plans that are currently installed in Virgo Kernel.
+ The <code>list</code> option displays the full name of each installed plan, its version, and its current state. Plans have similar lifecycles to other artifacts, such as bundles, and so the list of states in which a plan can be in is the same as those of bundles; see <a href="#admin-shell-bundle-command">the bundle command</a> for the list of possible states.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about the specified plan; you are required to identify the plan with both its name and its version. Use the <code>plan list</code> command to view all installed plans and their versions. The command displays the following information:
+ The current state of the plan (see <a href="#admin-shell-vsh-bundle-command">the bundle command</a> for the full list of possible states).
+ Whether the plan is <strong>scoped</strong>. Scoping specifies whether Virgo Kernel should deploy the members of the plan in their own scope; when scoping is disabled, Virgo Kernel deploys the artifacts into the global scope and they are accessible for access by all other artifacts.
+ Whether the plan is <strong>atomic</strong>. When a plan is atomic, Virgo Kernel manages the lifecycle of all its member artifacts as a single entity, which means if one artifact member is started, then Virgo Kernel starts <strong>all</strong> the plan artifacts. If one artifact fails to start, then Virgo Kernel stops all other artifacts in the plan.
+ The individual members, or children, of the plan. These could be other plans, PARs, bundles, configuration artifacts, and so on.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">start <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Starts the specified plan. You must specify both the full name of the plan as well as the version you want to start. Use the <code>plan list</code> command to get the list of plans currently installed in Virgo Kernel.
+ To start a plan, it must have already been resolved by Virgo Kernel, or in other words, be in the <code>Resolved</code> state. After Virgo Kernel successfully starts the plan, it is listed in the <code>Active</code> state.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">stop <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stops the specified plan. You must specify both the full name of the plan as well as the version you want to stop. Use the <code>plan list</code> command to get the list of plans currently installed in Virgo Kernel.
+ When you stop a plan, it goes from the <code>Active</code> state to the <code>Resolved</code> state, and you must re-start it if you want to use the application that the plan contains.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">refresh <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Updates the contents of the specified plan. You must specify both the name and version of the plan you want to refresh. Use the <code>plan list</code> command to this information.
+ Use this command if you have changed the contents of the plan file and you want to refresh the artifact as installed in the OSGi framework.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninstall <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstalls the specified plan. You must specify both the name and version of the plan you want to refresh. Use the <code>plan list</code> command to this information.
+ When the uninstall process is complete, the plan will not show up in the list of plans displayed by the <code>plan list</code> command. If you want to use the application in the plan, you must re-install it using the <code>install</code> command.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following example shows how to list the plans that have been installed in Virgo Kernel:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan list
+
+Name Version State
+org.eclipse.virgo.apps.admin.plan 2.1.0 ACTIVE
+org.eclipse.virgo.kernel.userregion.springdm 2.1.0 ACTIVE
+org.eclipse.virgo.web 2.1.0 ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to examine a particular plan:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan examine org.eclipse.virgo.kernel.userregion.springdm 2.1.0
+
+State: ACTIVE
+Scoped: false
+Atomic: false
+
+Children:
+ bundle org.eclipse.virgo.kernel.agent.dm 2.1.0.RELEASE
+ bundle org.springframework.osgi.io 1.2.1
+ bundle org.springframework.osgi.extender 1.2.1
+ bundle org.springframework.osgi.core 1.2.1
+ bundle org.eclipse.virgo.kernel.deployer.dm 2.1.0.RELEASE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to stop a currently Active plan:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan stop org.eclipse.virgo.web 2.1.0
+
+plan org.eclipse.virgo.web:2.1.0 stopped successfully</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to start a plan:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan start org.eclipse.virgo.web 2.1.0
+
+plan org.eclipse.virgo.web:2.1.0 started successfully</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-service-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_service_command">service Command</h4>
+<div class="paragraph">
+<p>Use the <code>service</code> command to view all the services that have been registered in the OSGi service registry of Virgo Kernel. You can also examine a specific service to discover its properties, the bundle that publishes the service, and any bundles that consume the service.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-service-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 7. Options of the service Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays the list of services that are currently registered in the OSGi service registry of Virgo Kernel.
+ Each service is identified by an internal <code>ID</code> which you can then use with the <code>service examine</code> command to view the details about a particular service. The <code>list</code> option also displays the object class that implements the service and the internal <code>id</code> of the bundle that provides the service.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays detailed information about the specified service. Use the <code>service list</code> command to get the internal id of a particular service.
+ This command displays the properties of the service, such as the object class that implements the service, the name of the bundle that publishes the service and any bundles that consume the service.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following example shows how to list the services currently registered in the OSGi service registry:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:service list
+
+Id Object Class(es) Providing Bundle
+
+1 org.osgi.service.packageadmin.PackageAdmin 0
+2 org.osgi.service.permissionadmin.PermissionAdmin, ... 0
+3 org.osgi.service.startlevel.StartLevel 0
+4 org.eclipse.osgi.service.debug.DebugOptions 0
+5 java.lang.ClassLoader 0
+6 org.eclipse.osgi.framework.log.FrameworkLog 0
+7 org.eclipse.osgi.framework.log.FrameworkLog 0
+<... remainder omitted ...>
+
+72 org.eclipse.gemini.web.core.spi.ServletContainer 38
+73 org.eclipse.gemini.web.core.WebContainer 37
+74 org.eclipse.virgo.web.core.WebApplicationRegistry 39
+<... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to examine a particular service:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:service examine 73
+
+ Properties:
+ objectClass:
+ org.eclipse.gemini.web.core.WebContainer
+ service.id:
+ 73
+
+ Publisher: org.eclipse.gemini.web.core 1.1.0.RELEASE [37]
+
+ Consumer(s):
+ org.eclipse.virgo.web.core 2.1.0.RELEASE [39]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-install-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_install_command">install Command</h4>
+<div class="paragraph">
+<p>Use the <code>install</code> command to deploy an artifact to Virgo Kernel. The artifact can be a bundle, PAR, plan, or configuration artifact.</p>
+</div>
+<div class="paragraph">
+<p>The <code>install</code> command takes a single parameter: the URI of the artifact you want to deploy. For example, to deploy a bundle on the local computer, use the <code>file</code> scheme:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>file://full-pathname-to-artifact</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>After you execute the <code>install</code> command, Virgo Kernel attempts to resolve the artifact’s dependencies, and if it is successful, puts it in the <code>Resolved</code> state. At that point, you must start the artifact to be able to actually use it.</p>
+</div>
+<div class="paragraph">
+<p>The following example shows how to install a bundle called <code>swf-booking-mvc.war</code> located in the <code>/home/apps</code> directory of the computer on which the Equinox Console Extension is being run:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:install file://home/apps/swf-booking-mvc.war
+...
+Artifact bundle swf-booking-mvc.war 0.0.0 installed</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This command is particularly useful for installing an artifact from the Virgo repository, in which case use the <code>repository:</code> scheme:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>repository:artifact-type/bundle-symbolic-name/bundle-version</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:install repository:bundle/my.bundle/1.0
+...
+Artifact bundle my.bundle 1.0.0 installed</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to use the <code>bundle list</code> command to ensure that the bundle was indeed installed in Virgo Kernel; if you had installed a different kind of artifact, for example a plan, then you would use the appropriate command (such as <code>plan list</code>):</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:bundle list
+
+Id Name Version State
+
+0 org.eclipse.osgi 3.6.1.R36x_v20100806 ACTIVE
+1 org.eclipse.virgo.region.user 0.0.0 ACTIVE
+<... remainder omitted ...>
+
+59 org.eclipse.virgo.server.splash 2.1.0.RELEASE ACTIVE
+60 swf-booking-mvc.war 0.0.0 RESOLVED</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Note that the <code>swf-booking-mvc.war</code> file is in the <code>Resolved</code> state. The following examples start the bundle, and then examine it to ensure that it is in the <code>Active</code> state:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:bundle start 60
+
+bundle swf-booking-mvc.war:0.0.0 started successfully
+
+
+osgi> vsh:bundle examine 60
+
+Id: 60
+Name: swf-booking-mvc.war
+Version 0.0.0
+State: ACTIVE
+Spring Powered: true
+Bundle Location: file:<... omitted ...>/swf-booking-mvc.war/
+
+Imported Packages:
+ javax.crypto.interfaces [0.0.0, 0.0.0]
+ exported by org.eclipse.osgi 3.6.1.R36x_v20100806 [0]
+ org.omg.CosNaming.NamingContextPackage [0.0.0, 0.0.0]
+ exported by org.eclipse.osgi 3.6.1.R36x_v20100806 [0]
+ org.omg.DynamicAny.DynAnyFactoryPackage [0.0.0, 0.0.0]
+ exported by org.eclipse.osgi 3.6.1.R36x_v20100806 [0]
+ <... remainder omitted ...>
+
+osgi></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-shutdown-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shutdown_command">shutdown Command</h4>
+<div class="paragraph">
+<p>Use the <code>shutdown</code> command to shut down the Virgo Kernel instance to which you are connected. When Virgo Kernel is shut down, the shell returns you to the operating system prompt.
+The <code>shutdown</code> command does not have any options.</p>
+</div>
+<div class="paragraph">
+<p>The following example shows how to use this command.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:shutdown
+osgi> ...
+Connection closed by foreign host.
+$</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-cl-clhas"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_clhas_command">clhas command</h4>
+<div class="paragraph">
+<p>Use the <code>clhas</code> command to list the entries contained in the bundles deployed in Virgo and to solve class loading issues.
+The command accepts as a parameter a search pattern in the form <strong>path/resource</strong>. The resource part of the pattern can contain wildcards.
+The output contains all bundles that have resources or classes matching the pattern. Since wildcards are allowed, the matching entities are listed as well.</p>
+</div>
+<div class="paragraph">
+<p>The following examples show how to use this command.
+Use the <code>clhas</code> to view all bundles that contain <code>Servlet</code> class:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi>clhas /javax/servlet/Servlet.class
+
+Bundles containing [/javax/servlet/Servlet.class]:
+ 76 javax.servlet
+ /javax/servlet/Servlet.class</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Use the wildcard <code>*</code> with <code>clhas</code> to view all classes starting with <code>Servlet</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clhas /javax/servlet/Servlet*
+
+Bundles containing [/javax/servlet/Servlet*]:
+ 76 javax.servlet
+ /javax/servlet/ServletRequestAttributeEvent.class
+ /javax/servlet/ServletRequest.class
+ <... remainder omitted ...>
+ /javax/servlet/Servlet.class
+ <... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>clhas</code> command can also be used with class name instead of resource path:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clhas javax.servlet.Servlet
+
+Bundles containing [javax/servlet/Servlet.class]:
+ 76 javax.servlet
+ /javax/servlet/Servlet.class</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Please note that the command converts the class name to a path and appends <code>class</code> extension by default.
+To search for a resource with an extension different than <code>class</code> you should use the resource path form:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clhas /LocalStrings.properties
+
+Bundles containing [/LocalStrings.properties]:
+ 96 com.springsource.org.apache.catalina
+ /org/apache/catalina/core/LocalStrings.properties
+ /org/apache/tomcat/util/http/mapper/LocalStrings.properties
+ /org/apache/catalina/loader/LocalStrings.properties
+ <... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to identify a possible <code>ClassCastException</code> due to wrong packaging:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi>clhas /javax/servlet/Servlet.class
+
+Bundles containing [/javax/servlet/Servlet.class]:
+ 76 javax.servlet
+ /javax/servlet/Servlet.class
+ 107 myapp
+ /WEB-INF/classes/javax/servlet/Servlet.class</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>It’s obvious that the <code>javax.servlet</code> package should not be present in <code>myapp</code> application and its packaging has to be changed. This problem can often be seen in WAR or web bundles that package Servlet/JSP classes by accident.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-cl-clexport"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_clexport_command">clexport command</h4>
+<div class="paragraph">
+<p>Use the <code>clexport</code> command to list the bundles that export a class or package.
+The command accepts as a parameter the fully qualified class name (in the form <strong>package.class</strong>).
+The command checks to see if the provided class is actually contained in a bundle. If the class is not found in a bundle but its package is exported, then a hint <code>[class not found, package only]</code> is displayed.</p>
+</div>
+<div class="paragraph">
+<p>The following examples show how to use this command.
+Use the <code>clexport</code> to view all bundles that contain <code>Servlet</code> class:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clexport javax.servlet.Servlet
+
+Bundles exporting [javax.servlet.Servlet]:
+ 14 com.springsource.javax.servlet</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If a bundle exports a package but does not contain the requested class, the output of the command will be similar to this:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clexport javax.servlet.ServletX
+
+Bundles exporting [javax.servlet.ServletX]:
+ 14 com.springsource.javax.servlet [class not found, package only]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-cl-clload"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_clload_command">clload command</h4>
+<div class="paragraph">
+<p>Use the <code>clload</code> command to list the bundles that can load a class or to check if a specific bundle can load a class.
+The command accepts as parameters either:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>the fully qualified class name (in the form <strong>package.class</strong>)</p>
+</li>
+<li>
+<p>the fully qualified class name (in the form <strong>package.class</strong>) and the symbolic name or id of the bundle that is to be tested</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The command lists not only the bundle that successfully loaded the class, but also the one that actually provides the class. This is visualized with hints like <code>[exported by 14 com.springsource.javax.servlet]</code>.</p>
+</div>
+<div class="paragraph">
+<p>The following examples show how to use this command.
+You can use the <code>clload</code> to view all bundles that can load <code>Servlet</code> class:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clload javax.servlet.Servlet
+
+Successfully loaded [javax.servlet.Servlet] from:
+ 56 com.springsource.org.apache.taglibs.standard
+ [exported by 14 com.springsource.javax.servlet]
+ 54 org.eclipse.virgo.apps.admin.web
+ [exported by 14 com.springsource.javax.servlet]
+ 19 com.springsource.org.apache.commons.fileupload
+ [exported by 14 com.springsource.javax.servlet]
+ <... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If a bundle is to be tested, then its id can be used as a command parameter:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clload javax.servlet.Servlet 19
+
+Successfully loaded [javax.servlet.Servlet] using class loader from:
+ 19 com.springsource.org.apache.commons.fileupload
+ [exported by 14 com.springsource.javax.servlet]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Or the same class load test can specify the symbolic name of the bundle:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clload javax.servlet.Servlet com.springsource.org.apache.commons.fileupload
+
+Successfully loaded [javax.servlet.Servlet] using class loader from:
+ 19 com.springsource.org.apache.commons.fileupload
+ [exported by 14 com.springsource.javax.servlet]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="p2-commands"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_the_p2_for_extending_your_virgo_installation">Using the p2 for extending your Virgo installation</h3>
+<div class="sect3">
+<h4 id="_extending_with_the_p2_director">Extending with the p2 director</h4>
+<div class="paragraph">
+<p>You can provision new features on top of your Virgo installation using the p2 director. It can be used both for initial provisioning and extending an existing installtion.</p>
+</div>
+<div class="paragraph">
+<p>For extending an existing installation you can use these director arguments:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>-repository http://download.eclipse.org/rt/ecf/3.5.3/site.p2
+-installIU org.eclipse.ecf.remoteservice.feature.feature.group
+-destination <your {virgo-name} installation folder></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This installs the <strong>latest</strong> version of the specified p2 feature in your Virgo installation’s p2 profile.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_extending_via_the_p2_shell_commands">Extending via the p2 shell commands</h4>
+<div class="paragraph">
+<p>Another way to achieve the same results is to use the p2 commands. The commands are available only in VN as it includes p2 by default.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>For the other distributions only the director is supported and the operation only extends their kernel region.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Here’s a list of the most commonly used p2 commands:</p>
+</div>
+<div class="paragraph">
+<p><a id="p2-common-commands-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 8. p2 Common Shell Commands</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Command</th>
+<th class="tableblock halign-left valign-top">Help</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provaddrepo <repository URI></code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Add specified URI as metadata and artifact repository. Note that if you pass a wrong URL you’ll get an error saying:
+ <code>Repository not modifiable: <a href="http://wrongURL" class="bare">http://wrongURL</a></code>. The default behavior of this command is to create an empty repository at the
+ specified location if there isn’t any. That won’t work for remote locations so keep in mind that if you see this you probably passed a wrong URL.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provdelrepo <repository URI></code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Remove specified metadata and artifact repository.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provinstall <InstallableUnit> <version> <profileid></code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Install an IU to the profileid. If no profileid is given, installs into default profile.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provremove <InstallableUnit> <version> <profileid></code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstall an IU from the profileid. If no profileid is given, uninstalls form default profile.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provlg [<repository URI | *> <iu id | *> <version range | *>]</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists all IUs with group capabilities in the given repo or in all repos if URI is omitted.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provliu [<repository URI | *> <iu id | *> <version range | *>]</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists the IUs that match the pattern in the given repo. * matches all.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>confapply</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This is a Simple Configurator command, not a p2 one. However it is relevant because it applies dynamically, at runtime, the installed p2 features.
+ What the command does is to apply to the running OSGi framework the current content in the bundles.info file. When using the provinstall command it takes care of updating the bundles.info file.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Here’s an example showing how to install the ECF remote services but with the p2 commands this time:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> provaddrepo http://download.eclipse.org/rt/ecf/3.5.3/site.p2
+
+osgi> provlg
+
+org.eclipse.ecf.core.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.core.featurepatch.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.core.featurepatch.source.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.core.source.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.datashare.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.datashare.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.dnssd.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.dnssd.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.jmdns.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.jmdns.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.slp.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.slp.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.zookeeper.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.zookeeper.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.eventadmin.examples.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.eventadmin.examples.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.eventadmin.feature.feature.group 2.0.0.v20111109-2142
+org.eclipse.ecf.eventadmin.source.feature.feature.group 2.0.0.v20111109-2142
+org.eclipse.ecf.osgi.services.feature.feature.group 2.0.1.v20111109-2142
+org.eclipse.ecf.osgi.services.source.feature.feature.group 2.0.1.v20111109-2142
+org.eclipse.ecf.remoteservice.examples.feature.feature.group 1.1.0.v20111109-2142
+org.eclipse.ecf.remoteservice.examples.source.feature.feature.group 1.1.0.v20111109-2142
+org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.rest.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.rest.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.rosgi.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.rosgi.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.sdk.feature.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.remoteservice.sdk.source.feature.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.remoteservice.soap.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.soap.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.server.generic.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.server.generic.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.xmpp.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.xmpp.source.feature.feature.group 1.0.0.v20111109-2142
+
+osgi> provinstall org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
+Installation complete for org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
+
+osgi> confapply
+
+osgi> ss
+
+"Framework is launched."
+
+
+id State Bundle
+0 ACTIVE org.eclipse.osgi_3.7.1.R37x_v20110808-1106
+...
+92 RESOLVED org.springframework.osgi.io_1.2.1
+93 RESOLVED org.eclipse.ecf.console_1.0.0.v20111109-2142
+94 RESOLVED org.eclipse.ecf.discovery_4.0.0.v20111109-2142
+95 RESOLVED org.eclipse.ecf.provider_4.2.100.v20111109-2142
+96 RESOLVED org.eclipse.ecf.provider.discovery_2.1.200.v20111109-2142
+97 RESOLVED org.eclipse.ecf.provider.remoteservice_4.0.0.v20111109-2142
+98 RESOLVED org.eclipse.ecf.remoteservice_6.0.200.v20111109-2142
+99 RESOLVED org.eclipse.ecf.sharedobject_2.2.100.v20111109-2142
+100 RESOLVED org.eclipse.equinox.concurrent_1.0.200.v20110502</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can see that after applying the changes with <strong>confapply</strong> the remote services bundles and their dependencies are installed in VN.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:05:37 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/applications.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/applications.html
new file mode 100644
index 0000000..050e67d
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/applications.html
@@ -0,0 +1,806 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Working with Applications</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="deployment"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_working_with_applications">Working with Applications</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="deployment-deploying"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_deploying_artifacts">Deploying Artifacts</h3>
+<div class="paragraph">
+<p>In the context of Virgo for Apache Tomcat, <strong>deploying</strong> refers to installing an artifact to the server and then starting it to make it available to users. Typically, when you install an artifact, VTS automatically starts it as long as the server is able to successfully resolve all its dependencies. For this reason, the terms <strong>deploying</strong> and <strong>installing</strong> are often used interchangeably.</p>
+</div>
+<div class="paragraph">
+<p>You deploy artifacts to Virgo for Apache Tomcat using either the hot-deploy directory on the file system or by using the Admin Console. The artifacts that you can deploy to VTS are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Bundles, including Web Application Bundles</p>
+</li>
+<li>
+<p>WARs</p>
+</li>
+<li>
+<p>PARs</p>
+</li>
+<li>
+<p>Plans</p>
+</li>
+<li>
+<p>Configuration Files</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-nested-contexts"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_deploying_wars_with_nested_web_contextpaths">Deploying WARs with nested Web-ContextPaths</h4>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section currently is ONLY relevant for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Virgo Nano Web supports deployment of WAR files which are transformed into Web Application Bundles. This process involves automatic creation of an OSGi manifest with all relevant OSGi header plus the very important Web-ContextPath header. Its value defines how the deployed WAR file can be requested. There is a limitation about this process that the automatic generation only creates a flat context path which equals the name of your WAR file. Virgo Nano Web supports generation of a nested one.</p>
+</div>
+<div class="paragraph">
+<p>In order to benefit from this flexibility all you need to do is just to add hashes '#' to your WAR file name in the places where you want to have slashes in your web context path. Here is an example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>myWarFile.war would result into "/myWarFile" web context path</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>my#War#File.war would result into "/my/War/File" web context path</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The symbolic name of the resulting WAB file is the same as the WAR file name but the hashes '#' are replaced with dots '.'.</p>
+</div>
+<div class="paragraph">
+<p><a id="initial-deployment-deploying-bulk"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_initial_bulk_hot_deploy">Initial Bulk Hot Deploy</h4>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section currently is ONLY relevant for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>To hot deploy an artifact initially in bulk mode, copy it into the pickup directory (by default <code>$SERVER_HOME/pickup</code>) and start up the server. Upon this startup all the artifacts in the <code>pickup</code> directory will get first installed and resolved and only then they will be started.</p>
+</div>
+<div class="paragraph">
+<p>This solves the problem where artifacts depend on each other and when not in bulk mode the install order is not guaranteed therefore errors could occur.</p>
+</div>
+<div class="paragraph">
+<p>This is only available as part of the initial scan of the <code>pickup</code> directory. Subsequently it goes back to the known mode of single file handled at a time.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd /home/applications
+$ cp BundleA.jar $SERVER_HOME/pickup
+$ cp BundleWithDependencyOnA.jar $SERVER_HOME/pickup
+$ cd $SERVER_HOME/bin
+$ ./startup.sh</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When the server is started, artifacts are hot deployed and messages similar to the following appear in the log file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-12-10 06:41:01.021] fs-watcher <HD0001I> Hot deployer processing 'INITIAL' event for file 'BundleA.jar; BundleWithDependencyOnA.jar; '.
+[2009-12-10 06:41:01.087] fs-watcher <DE0000I> Installing bundle 'BundleA' version '0.0.0'.
+[2009-12-10 06:41:01.274] fs-watcher <DE0001I> Installed bundle 'BundleA' version '0.0.0'.
+[2009-12-10 06:41:01.087] fs-watcher <DE0000I> Installing bundle 'BundleWithDependencyOnA' version '0.0.0'.
+[2009-12-10 06:41:01.274] fs-watcher <DE0001I> Installed bundle 'BundleWithDependencyOnA' version '0.0.0'.
+[2009-12-10 06:41:01.397] fs-watcher <DE0004I> Starting bundle 'BundleA' version '0.0.0'.
+[2009-12-10 06:41:01.550] start-signalling-1 <DE0005I> Started bundle 'BundleA' version '0.0.0'.
+[2009-12-10 06:41:01.397] fs-watcher <DE0004I> Starting bundle 'BundleWithDependencyOnA' version '0.0.0'.
+[2009-12-10 06:41:01.550] start-signalling-1 <DE0005I> Started bundle 'BundleWithDependencyOnA' version '0.0.0'.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If there is a problem with the deployment, such as the server being unable to resolve all dependencies, the console and log both show an error message to help you with troubleshooting.</p>
+</div>
+<div class="paragraph">
+<p>If there are no problems, Virgo Nano automatically starts the artifacts so that they are immediately available to users.</p>
+</div>
+<div class="paragraph">
+<p>Bulk deployment can be disabled and reverted back to the old one-file-at-a-time processing by removing this line from <code>$SERVER_HOME/configuration/config.ini</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">org.eclipse.virgo.fschecker.initialEventMode=bulk</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-hot"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_hot_deploy">Hot Deploy</h4>
+<div class="paragraph">
+<p>To hot deploy an artifact, copy it into the pickup directory (by default <code>$SERVER_HOME/pickup</code>):</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd /home/applications
+$ cp helloWorld.war $SERVER_HOME/pickup</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When the artifact is hot deployed, messages similar to the following appear in the log file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-12-10 06:41:01.021] fs-watcher <HD0001I> Hot deployer processing 'CREATED' event for file 'helloWorld.war'.
+[2009-12-10 06:41:01.087] fs-watcher <DE0000I> Installing bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:41:01.274] fs-watcher <DE0001I> Installed bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:41:01.397] fs-watcher <DE0004I> Starting bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:41:01.414] Thread-3 <WE0000I> Starting web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2009-12-10 06:41:01.537] Thread-3 <WE0001I> Started web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2009-12-10 06:41:01.550] start-signalling-1 <DE0005I> Started bundle 'helloWorld' version '0.0.0'.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If there is a problem with the deployment, such as the server being unable to resolve all dependencies, the console and log both show an error message to help you with troubleshooting.</p>
+</div>
+<div class="paragraph">
+<p>If there are no problems, VTS automatically starts the artifact so that it is immediately available to users.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-redeploy-hot"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_hot_redeploy">Hot Redeploy</h4>
+<div class="paragraph">
+<p>To hot redeploy an artifact which is already hot deployed, copy the updated artifact into the pickup directory (by default <code>$SERVER_HOME/pickup</code>),
+just as for hot deploy. When the artifact is redeployed, messages similar to the following appear in the log file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2013-01-09 14:08:12.422] fs-watcher <HD0001I> Hot deployer processing 'MODIFIED' event for file 'helloWorld.war'.
+[2013-01-09 14:08:12.422] fs-watcher <DE0007I> Refreshing bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:12.469] fs-watcher <WE0002I> Stopping web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2013-01-09 14:08:13.094] fs-watcher <WE0003I> Stopped web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2013-01-09 14:08:13.094] fs-watcher <DE0010I> Stopping bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:13.110] fs-watcher <DE0011I> Stopped bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:13.250] fs-watcher <DE0004I> Starting bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:13.250] start-signalling-2 <WE0000I> Starting web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2013-01-09 14:08:13.860] start-signalling-2 <WE0001I> Started web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2013-01-09 14:08:13.860] start-signalling-2 <DE0005I> Started bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:13.860] fs-watcher <DE0008I> Refreshed bundle 'helloWorld' version '0.0.0'.</pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The following paragraph is ONLY relevant for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The redeploy waits for any previous operations on the artifact being redeployed to finish. The wait timeout could be configured through the following property in <code>$SERVER_HOME/configuration/config.ini</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>org.eclipse.virgo.update.timeout</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-manual"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_deploying_using_the_admin_console">Deploying Using the Admin Console</h4>
+<div class="paragraph">
+<p>The Admin Console allows you to upload a file, which will be deployed automatically, from your local file system to the Virgo for Apache Tomcat. As soon as Virgo for Apache Tomcat deploys the artifact, it appears in the list of artifacts in the Admin Console. Note that the GUI for uploading varies according to the browser and operating system you use.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#admin-console-install-artifacts">Installing a New Artifact</a> for details about using the Admin Console to install (deploy) an artifact. See <a href="#admin-console">The Web Admin Console</a> for general information about the Admin Console.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-happens"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_what_happens_when_you_deploy">What Happens When You Deploy</h4>
+<div class="paragraph">
+<p>When you deploy an artifact, either using hot-deployment or the Admin Console, Web Server copies the file to its work directory (<code>SERVER_HOME/work</code>) and registers it in its internal registry.
+The server then checks any dependencies the artifact might have to see if
+deployment can go ahead, and if all dependencies are resolved, Virgo for Apache Tomcat starts the artifact.
+Because of all these additional internal activities, you should NOT simply copy the artifact into the <code>work</code> directory and assume it will be deployed, because Virgo for Apache Tomcat will not do so.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-ordering"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_deployment_ordering">Deployment Ordering</h4>
+<div class="paragraph">
+<p>When deploying bundles that have dependencies, it is important
+that you deploy them in the correct order. Virgo for Apache Tomcat
+honors this ordering when it redeploys the artifacts on startup.</p>
+</div>
+<div class="paragraph">
+<p>If you use hot deployment to deploy your artifacts, be sure to copy the corresponding files into the pickup
+directory one-by-one. Copying the files in one group, for example by using a single <code>cp</code> command, provides no guarantee of ordering.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-shared"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_deploying_shared_artifacts">Deploying Shared Artifacts</h4>
+<div class="paragraph">
+<p>Artifacts may be shared by plans.
+Sharing occurs when a plan is deployed which references an artifact that was previously deployed or is a child artifact
+of a plan that was previously deployed.
+Sharing also occurs when an artifact is deployed which is already a child of a deployed plan, but in this case the shared
+artifact may <strong>not</strong> appear as a top-level artifact, for example, in the Admin Console, in the shell,
+and in JMX.</p>
+</div>
+<div class="paragraph">
+<p>Sharing is taken into account when artifacts are stopped.
+A shared artifact is stopped only when all the artifacts referencing the shared artifact have been stopped
+and, if the shared artifact was deployed in its own right, the artifact itself has been stopped.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-restrictions"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_restrictions">Restrictions</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat does not support deploying fragment bundles. Typically, fragment bundles should be placed in <code>$SERVER_HOME/repository/ext</code>
+or <code>$SERVER_HOME/repository/usr</code> so that they will be installed automatically with their host bundles.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-undeploy"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_undeploying_artifacts">Undeploying Artifacts</h3>
+<div class="paragraph">
+<p>You undeploy artifacts from Virgo for Apache Tomcat by using either the hot-deploy directory on the file system, or the Admin Console.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>As with deploying, in this guide the terms <strong>undeploying</strong> and <strong>uninstalling</strong> are used interchangeably.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="deployment-undeploy-hot"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_hot_undeploy">Hot Undeploy</h4>
+<div class="paragraph">
+<p>To hot-undeploy an artifact, remove the corresponding file from the pickup directory (by default <code>$SERVER_HOME/pickup</code>):</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME/pickup
+$ rm helloWorld.war</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When Virgo for Apache Tomcat completes the undeployment of the artifact, messages similar to the following appear in the log:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-12-10 06:46:33.254] fs-watcher <HD0001I> Hot deployer processing 'DELETED' event for file 'helloWorld.war'.
+[2009-12-10 06:46:33.259] Thread-3 <WE0002I> Stopping web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2009-12-10 06:46:33.285] Thread-3 <WE0003I> Stopped web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2009-12-10 06:46:33.290] fs-watcher <DE0010I> Stopping bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:46:33.295] fs-watcher <DE0011I> Stopped bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:46:33.302] fs-watcher <DE0013I> Uninstalling bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:46:33.319] fs-watcher <DE0014I> Uninstalled bundle 'helloWorld' version '0.0.0'.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="deployment-undeploy-manual"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_undeploying_using_the_admin_console">Undeploying Using the Admin Console</h4>
+<div class="paragraph">
+<p>You can undeploy only whole artifacts from the Admin Console, or in other words, you cannot undeploy the separate modules or bundles that make up an artifact.</p>
+</div>
+<div class="paragraph">
+<p>The only artifact that you cannot undeploy from the Admin Console is the Admin Console itself. If you need to undeploy this application, you must remove it from the pickup directory (by default <code>SERVER_HOME/pickup</code>); the name of the artifact is
+<code>org.eclipse.virgo.server.admin-3.7.0.RELEASE.plan</code>.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#admin-console-manage-artifacts">Viewing and Managing the Lifecycle of Deployed Artifacts</a> for details about uninstalling (undeploying) an artifact using the Admin Console. The high-level steps are to highlight the artifact in the artifact tree then click <code>Uninstall</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-undeploying-shared"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_undeploying_shared_artifacts">Undeploying Shared Artifacts</h4>
+<div class="paragraph">
+<p>Sharing is taken into account when artifacts are undeployed.
+A shared artifact is undeployed only when all the artifacts referencing the shared artifact have been undeployed
+and, if the shared artifact was deployed in its own right, the artifact itself has been undeployed.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:38:40 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/bundle-repository.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/bundle-repository.png
new file mode 100644
index 0000000..c6ac771
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/bundle-repository.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/concepts/bundle-lifecycle.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/concepts/bundle-lifecycle.png
new file mode 100644
index 0000000..259232b
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/concepts/bundle-lifecycle.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifact-deployed.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifact-deployed.png
new file mode 100644
index 0000000..732495c
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifact-deployed.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifact-undeployed.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifact-undeployed.png
new file mode 100644
index 0000000..52800c4
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifact-undeployed.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifacts.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifacts.png
new file mode 100644
index 0000000..bc7263c
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-artifacts.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-bundle-details.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-bundle-details.png
new file mode 100644
index 0000000..44c3ec0
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-bundle-details.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-configuration-details.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-configuration-details.png
new file mode 100644
index 0000000..cc5eae3
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-configuration-details.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-default-artifacts.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-default-artifacts.png
new file mode 100644
index 0000000..82c57e5
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-default-artifacts.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-deployment-error.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-deployment-error.png
new file mode 100644
index 0000000..5e278ba
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-deployment-error.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-dump-details.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-dump-details.png
new file mode 100644
index 0000000..8abfb99
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-dump-details.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-file-upload.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-file-upload.png
new file mode 100644
index 0000000..b9fe12b
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-file-upload.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-main-page.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-main-page.png
new file mode 100644
index 0000000..26ae5f9
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-main-page.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-osgi-state.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-osgi-state.png
new file mode 100644
index 0000000..ac2a5ca
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-osgi-state.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-par-details.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-par-details.png
new file mode 100644
index 0000000..3b3e32a
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-par-details.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-server-props.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-server-props.png
new file mode 100644
index 0000000..9b89c19
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/console-server-props.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/default-target-create.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/default-target-create.png
new file mode 100644
index 0000000..84f04e9
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/default-target-create.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/director_args.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/director_args.png
new file mode 100644
index 0000000..181a7e7
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/director_args.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/director_result.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/director_result.png
new file mode 100644
index 0000000..90cb512
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/director_result.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/env-variables.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/env-variables.png
new file mode 100644
index 0000000..9cd0c30
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/env-variables.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-1-FileListing.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-1-FileListing.png
new file mode 100644
index 0000000..976cfb3
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-1-FileListing.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-2-SecuritySettings.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-2-SecuritySettings.png
new file mode 100644
index 0000000..e0ce4ad
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-2-SecuritySettings.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-3-AdvanceSettingsOwner.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-3-AdvanceSettingsOwner.png
new file mode 100644
index 0000000..df56705
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-3-AdvanceSettingsOwner.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-4-AllSetReadAndExecute.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-4-AllSetReadAndExecute.png
new file mode 100644
index 0000000..82e029e
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/install-windows-4-AllSetReadAndExecute.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-local-attach.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-local-attach.png
new file mode 100644
index 0000000..839fea5
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-local-attach.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-default.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-default.png
new file mode 100644
index 0000000..3bdbc0a
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-default.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-jmxport.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-jmxport.png
new file mode 100644
index 0000000..f85017f
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-jmxport.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-jmxusers.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-jmxusers.png
new file mode 100644
index 0000000..957c4f5
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/jmx-remote-attach-jmxusers.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/kernel-user-region.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/kernel-user-region.png
new file mode 100644
index 0000000..c2065ce
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/kernel-user-region.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-control-summary.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-control-summary.png
new file mode 100644
index 0000000..3250820
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-control-summary.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-resource-discovery.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-resource-discovery.png
new file mode 100644
index 0000000..4ff1c98
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-resource-discovery.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-controls.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-controls.png
new file mode 100644
index 0000000..69fec36
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-controls.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-main-page.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-main-page.png
new file mode 100644
index 0000000..22db09b
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-main-page.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-started.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-started.png
new file mode 100644
index 0000000..6de6ec3
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-started.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-stopped.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-stopped.png
new file mode 100644
index 0000000..7667801
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-server-stopped.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-servers-list.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-servers-list.png
new file mode 100644
index 0000000..c1735f1
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/management-servers-list.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/repo-structure.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/repo-structure.png
new file mode 100644
index 0000000..9fab430
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/repo-structure.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/run_configuration.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/run_configuration.png
new file mode 100644
index 0000000..56cd0dd
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/run_configuration.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/s2-logo.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/s2-logo.png
new file mode 100644
index 0000000..7f41814
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/s2-logo.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/system-props.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/system-props.png
new file mode 100644
index 0000000..0c047a0
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/system-props.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/system-variable.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/system-variable.png
new file mode 100644
index 0000000..725ad3e
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/system-variable.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/target-platform-view.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/target-platform-view.png
new file mode 100644
index 0000000..c48da9d
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/target-platform-view.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/virgo-logo-large.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/virgo-logo-large.png
new file mode 100644
index 0000000..f8fe1f9
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/virgo-logo-large.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/virgo-logo-small.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/virgo-logo-small.png
new file mode 100644
index 0000000..45e9224
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/virgo-logo-small.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/welcome.png b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/welcome.png
new file mode 100644
index 0000000..87a3926
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/assets/images/welcome.png
Binary files differ
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/concepts.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/concepts.html
new file mode 100644
index 0000000..fefd5e3
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/concepts.html
@@ -0,0 +1,1097 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Concepts</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="concepts"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_concepts">Concepts</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This chapter introduces some basic concepts that will help you to use Virgo.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.modular"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_modular_runtimes_and_applications">Modular Runtimes and Applications</h3>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat, Virgo Jetty Server, Virgo Kernel and Virgo Nano are Java runtimes each composed of
+a collection of modules and supporting applications which are also composed of a
+collection of modules.
+Modules can be shared between applications and multiple versions of modules
+can co-exist.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.osgi"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_osgi_concepts">OSGi Concepts</h3>
+<div class="paragraph">
+<p>Modules in Virgo are represented using a standard Java
+module system known as <strong>OSGi</strong>.
+Modules in OSGi are known as <strong>bundles</strong>.
+Bundles consist of programs and resources organised by Java package together
+with metadata which declares imported and exported packages.
+A bundle <strong>exports</strong> a package to make the corresponding programs and resources
+available for use by other bundles.
+A bundle <strong>imports</strong> a package to use the corresponding programs and resources of
+another bundle.</p>
+</div>
+<div class="paragraph">
+<p>Representing a program as a collection of bundles makes it easier for the
+programmer to manage it and modify it and for teams of programmers to divide
+responsibilities between themselves.
+A bundle is similar to a Java class in this respect. Design principles similar to those for
+organising data and programs into classes can be applied
+to organising applications into bundles.</p>
+</div>
+<div class="paragraph">
+<p>An industry consortium known as the
+<strong>OSGi Alliance</strong> develops OSGi
+specifications, reference implementations, and compliance tests.
+Virgo is built on the Equinox OSGi framework which is also
+the reference implementation for the OSGi framework specification.</p>
+</div>
+<div class="sect3">
+<h4 id="_bundles">Bundles</h4>
+<div class="paragraph">
+<p>Each bundle is stored in a file which conforms to the JAR file format and
+can contain Java classes, a manifest (in <code>META-INF/MANIFEST.MF</code>),
+and further resource files.</p>
+</div>
+<div class="paragraph">
+<p>The OSGi framework enables bundles to be installed and run.</p>
+</div>
+<div class="paragraph">
+<p>OSGi identifies bundles "by name" and "by identifier" (id).</p>
+</div>
+<div class="paragraph">
+<p>The <strong>symbolic name</strong> and
+<strong>version</strong> of a bundle are attributes of the bundle which identify the bundle.
+A bundle declares its <strong>symbolic name</strong> and <strong>version</strong>
+in its manifest (a file called <code>MANIFEST.MF</code>) like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Bundle-SymbolicName: org.foo.bundle
+Bundle-Version: 1.2.3.BUILD-2009-06-04</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Additionally, the OSGi framework
+assigns a distinct number, known as a <strong>bundle id</strong>, to each bundle
+as it is installed. Bundles may be referred to "by identifier" using this number.
+The OSGi framework itself resides in a
+bundle with bundle id <code>0</code>.</p>
+</div>
+<div class="paragraph">
+<p>The dependencies between bundles are expressed statically in terms of packages and
+dynamically in terms of services. A package is familiar to Java programmers.
+For example, a Java program may depend on a class <code>org.foo.X</code>,
+from package <code>org.foo</code>, and a bundle
+containing that program
+would either need to contain <code>org.foo.X</code> or depend on the
+package <code>org.foo</code>.
+Package dependencies are specified in the bundle manifest, for example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Package: org.foo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A bundle which provides a package for use by other bundles <strong>must</strong>
+export the package in its manifest. For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Export-Package: org.foo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The OSGi framework ensures that a given bundle’s package dependencies
+can be <strong>satisfied</strong> before the bundle runs. This process is known as
+<strong>resolution</strong>.</p>
+</div>
+<div class="paragraph">
+<p>After a bundle is resolved, its classes and resources are available for
+loading.
+In OSGi, bundles and their packages do not appear on the application classpath.
+Instead, each bundle has a class loader which loads its own classes and loads classes belonging to each of its
+imported packages by deferring to the bundle class loader that exports the package.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_life_cycle">Life Cycle</h4>
+<div class="paragraph">
+<p>The OSGi framework manages the <strong>life cycle</strong> of each bundle. A bundle is
+first of all <strong>installed</strong> and will be in the INSTALLED state.
+If a request is made to <strong>start</strong> the bundle, the OSGi framework <strong>resolves</strong> the bundle
+and, if resolution was successful, will subsequently move the bundle to the ACTIVE state.
+If a request is made to <strong>stop</strong> the bundle, the OSGi framework will move the
+bundle back to the RESOLVED state. A request may then be made to <strong>uninstall</strong>
+the bundle.</p>
+</div>
+<div class="paragraph">
+<p>While the bundle is INSTALLED, ACTIVE or RESOLVED, it may be <strong>updated</strong> to pick up
+some changes. These changes are not detected by bundles which were depending
+on the bundle before it was updated.
+A "refresh packages" operation may be performed to ripple the
+changes out to those bundles. (See <a href="#concepts.services">Services concepts</a>.)
+The life cycle of a bundle can be summarised by a state transition diagram.
+This diagram shows some more of the intermediate states of a bundle not described in the overview above:</p>
+</div>
+<div class="paragraph">
+<div class="title">Bundle life cycle</div>
+<p><span class="image center"><img src="assets/images/concepts/bundle-lifecycle.png" alt="bundle lifecycle"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.services"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_services">Services</h4>
+<div class="paragraph">
+<p>Bundles may publish Java objects, known as <strong>services</strong>,
+to a registry managed by the OSGi framework. Other bundles running in
+the same OSGi framework can then find and use those services. Services
+are typically instances of some shared Java interface. A bundle which
+provides a service need not then export the package containing the
+<strong>implementation</strong>
+class of the service.</p>
+</div>
+<div class="paragraph">
+<p>For example, a bundle could export a package containing the interface
+<code>org.bar.SomeInterface</code>, thus:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Export-Package: org.bar</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>…implement the interface with a class <code>SomeImpl</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-java" data-lang="java">package org.bar.impl;
+
+class SomeImpl implements SomeInterface {
+ …
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>…create an instance of <code>SomeImpl</code> and
+then publish this instance (as an instance of the interface <code>SomeInterface</code>).</p>
+</div>
+<div class="paragraph">
+<p>An OSGi framework publishes a number of standard services. For example, the
+<strong>Package Admin</strong> service provides the "refresh packages" life cycle operation
+mentioned above.</p>
+</div>
+<div class="paragraph">
+<p>OSGi provides an <strong>API</strong> which can be used to publish and find services,
+but it is much simpler to use Blueprint to accomplish this. (See <a href="#concepts.blueprint">Gemini Blueprint</a>.)</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_versioning">Versioning</h4>
+<div class="paragraph">
+<p>OSGi allows different versions of bundles, packages, and several
+other entities, to co-exist in the same framework
+and provides some mechanisms for managing these versions.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_version_numbers">Version Numbers</h4>
+<div class="paragraph">
+<p>An OSGi <strong>version number</strong> consists of up to three numeric components,
+or exactly three
+numeric components followed by a string component. These components are
+separated by a period (“.”) and
+are called the <strong>major</strong>, <strong>minor</strong>, <strong>micro</strong>,
+and <strong>qualifier</strong> components, respectively.</p>
+</div>
+<div class="paragraph">
+<p>For example, the version <code>2.4.1.ga</code> has major component <code>2</code>, minor component
+<code>4</code>, micro component <code>1</code>,
+and a qualifier component <code>ga</code>. (There are restrictions on the characters that can appear in
+a qualifier. For example: letters, digits, underscores and hyphens are allowed; periods and commas are not.)</p>
+</div>
+<div class="paragraph">
+<p>Trailing components may be omitted along with their period (<code>.</code>). So, for example, the version
+numbers <code>2</code>, <code>2.0</code>, and <code>2.0.0</code>
+all denote the same version. This example demonstrates that <code>0</code> is assumed if a numeric component is omitted,
+and the empty string is assumed for an omitted qualifier.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_version_ranges">Version Ranges</h4>
+<div class="paragraph">
+<p>Dependencies on bundles and packages have an associated <strong>version range</strong>
+which is specified using an interval notation: a square bracket
+“[” or “]” denotes
+an <strong>inclusive</strong> end of the range and a round bracket
+“(” or “)” denotes
+an <strong>exclusive</strong> end of the range. Where one end of the range is to be included and the other excluded, it is permitted to
+pair a round bracket with a square bracket.
+The examples below make this clear.</p>
+</div>
+<div class="paragraph">
+<p>If a single version number is used where a version <strong>range</strong> is
+required this does <strong>not</strong> indicate a single version, but the range <strong>starting</strong> from that version and
+including all higher versions.</p>
+</div>
+<div class="paragraph">
+<p>There are three common cases:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A "strict" version range, such as <code>[1.2,1.2]</code>, which
+denotes that version and only that version.</p>
+</li>
+<li>
+<p>A "half-open" range, such as
+<code>[1.2,2)</code>, which has an inclusive lower limit
+and an exclusive upper limit, denoting version <code>1.2.0</code> and any version after this, up
+to, <strong>but not including</strong>, version <code>2.0.0</code>.</p>
+</li>
+<li>
+<p>An "unbounded" version range, such as <code>1.2</code>, which
+denotes version <code>1.2</code> and <strong>all</strong> later versions.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_versioning_policies">Versioning Policies</h4>
+<div class="paragraph">
+<p>A <strong>versioning policy</strong> is a way of using version numbers to indicate compatible
+and incompatible changes.
+OSGi does not mandate a particular versioning policy.
+Instead, a specific versioning policy may be implemented using version ranges.
+Strict and half-open version ranges are most useful in representing versioning
+policies.
+Unbounded version ranges can lead to problems as they (unrealistically) assume that
+compatibility will be preserved indefinitely.</p>
+</div>
+<div class="paragraph">
+<p>For example, a conservative versioning policy might assume that any change, other than
+in the qualifier component of a version, implies an incompatible
+change to the object.
+Such a policy would employ version ranges such as <code>[1.2.1.beta,1.2.2)</code>
+which accept any version from <code>1.2.1.beta</code> (inclusive) up to but not including
+<code>1.2.2</code> (exclusive).</p>
+</div>
+<div class="paragraph">
+<p>Alternatively, a relaxed versioning policy might assume that only changes in the major component of
+a version denote an incompatible change.
+Such a policy would employ version ranges such as <code>[1.2,2)</code> to capture this.</p>
+</div>
+<div class="paragraph">
+<p>The OSGi Alliance has published a <a href="http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf">Semantic
+Versioning white paper</a> which provides some recommendations and guidance on versioning policies.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_bundle_version">Bundle Version</h4>
+<div class="paragraph">
+<p>Each bundle has a version.
+The bundle’s version may be specified in the manifest using a
+<code>Bundle-Version</code> header:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Bundle-Version: 1.4.3.BUILD-20090302</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If not specified the bundle version is assumed to be <code>0</code>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_package_version">Package Version</h4>
+<div class="paragraph">
+<p>Each exported package has a version.
+The exported package’s version may be specified on the Export-Package manifest header. For example</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Export-Package: org.foo;version="2.9",org.bar;version="1"</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>exports two packages: <code>org.foo</code>, at version <code>2.9.0</code> and
+<code>org.bar</code>, at version <code>1.0.0</code>.</p>
+</div>
+<div class="paragraph">
+<p>If the version attribute is omitted, the version is assumed to be <code>0</code>.</p>
+</div>
+<div class="paragraph">
+<p>Each package <strong>import</strong> has a version <strong>range</strong>.
+The package import version range may be specified on the <code>Import-Package</code> manifest header.
+If interval notation is used, the version range must be enclosed in double quotes, for example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Import-Package: org.foo;version="[2,3)",org.bar;version="[1,1]"</programlisting></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>seeks to import a package <code>org.foo</code> in the range <code>[2.0.0,3.0.0)</code> and a package
+<code>org.bar</code> with the (exact) version <code>1.0.0</code>.</p>
+</div>
+<div class="paragraph">
+<p>If a version range is not specified on an import, the range <code>0</code> is assumed, meaning that
+any version of this package would satisfy the import.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_bundle_manifest_version">Bundle Manifest Version</h4>
+<div class="paragraph">
+<p>Bundle manifests have a version which is <code>1</code> by default,
+indicating OSGi Release 3 semantics.
+Virgo is based on OSGi Release 4 and therefore expects bundle manifests to be
+at version <code>2</code>, indicating OSGi Release 4 semantics.
+The bundle manifest’s version should be specified on the Bundle-ManifestVersion manifest header, exactly as follows:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Bundle-ManifestVersion: 2</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_manifest_version">Manifest Version</h4>
+<div class="paragraph">
+<p>Manifests themselves also have a version which <strong>must</strong> be specified as <code>1.0</code>.
+This is not an OSGi definition but part of the
+(<a href="http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html">JAR file specification</a>).</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Manifest-Version: 1.0</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="concepts.blueprint"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_blueprint_concepts">Blueprint Concepts</h3>
+<div class="paragraph">
+<p>Spring DM (the predecessor of Gemini Bluprint) is a project which enables <strong>services</strong> to be published and consumed
+using descriptions written in XML.</p>
+</div>
+<div class="paragraph">
+<p>The XML descriptions reside in files with extension <code>.xml</code> in the
+bundle’s <code>META-INF/spring</code> sub-directory.</p>
+</div>
+<div class="paragraph">
+<p>To publish a service, an <code><osgi:service></code> tag is used, specifying the
+implementation class of the service and the interface class to be used.
+Spring DM constructs an instance of the implementation class and
+publishes that instance in the OSGi service registry under the interface when the bundle is started.</p>
+</div>
+<div class="paragraph">
+<p>To consume a service, an <code><osgi:reference></code> tag is used and the
+service may be passed into other Spring beans using Spring’s dependency
+injection facilities.</p>
+</div>
+<div class="paragraph">
+<p>Spring DM automatically creates proxies for OSGi services so that the actual service
+object may come and go at runtime.
+If a service disappears, any proxies to the service will wait for the service to re-appear.
+This effect is known as <strong>damping</strong>.</p>
+</div>
+<div class="paragraph">
+<p>When a bundle is started, Spring DM builds the application contexts
+specified by the XML descriptions, creates proxies for the specified services, and publishes
+the specified services to the OSGi service registry.</p>
+</div>
+<div class="paragraph">
+<p>When a bundle is stopped, Spring DM retracts any services it published on behalf of the bundle
+and closes the bundle’s application contexts.
+Virgo turns off damping of a service proxy while the proxy’s application context
+is being closed.</p>
+</div>
+<div class="paragraph">
+<p>Spring DM was contributed to Eclipse as the <strong>Gemini Blueprint</strong> project.
+Virgo has Gemini Blueprint built-in.</p>
+</div>
+<div class="paragraph">
+<p>Gemini Blueprint supports both Spring DM and Blueprint programming models.
+Blueprint, known formally as the "OSGi Blueprint Container", provides some of the basic facilities of Spring DM,
+including all those just mentioned, but in an OSGi standard form.
+See <a href="#furtherreading">[furtherreading]</a> for the Blueprint specification.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.virgo"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_virgo_concepts">Virgo Concepts</h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section is not relevant for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="concepts.repositories"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_the_provisioning_repository">The Provisioning Repository</h4>
+<div class="paragraph">
+<p>The Virgo provisioning repository contains artifacts and metadata indexed by the artifact type, name, and version. There are three kinds of repository: <strong>external</strong>, <strong>watched</strong>, and <strong>remote</strong>. Repositories are passive in the sense that changes to repository content do not cause artifacts to be deployed into Virgo, refreshed, or undeployed.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_artifact_types">Artifact Types</h4>
+<div class="paragraph">
+<p>In addition to the standard OSGi bundle, artifact types in Virgo include configuration (properties file), PAR, plan, and library.
+PARs, plans, and libraries are discussed in <a href="#concepts.grouping">Grouping Bundles</a>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_external_repositories">External Repositories</h4>
+<div class="paragraph">
+<p>External repositories are created by scanning a directory which contains artifacts, possibly in nested directories. The repository configuration specifies a pattern which
+says which files should be treated as artifacts. After the repository is created, changes to the directory do not affect the repository content.</p>
+</div>
+<div class="paragraph">
+<p>Virgo’s default repository configuration, in <code>configuration/org.eclipse.virgo.repository.properties</code>, specifies an external repository created from the
+<code>repository/ext</code> directory.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_watched_repositories">Watched Repositories</h4>
+<div class="paragraph">
+<p>Watched repositories are created by scanning a directory which contains artifacts but no nested directories. All files in the directory are treated as artifacts.
+The directory is re-scanned periodically and the interval between re-scans is specified in the repository configuration.
+The directory is also re-scanned when an artifact is deployed into Virgo.
+Changes detected by re-scanning are reflected in the repository content. Note that changing the content of a watched repository does not cause artifacts to be deployed
+into Virgo, refreshed, or undeployed.</p>
+</div>
+<div class="paragraph">
+<p>Virgo’s default repository configuration specifies a watched repository based on the contents of the <code>repository/usr</code> directory.</p>
+</div>
+<div class="sect4">
+<h5 id="_remote_repositories">Remote Repositories</h5>
+<div class="paragraph">
+<p>A remote repository refers to a repository hosted by a Virgo instance sometimes known as a <strong>repository server</strong>.
+The hosted repository is configured using the file <code>configuration/org.eclipse.virgo.apps.repository.properties</code> and may be either an external or a watched
+repository.</p>
+</div>
+<div class="paragraph">
+<p>The remote repository is accessed by a Virgo instance sometimes known as a <strong>repository client</strong>.
+The repository client is normally a different instance of Virgo to the instance hosting the repository, but it can be the same instance (which is handy for
+testing). The remote repository periodically downloads its index from the hosted repository. The period between downloads may be configured in the repository
+configuration. The remote repository also caches artifacts which have secure hashes associated with them in the hosted repository. Only bundles currently have secure
+hashes associated with them. The secure hash is used to determine when a cached artifact is stale and needs to be freshly downloaded.</p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_repository_chains">Repository Chains</h4>
+<div class="paragraph">
+<p>The Virgo repository is configured as a <strong>chain</strong> of external, watched, and remote repositories.
+The chain is a list which is searched in the configured order.
+The effect of this search order is that an artifact with a given type, name, and version which appears in more than one repository in the chain is only accessed from the
+first repository in the chain in which it appears. Abstractly, the repository chain behaves as a single repository, but its content may mutate in quite a different way to
+the content of an individual external, watched, or remote repository.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.grouping"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_grouping_bundles">Grouping Bundles</h4>
+<div class="paragraph">
+<p>Virgo provides a way of grouping together a collection
+of OSGi bundles and other artifacts which comprise a single application.
+These artifacts are placed in a JAR file with extension “.par”. This is called a PAR file.</p>
+</div>
+<div class="paragraph">
+<p>All the bundles in a PAR file are resolved together and so mutual dependencies are permitted.</p>
+</div>
+<div class="paragraph">
+<p>At runtime a PAR file provides a <strong>scope</strong> in the sense that bundles
+inside the PAR file may depend on packages and services outside the PAR file,
+but bundles outside the PAR file may not depend on packages and services
+provided by the PAR file.</p>
+</div>
+<div class="paragraph">
+<p>Virgo also provides the plan artifact as another way of grouping bundles and other artifacts into an application.
+A <strong>plan</strong> is a file (in XML format) listing a collection of artifacts.
+The artifacts referred to by a plan reside in the Virgo provisioning repository.</p>
+</div>
+<div class="paragraph">
+<p>In addition to PARs and plans, which are used for deploying groups of artifacts, Virgo provides libraries as a way of grouping together a collection
+of bundles that can then be imported into an application using the Virgo-specific <code>Import-Library</code> manifes header.</p>
+</div>
+<div class="paragraph">
+<p><a id="kernel.user.region"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_kernel_and_user_region">Kernel and User Region</h4>
+<div class="paragraph">
+<p>Conceptually, VTS can be divided into two separate subsystems, one of which actually encompases the other:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The <strong>kernel</strong>, which is the heart of VTS. It makes up most of VTS, except for the part that supports Web applications. In other words, the kernel provides full OSGi modular support for your applications, as long as they are not Web-based.
+See <a href="#kernel-overview">The Virgo Kernel</a> for additional information.</p>
+</li>
+<li>
+<p>The <strong>user region</strong> is the subsystem that manages user applications. It deliberately isolates the kernel from both your applications and those of the VTS itself, such as the Admin Console, which protects the kernel from interference by applications.
+See <a href="#user-region-overview">The User Region</a> for additional information.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>When you download and install Virgo for Apache Tomcat you get both the kernel and web server support (configured in the user region). You can also <a href="http://www.eclipse.org/virgo/download/">download and use the kernel</a> on its own if you do not plan on deploying Web applications or using the
+web-based Admin Console and you’ll get the kernel and a minimal user region (with no web support).</p>
+</div>
+<div class="paragraph">
+<p>The following graphic shows how the kernel and user region make up VTS:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/kernel-user-region.png" alt="kernel user region"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="kernel-overview"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_the_virgo_kernel">The Virgo Kernel</h4>
+<div class="paragraph">
+<p>The Virgo Kernel encapsulates almost all of VTS except for the deployment of Web applications. In sum, the kernel provides the following VTS features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Deployment of non-Web artifacts, such as OSGi bundles, PARs, plans,
+and configuration artifacts.</p>
+</li>
+<li>
+<p>Local and hosted repositories</p>
+</li>
+<li>
+<p>Scoping</p>
+</li>
+<li>
+<p>Hot deployment</p>
+</li>
+<li>
+<p>User region</p>
+</li>
+<li>
+<p>Auto-provisioning</p>
+</li>
+<li>
+<p>System and application tracing and dump support</p>
+</li>
+<li>
+<p>Spring beans and Blueprint support</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>See <a href="#configuring">Configuring VTS</a> for details about configuring the kernel to better suit your environment.</p>
+</div>
+<div class="paragraph">
+<p><a id="user-region-overview"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_the_user_region">The User Region</h4>
+<div class="paragraph">
+<p>The user region isolates the kernel from deployed applications,
+including both your own user applications and the user-oriented
+VTS applications such as the Admin Console. This means
+that the kernel is mostly invisible to applications and to application
+management. This is because most of the kernel bundles are not
+installed in the user region (apart from a few needed for region
+management). The necessary function to support the kernel runs in the
+OSGi framework, but the user region applications cannot see it, except
+for the services that are normally offered.</p>
+</div>
+<div class="paragraph">
+<p>This isolation has many benefits. For example, it is not necessary for the kernel and user applications to use the same version of the Spring Framework. In fact the kernel installs only those parts of the Spring Framework that it needs. If you update the kernel, it is far less likely that you will also need to upgrade or adjust the applications to accomodate a new version of the kernel. The kernel implementation is therefore much more stable and resilient and applications are much more likely to survive kernel upgrades between releases.
+When you install VTS, the kernel creates a single user region.
+The kernel and the user region are configured independently of each other; see <a href="#configuring">Configuring VTS</a> for details.</p>
+</div>
+<div class="paragraph">
+<p>Finally, the isolation provided by the user region together with scoped applications and plans solve common dependency problems that occur when using OSGi.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.p2"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_p2_concepts">p2 Concepts</h3>
+<div class="paragraph">
+<p>At EclipseCon 2011 there was a great introductory presentation on p2. It gives a nice overview of the whole provisioning system.
+You can find it recorded <a href="http://fosslc.org/drupal/content/gentle-introduction-p2">here(video).</a></p>
+</div>
+<div class="paragraph">
+<p><a href="http://bkapukaranov.wordpress.com/2011/07/12/rt-meets-p2/">This blog post</a>
+provides some background on why p2 was created as well as a brief overview of what p2 repositories
+are and how this relates to a runtime.</p>
+</div>
+<div class="paragraph">
+<p>This <a href="http://www.slideshare.net/PascalRapicault/understanding-and-extending-p2-for-fun-and-profit">presentation(slides only)</a>
+sheds light on more advanced p2 features and turns our attention to its extension points.</p>
+</div>
+<div class="paragraph">
+<p>Finally, the <a href="http://wiki.eclipse.org/Equinox/p2">p2 wiki</a>
+also provides both getting started guides as well as information on more advanced features.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/configuring.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/configuring.html
new file mode 100644
index 0000000..8a76e49
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/configuring.html
@@ -0,0 +1,2395 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Configuration</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="configuring"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_configuration">Configuration</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Configuration</p>
+</div>
+<div class="paragraph">
+<p>You use configuration files in the <code>$SERVER_HOME/configuration</code> directory to configure Virgo. You can also configure the OSGi framework using files the same <code>$SERVER_HOME/configuration</code> directory. This section divides the configuration of the server into the following high-level tasks:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#configuring-osgi-framework">Configuring the OSGi framework</a></p>
+</li>
+<li>
+<p><a href="#configuring-framework-extensions">Configuring framework extensions and fragments on the system bundle</a></p>
+</li>
+<li>
+<p><a href="#configuring-serviceability">Configuring serviceability</a></p>
+</li>
+<li>
+<p><a href="#configuring-provisioning-repository">Configuring the local provisioning repository</a></p>
+</li>
+<li>
+<p><a href="#configuring-hosted-repo">Configuring the hosted repository</a></p>
+</li>
+<li>
+<p><a href="#configuring-kernel">Configuring the kernel and User Region</a></p>
+</li>
+<li>
+<p><a href="#configuring-tomcat">Configuring the embedded Tomcat servlet container</a></p>
+</li>
+<li>
+<p><a href="#configuring-web">Configuring the web integration layer</a></p>
+</li>
+<li>
+<p><a href="#configuring-jetty">Configuring the embedded Jetty servlet container</a></p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="title">Why is there both a config and a configuration directory?</div>
+<div class="paragraph">
+<p>The <strong>config</strong> directory has always contained Virgo configuration files. When Virgo Nano and its support for p2 provisioning was introduced in Virgo 3.5.0, a <strong>configuration</strong> directory replaced the old <strong>config</strong> one. Now all Virgo configurations are assembled in that directory providing a single point of configuration. The directory name <strong>configuration</strong> in the installation’s root is used by default in p2 to configure the OSGi framework during provisioning.
+This chapter makes it clear which configuration goes in each directory.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Sections 4-6 and 8-9 does not apply for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-osgi-framework"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_osgi_framework">Configuring the OSGi Framework</h3>
+<div class="paragraph">
+<p>This section provides information about configuring the OSGi framework by updating the following files in the <code>$SERVER_HOME/configuration</code> directory:</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-osgi-framework-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 1. OSGi Framework Configuration Files</caption>
+<colgroup>
+<col style="width: 33%;">
+<col style="width: 33%;">
+<col style="width: 33%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property File</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Location</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>config.ini</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures <a href="#configuring-framework-properties">OSGi framework properties</a>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME/configuration</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bundles.info</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures <a href="#configuring-framework-bundles">OSGi framework bundles</a>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME/configuration/org.eclipse.equinox.simpleconfigurator</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java-server.profile</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-framework-profile">OSGi framework profile</a>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME/configuration</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-framework-properties"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_configuring_osgi_framework_properties">Configuring OSGi Framework Properties</h4>
+<div class="paragraph">
+<p>You specify the framework properties in the <code>$SERVER_HOME/configuration/config.ini</code> file. The
+properties most relevant to users are described in the following table.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>We strongly recommend that you update only the
+properties below; updating other properties could cause Virgo
+to fail.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-framework-properties-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 2. Framework Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.startup.wait.limit</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the amount of time, in seconds, after which various operations time out out while trying to start the kernel.
+ The default value is 180.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.suppress.heap.dumps</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Set to 'false' by default this property will prevent heap dumps being contributed to dumps taken during a
+ First Failure Data Capture (FFDC) event. When the heap dumps are produced they will be located along with
+ the other dump artifacts in the <code>$SERVER_HOME/serviceability/dump/</code> folder.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.java.profile</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the profile to use using a <code>file:</code> URI with default value
+ <code>file:configuration/java-server.profile</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.bundlefile.limit</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies a limit on the number of jar files the framework will keep open.
+ The minimum value allowed is 10. Any value less than 10 will disable the bundle file limit, making the the number of jar files the framework keeps open unlimited.
+ By default the value is 100.
+ Increase the default value if you have many jar files in the bundle class path, expect a lot of file system operations etc.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-framework-bundles"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuring_osgi_framework_bundles">Configuring OSGi Framework Bundles</h4>
+<div class="paragraph">
+<p>You specify the framework bundles in the <code>$SERVER_HOME/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info</code> file. The syntax
+that is accepted for listing bundles there is:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre><bsn>,<version>,<jar-location>,<start-level>,<toStart?>
+bsn - the bundle's symbolic name string
+version - the bundle's version string
+jar-location - relative or absolute path to the jar file
+start-level - a digit indicating the bundle's start level
+toStart? - true or false value indicating whether a bundle should be started or not</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Here’s an example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>org.eclipse.virgo.util.osgi,3.1.0.BUILD-20111031165127,plugins/org.eclipse.virgo.util.osgi_3.1.0.BUILD-20111031165127.jar,4,true</pre>
+</div>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>We strongly recommend that you don’t remove bundles already present in your bundles.info file as that may break your server. Add bundles here only if absolutely necessary.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-framework-profile"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuring_osgi_framework_profile">Configuring OSGi Framework Profile</h4>
+<div class="paragraph">
+<p>You specify the framework profile in the <code>$SERVER_HOME/configuration/java6-server.profile</code> file. The
+properties most relevant to users are described in the following table.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>We advise you not to change the framework profile unless you are sure you know exactly what
+you are doing; updating the profile could cause Virgo to fail.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-framework-profile-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 3. Framework Profile Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.osgi.framework.bootdelegation</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This property specifies the packages which are loaded by delegation to the application class loader.
+ Bundles can load classes belonging to these packages without importing the packages.
+ The <code>.<strong></code> wildcard matches any package suffix. <code>java.</strong></code> is always
+ boot delegated and must not be specified in this property.
+</p><p class="tableblock"> A common reason for adding packages to this property is to run Virgo under a performance profiler.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.osgi.framework.system.packages</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This property specifies the packages which are exported by the system bundle.
+ Although the system bundle is typically imported into the User Region, any additional packages will not be
+ visible in the User Region unless you also import them using the <code>packagedImports</code> property.
+ See <a href="#configuring-user-region">Configuring the User Region</a> for instructions.
+</p><p class="tableblock"> It is very occasionally necessary to extend the set, for example when configuring email logging appenders since the
+ implementation of <code>javax.mail</code> is intimately related to the implementation of
+ <code>javax.activation</code>.
+</p><p class="tableblock"> To make the corresponding classes available for loading, the relevant JAR file(s) should be placed in
+ <code>$SERVER_HOME/lib</code> so that they will be added to the application class path.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-framework-extensions"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_framework_extensions_and_fragments_on_the_system_bundle">Configuring Framework Extensions and Fragments on the System Bundle</h3>
+<div class="paragraph">
+<p>This section provides information about configuring framework extensions and fragments on the system bundle. Deployment of such bundles is not allowed in
+Virgo. This is because by refreshing or uninstalling them the system.bundle is also refreshed, which causes Virgo to crash.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This only applies for fragments on the system bundle. All other fragment bundles have no deployment restrictions.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Generally it’s best to avoid usage of such fragment bundles as they are a common OSGi framework issue and often require restarting the framework.
+However sometimes there are no other options and one has to use framework extensions or fragments on the system bundle.</p>
+</div>
+<div class="paragraph">
+<p>You can configure framework extensions and system bundle fragments as follows:</p>
+</div>
+<div class="paragraph">
+<p><strong>1.</strong> Place your fragment bundle in the <code>/plugins</code> directory of your Virgo installation.
+Lets say we have bundle with</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>symbolic name: *testFragment*, version: *1.0.0* and filename: *testFragmentBinary_1.0.0.jar*</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><strong>2.</strong> Configure the <code>bundles.info</code> file in <code>/configuration/org.eclipse.equinox.simpleconfigurator</code> to include the
+just copied fragment or framework extension bundle.</p>
+</div>
+<div class="paragraph">
+<p>Add a line at the end of the <code>bundles.info</code> file similar to this one:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>testFragment,1.0.0,plugins/testFragmentBinary_1.0.0.jar,4,false*</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><strong>3.</strong> Configure the <code>org.eclipse.virgo.kernel.userregion.properties</code> file in <code>/configuration</code> folder to import the fragment bundle or framework extension in the User Region.</p>
+</div>
+<div class="paragraph">
+<p>Add to the <code>bundleImports</code> property a new line describing the fragment bundle using its symbolic name and version.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>bundleImports = org.eclipse.osgi;bundle-version="0",<emphasis role="bold">testFragment;bundle-version="0"*</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-serviceability"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_serviceability_and_diagnostics">Configuring Serviceability and Diagnostics</h3>
+<div class="paragraph">
+<p>The serviceability features of Virgo allow you to gather and view data and information that you can then use to diagnose problems and failures. Serviceability data includes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Service dumps: Contain a snapshot of all the important state from the running Virgo instance when an internal failure or thread deadlock is detected.
+You configure service dumps for Virgo using the <a href="#configuring-serviceability-medic">org.eclipse.virgo.medic.properties</a> file in the <code>$SERVER_HOME/configuration</code> directory. This file also includes some additional logging configuration.</p>
+</li>
+<li>
+<p>Event logs and server/application (trace) logging: Logging support in Virgo is based on <a href="http://logback.qos.ch/">Logback</a>. This means that you have complete control over the format of log output and have the complete range of Logback’s appenders available for your use.
+You configure logging for Virgo using the <a href="#configuring-serviceability-logback">serviceability.xml</a> file in the <code>$SERVER_HOME/configuration</code> directory. This file is essentially the Logback <code>logback.xml</code> (or <code>logback-test.xml</code>) configuration file but renamed for Virgo.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For additional conceptual information about the serviceability subsystem, see <a href="#serviceability">[serviceability]</a>" />.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-serviceability-medic"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_the_org_eclipse_virgo_medic_properties_file">The org.eclipse.virgo.medic.properties File</h4>
+<div class="paragraph">
+<p>The <code>$SERVER_HOME/configuration/org.eclipse.virgo.medic.properties</code> file configures Virgo service dumps and whether you want to capture <code>System.out</code> and <code>System.err</code> output to your application’s trace file.
+The following table describes the properties you can include in the <code>$SERVER_HOME/configuration/org.eclipse.virgo.medic.properties</code> file. This file configures serviceability properties that Virgo includes in addition to those supplied by the Logback, configured in the <code>serviceability.xml</code> file.</p>
+</div>
+<div class="paragraph">
+<p><a id="medic-properties-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 4. Serviceability Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>dump.root.directory</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the directory to which Virgo writes the service dumps. The directory name is relative to <code>$SERVER_HOME</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log.wrapSysOut</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether you want to capture <code>System.out</code> output from your applications to the application trace file. The output is logged by Virgo’s root logger, which captures <code>INFO</code> level and above.
+ Valid values for this property are <code>true</code> to capture <code>System.out</code> output, or <code>false</code> to disable the capture.
+ For more information, see <a href="#sysout-and-syserr">System.out and System.err</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log.wrapSysErr</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether you want to capture <code>System.err</code> output from your applications to the application trace file. The output is logged by Virgo’s root logger, which captures <code>INFO</code> level and above.
+ Valid values for this property are <code>true</code> to capture <code>System.err</code> output, or <code>false</code> to disable the capture.
+ For more information, see <a href="#sysout-and-syserr">System.out and System.err</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log.jul.consoleHandler</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether you want to use the <code>ConsoleHandler</code> of Java Util Logging. The default JVM configuration uses the handler to write logs to <code>System.err</code>.
+ Valid values for this property are <code>true</code> to enable <code>ConsoleHandler</code> output, or <code>false</code> to disable it. The default value is <code>false</code>.
+ For more information, see <a href="http://download.oracle.com/javase/6/docs/technotes/guides/logging/overview.html">Java Logging Overview</a>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-serviceability-logback"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_the_serviceability_xml_file">The serviceability.xml File</h4>
+<div class="paragraph">
+<p>Logging support in Virgo is based on <a href="http://logback.qos.ch/">Logback</a>, which is a successor of the log4j project. The Logback logging framework is faster, more reliable, and easier to use than log4j and certain other logging systems.
+You configure logging for Virgo using the <code>$SERVER_HOME/configuration/serviceability.xml</code> file. This file is the standard Logback <code>logback.xml</code> or <code>logback-test.xml</code> configuration file, but renamed for Virgo.
+The following listing shows the default <code>serviceability.xml</code> file in a freshly-installed Virgo; see the text after the listing for a brief overview of the file:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><configuration>
+
+ <jmxConfigurator />
+
+ <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>
+
+ <appender name="SIFTED_LOG_FILE" class="ch.qos.logback.classic.sift.SiftingAppender">
+ <discriminator>
+ <Key>applicationName</Key>
+ <DefaultValue>virgo-server</DefaultValue>
+ </discriminator>
+ <sift>
+ <appender name="${applicationName}_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>serviceability/logs/${applicationName}/log.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <FileNamePattern>serviceability/logs/${applicationName}/log_%i.log</FileNamePattern>
+ <MinIndex>1</MinIndex>
+ <MaxIndex>4</MaxIndex>
+ </rollingPolicy>
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <MaxFileSize>10MB</MaxFileSize>
+ </triggeringPolicy>
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-5level %-28.28thread %-64.64logger{64} %X{medic.eventCode} %msg %ex%n</Pattern>
+ </encoder>
+ </appender>
+ </sift>
+ </appender>
+
+ <appender name="LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>serviceability/logs/log.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <FileNamePattern>serviceability/logs/log_%i.log</FileNamePattern>
+ <MinIndex>1</MinIndex>
+ <MaxIndex>4</MaxIndex>
+ </rollingPolicy>
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <MaxFileSize>10MB</MaxFileSize>
+ </triggeringPolicy>
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-5level %-28.28thread %-64.64logger{64} %X{medic.eventCode} %msg %ex%n</Pattern>
+ </encoder>
+ </appender>
+
+ <appender name="EVENT_LOG_STDOUT" class="org.eclipse.virgo.medic.log.logback.ReroutingAwareConsoleAppender">
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-28.28thread <%X{medic.eventCode}> %msg %ex%n</Pattern>
+ </encoder>
+ </appender>
+
+ <appender name="EVENT_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>serviceability/eventlogs/eventlog.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <FileNamePattern>serviceability/eventlogs/eventlog_%i.log</FileNamePattern>
+ <MinIndex>1</MinIndex>
+ <MaxIndex>4</MaxIndex>
+ </rollingPolicy>
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <MaxFileSize>10MB</MaxFileSize>
+ </triggeringPolicy>
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-28.28thread <%X{medic.eventCode}> %msg %ex%n</Pattern>
+ </encoder>
+ </appender>
+
+ <logger level="INFO" additivity="false" name="org.eclipse.virgo.medic.eventlog.localized">
+ <appender-ref ref="EVENT_LOG_STDOUT" />
+ <appender-ref ref="EVENT_LOG_FILE" />
+ </logger>
+
+ <logger level="INFO" additivity="false" name="org.eclipse.virgo.medic.eventlog.default">
+ <appender-ref ref="SIFTED_LOG_FILE" />
+ <appender-ref ref="LOG_FILE" />
+ </logger>
+
+ <root level="INFO">
+ <appender-ref ref="SIFTED_LOG_FILE" />
+ <appender-ref ref="LOG_FILE" />
+ </root>
+
+</configuration></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Logback allows Virgo to use logger, appender, and encoder (layout) objects to log messages according to message type and level and to format these messages and define where they are written. The default <code>serviceability.xml</code> file shown above includes four appenders and three loggers (two user and one root.)</p>
+</div>
+<div class="paragraph">
+<p>The main information to get from this file is that Virgo writes log messages to four different locations that map to the four appenders:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>jmxConfigurator</code> provides a possibility to configure logback via JMX. For more information see <a href="http://logback.qos.ch/manual/jmxConfig.html">JMX Configurator</a> documentation.</p>
+</li>
+<li>
+<p>The <code>contextListener</code> propagates the changes made to the levels of logback loggers to Java Util Logging (JUL). For more information see <a href="http://logback.qos.ch/manual/configuration.html#LevelChangePropagator">LevelChangePropagator</a> documentation.</p>
+</li>
+<li>
+<p>The <code>SIFTED_LOG_FILE</code> appender logs both global and application-specific messages to the <code>$SERVER_HOME/serviceability/logs/</code><strong><code>applicationName</code></strong><code>/log.log</code> file, where <strong><code>applicationName</code></strong> refers to the name of the application. The log messages for Virgo itself are logged to the <code>$SERVER_HOME/serviceability/logs/virgo-server/log.log</code> file. Because this appender creates different log files for each application, it is called a <strong>sifting appender</strong>.
+The default behaviour of these trace files is that, once <code>log.log</code> reaches a 10Mb limit, it rolls into a series of files named
+<code>log_</code><strong>i</strong><code>.log</code> where <strong>i</strong> ranges from 1 to 4, and logging continues in
+a new <code>log.log</code> file. This is called its <strong>rolling policy</strong>.</p>
+<div class="literalblock">
+<div class="content">
+<pre> The `<Pattern>` element defines the format of each log message; messages include the timestamp, the thread that generated the log message, the context-specific event code, and a stack trace of the exception, if any. For example:
+`[2008-05-15 09:09:46.940] server-dm-2 org.apache.coyote.http11.Http11Protocol I Initializing Coyote HTTP/1.1 on http-48080`</pre>
+</div>
+</div>
+</li>
+<li>
+<p>The <code>LOG_FILE</code> appender is very similar to the first one, but it logs <strong>all</strong> log messages to the <code>$SERVER_HOME/serviceability/log/log.log</code> file rather than sifting application-specific messages to their own log file. The rolling policy and message format for this appender is similar to that of the <code>SIFTED_LOG_FILE</code> appender.</p>
+</li>
+<li>
+<p>The <code>EVENT_LOG_STDOUT</code> appender does not log messages to a file, but rather to the console window from which you started Virgo. For example:
+<code>[2010-10-25 16:20:49.367] Thread-3 <WE0000I> Starting web bundle 'org.eclipse.virgo.apps.admin.web' version '2.1.0.RELEASE' with context path '/admin'.</code></p>
+</li>
+<li>
+<p>The <code>EVENT_LOG_FILE</code> appender logs only important events to the <code>$SERVER_HOME/serviceability/eventlogs/eventlog.log</code> file, and thus the volume of information is much lower than with the first two appenders. The rolling policy for the event log is the same as with the first two appenders, but the format of the messages is similar to that of the <code>EVENT_LOG_STDOUT</code> appender.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The loggers and root logger specify the level of log that is written for each of the referenced appenders.</p>
+</div>
+<div class="paragraph">
+<p>Typically, the default logging configuration as specified by the <code>serviceability.xml</code> file is adequate for all Virgo environments. However, if you want to customize logging further, you can edit this file as well as the <code>org.eclipse.virgo.medic.properties</code>. See the <a href="http://logback.qos.ch/manual/index.html">logback documentation</a> for detailed information about the architecture and the configuration of Logback.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_local_provisioning_repository">Configuring the Local Provisioning Repository</h3>
+<div class="paragraph">
+<p>You configure the locations that Virgo includes in its provisioning repository
+by editing the <code>org.eclipse.virgo.repository.properties</code> file in the <code>$SERVER_HOME/configuration</code> directory.</p>
+</div>
+<div class="paragraph">
+<p>When you specify a property in the file, use the format <code>repository-name.property=value</code>, where:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>repository-name</code> refers to the name of the local repository.</p>
+</li>
+<li>
+<p><code>property</code> refers to the name of a particular property.</p>
+</li>
+<li>
+<p><code>value</code> refers to the value of the property.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For example, <code>ext.type=external</code> specifies that the <code>type</code> property of the repository
+with name <code>ext</code> is <code>external</code>.</p>
+</div>
+<div class="paragraph">
+<p>The <code>chain</code> property specifies the order in which Virgo searches the individual repositories
+when it looks for dependencies.
+The <code>chain</code> property uses the names of the individual repositories as specified in the individual repository properties;
+for example, in the property <code>ext.type=external</code>, the name of the repository is <code>ext</code>.</p>
+</div>
+<div class="paragraph">
+<p>The default repository configuration for a newly installed Virgo instance is as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">ext.type=external
+ext.searchPattern=repository/ext/{artifact}
+
+usr.type=watched
+usr.watchDirectory=repository/usr
+
+chain=ext,usr</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The default configuration shown above has two searchpaths corresponding to the two default sub-directories of the <code>$SERVER_HOME/repository</code> directory created when you first install Virgo: <code>ext</code> and <code>usr</code>. Virgo searches each of these individual repositories when locating entries for inclusion in the repository.</p>
+</div>
+<div class="paragraph">
+<p>The <code>chain</code> property shows the order in which Virgo searches the individual repositories: first <code>ext</code> and then <code>usr</code>.</p>
+</div>
+<div class="paragraph">
+<p>The following table lists all the available properties that you can use to configure an individual repository.
+Individual repositories as well as the repository search chain are configured in the file
+<code>$SERVER_HOME/configuration/org.eclipse.virgo.repository.properties</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-options-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 5. Repository Properties</caption>
+<colgroup>
+<col style="width: 33%;">
+<col style="width: 33%;">
+<col style="width: 33%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.type</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the type of path. You can set this property to one of the following three valid values:
+* <code>external</code>: Specifies that this path points to a number of directories that satisfy a given search pattern
+and are local to the current Virgo instance.
+Use the <code>searchPattern</code> property to specify the directory search pattern.
+* <code>watched</code>: Specifies that this path points to a single directory, local to the current Virgo instance.
+Virgo regularly scans watched repositories so it automatically picks up any changes to the artifacts in the directory at runtime.
+Virgo also scans its local watched repositories when deploying any artifact.
+Use the <code>watchDirectory</code> property to specify the watched directory
+and the <code>watchInterval</code> property to specify how often Virgo checks the directory.
+* <code>remote</code>: Specifies that the path points to a remotely-hosted repository,
+hosted by a remote instance of Virgo for Apache Tomcat.
+Use the <code>uri</code> property to specify the full URI of the remote repository.
+You can also specify the optional <code>indexRefreshInterval</code> property.
+</p><p class="tableblock">See <a href="#configuring-repository-watched-versus-external">Watched or External Repository?</a>
+for additional information about when to configure watched or external repositories for your particular environment.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>no default</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.searchPattern</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the pattern that an external repository uses when deciding which local directories it should search
+ when identifying artifacts. Use this property together with <strong><code>repository-name</code></strong><code>.type=external</code>.
+ See <a href="#configuring-provisioning-repository-search-paths">Search Paths: Additional Information</a>
+ for detailed information about specifying a search pattern.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>no default</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.watchDirectory</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the single directory of a watched repository.
+ You can specify either an absolute or relative pathname for the directory.
+ If you specify a relative pathname, it is relative to the root of the Virgo installation (<code>$SERVER_HOME</code>).
+ Use this property together with <strong><code>repository-name</code></strong><code>.type=watched</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>no default</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.watchInterval</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the interval in seconds between checks of a watched directory by a watched repository.
+ Use this property together with <strong><code>repository-name</code></strong><code>.type=watched</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>5</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.uri</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the URI of the hosted repository to which a remote repository connects.
+ The value of this property takes the following format:
+ <code>http://</code><strong><code>host</code></strong><code>:</code><strong><code>port</code></strong><code>/org.eclipse.virgo.apps.repository/</code><strong><code>remote-repository-name</code></strong>
+ where:
+* <strong><code>host</code></strong> refers to the computer on which the remote VTS
+instance hosts the remote repository.
+* <strong><code>port</code></strong> refers to a Tomcat listener port of the remote VTS
+instance which hosts the remote repository.
+* <strong><code>remote-repository-name</code></strong> refers to the name of the remote repository,
+as specified in the <code>org.eclipse.virgo.apps.repository.properties</code> file of the remote VTS instance.
+</p><p class="tableblock">Use this property together with <strong><code>repository-name</code></strong><code>.type=remote</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>no default</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.indexRefreshInterval</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the interval in seconds between checks by a remote repository that
+ its local copy of the hosted repository index is up-to-date
+ (a remote repository acts as a proxy for a hosted repository and thus it holds a local copy of the hosted repository’s index).
+</p><p class="tableblock"> Use this property together with <strong><code>repository-name</code></strong><code>.type=remote</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>5</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-repository-watched-versus-external"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_should_i_configure_a_watched_or_external_repository">Should I Configure a Watched or External Repository?</h4>
+<div class="paragraph">
+<p>The main difference between a watched and an external repository is that Virgo regularly scans watched directories
+and automatically picks up any changed artifacts,
+while Virgo scans external directories only at startup, and then only if there is no cached index available.
+This means that Virgo always performs a scan of an external repository when you start the server
+with the <code>-clean</code> (as this deletes the index) and only scans during a normal startup if the index isn’t there because,
+for example, this is the first time you start the server.</p>
+</div>
+<div class="paragraph">
+<p>There is a performance cost associated with using a watched repository due to Virgo using resources
+to scan the directory at the configured interval.
+The cost is small if the watched repository contains just a few artifacts; however,
+the performance cost increases as the number of artifacts increases.
+Note that Virgo re-scans its local watched repositories when deploying any artifact, so the scanning interval
+can be configured to be relatively long.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre> For this reason, we recommend that you put most of your dependencies in external repositories,
+even when in development mode.
+If you make any changes to the artifacts in the external repositories,
+remember to restart {virgo-name} with the `-clean` option so that the server picks up any changes.
+Use watched directories for artifacts that you are prototyping, actively updating, or when adding new dependencies
+so that {virgo-name} quickly and easily picks them up.
+To increase performance even during development, however, you can use an external repository for most of your dependencies,
+in particular the ones that are fairly static.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In production environments, where dependencies should not change,
+we recommend that you use <strong>only</strong> external repositories.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-search-paths"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_search_paths_additional_information">Search Paths: Additional Information</h4>
+<div class="paragraph">
+<p>The <strong><code>repository-name</code></strong><code>.searchPattern</code> and
+<strong><code>repository-name</code></strong><code>.watchDirectory</code> properties specify search paths
+for external and watched repositories, respectively,
+that define a physical location that Virgo searches when looking for a library or bundle dependency.
+If a search path is relative, its location is relative to the root of the installation,
+in other words, the <code>$SERVER_HOME</code> directory.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-search-paths-wildcards"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_wildcards">Using Wildcards</h4>
+<div class="paragraph">
+<p>Search paths specified with the <strong><code>repository-name</code></strong><code>.searchPattern</code> property
+provide support for wildcards.
+In the entries above, the path segments surrounded by curly braces,
+for example <code>{bundle}</code> and <code>{library}</code>,
+are wildcards entries for a directory with any name.
+Allowing wildcards to be named in this way is intended to improve the readability of search path configuration.</p>
+</div>
+<div class="paragraph">
+<p>In addition to supporting the above-described form of wildcards, Virgo also supports Ant-style paths,
+that is <code>*</code> and <code>**</code> can be used to represent any directory and
+any series of directories, respectively.
+For example, <code>repository/usr/{bundle}</code> and <code>repository/usr/*</code>
+are equivalent.</p>
+</div>
+<div class="paragraph">
+<p>A common usage of the <code>**</code> wildcard is to allow dependencies stored in a directory structure of varying depth,
+such as a local Maven repository, to be provisioned by the Virgo.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-using-system-properties"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_system_properties">Using System Properties</h4>
+<div class="paragraph">
+<p>You can use system properties when specifying the values of the <strong><code>repository-name</code></strong><code>.searchPattern</code>,
+<strong><code>repository-name</code></strong><code>.watchDirectory</code>,
+<strong><code>repository-name</code></strong><code>.watchInterval</code>,
+<strong><code>repository-name</code></strong><code>.uri</code>,
+and <strong><code>repository-name</code></strong><code>.indexRefreshInterval</code>
+properties.
+You reference system properties as <code>${system.property.name}</code>;
+for example, a search path of <code>${user.home}/repository/bundles</code> references the
+<code>repository/bundles</code> directory in the user’s home directory.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-examples"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_example_repository_configurations">Example Repository Configurations</h4>
+<div class="paragraph">
+<p>The following examples provide sample configuration that could be used for some common use cases.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-examples-ivy"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_add_an_ivy_cache_repository">Add an Ivy cache repository</h4>
+<div class="paragraph">
+<p>The following example shows how to add an external repository whose location is actually an Ivy cache.
+<strong>Note that Ivy repositories can contain bundles which will conflict with the normal operation of Virgo, so care should
+be exercised when adding such an external repository.</strong></p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">ext.type=external
+ext.searchPattern=repository/ext/{artifact}
+
+usr.type=watched
+usr.watchDirectory=repository/usr
+
+ivy-repo.type=external
+ivy-repo.searchPattern=${user.home}/.ivy2/cache/{org}/{name}/{version}/{bundle}.jar
+
+chain=ext,usr,ivy-repo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-examples-maven"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_add_a_maven_local_repository">Add a Maven local repository</h4>
+<div class="paragraph">
+<p>The following example shows how to add an external repository whose location is actually a Maven repository.
+<strong>Note that Maven repositories can contain bundles which will conflict with the normal operation of Virgo, so care should
+be exercised when adding such an external repository.</strong></p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">ext.type=external
+ext.searchPattern=repository/ext/{artifact}
+
+usr.type=watched
+usr.watchDirectory=repository/usr
+
+maven-repo.type=external
+maven-repo.searchPattern=${user.home}/.m2/repository/**/{bundle}.jar
+
+chain=ext,usr,maven-repo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-repository-examples-remote-watched"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_add_remote_and_watched_repositories">Add remote and watched repositories</h4>
+<div class="paragraph">
+<p>The following example shows the default <code>org.eclipse.virgo.repository.properties</code> file
+from a freshly-installed Virgo instance, but then updated to include new remote and watched repositories.
+Both of these repositories are part of the repository chain.</p>
+</div>
+<div class="paragraph">
+<p>The remote repository is called <code>remote-repo</code>.
+The URI of the hosted repository from which <code>remote-repo</code> gets its artifacts is
+<code><a href="http://my-host:8080/org.eclipse.virgo.apps.repository/my-hosted-repo" class="bare">http://my-host:8080/org.eclipse.virgo.apps.repository/my-hosted-repo</a></code>;
+this means that there is a VTS instance running on host <code>my-host</code>
+whose Tomcat server listens at the default port, <code>8080</code>,
+and this server instance hosts a repository called <code>my-hosted-repo</code>,
+configured in the <code>org.eclipse.virgo.apps.repository.properties</code> file of the remote server instance.
+The remote repository checks for changes in the hosted repository every 30 seconds.</p>
+</div>
+<div class="paragraph">
+<p>The watched repository is called <code>watched-repo</code> and the directory that holds the artifacts
+is <code>repository/watched</code>,
+relative to the installation directory of the VTS instance.
+The server checks for changes in this watched repository every 5 seconds.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">ext.type=external
+ext.searchPattern=repository/ext/{artifact}
+
+usr.type=watched
+usr.watchDirectory=repository/usr
+
+remote-repo.type=remote
+remote-repo.uri=http://my-host:8080/org.eclipse.virgo.apps.repository/my-hosted-repo
+remote-repo.indexRefreshInterval=30
+
+watched-repo.type=watched
+watched-repo.watchedDirectory=repository/watched
+watched-repo.watchedInterval=5
+
+chain=ext,usr,remote-repo,watched-repo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-hosted-repo"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_a_hosted_repository">Configuring a Hosted Repository</h3>
+<div class="paragraph">
+<p>You configure a VTS instance to host a repository
+by editing the <code>$SERVER_HOME/configuration/org.eclipse.virgo.apps.repository.properties</code> file;
+remote clients can then access the artifacts in this hosted repository and use them locally.</p>
+</div>
+<div class="paragraph">
+<p>When you specify a property in the file, use the format <code>repository-name.property=value</code>, where:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>repository-name</code> refers to the name of the hosted repository.</p>
+</li>
+<li>
+<p><code>property</code> refers to the name of a particular property.</p>
+</li>
+<li>
+<p><code>value</code> refers to the value of the property.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For example, <code>my-hosted-repo.type=external</code> specifies that the <code>type</code> property
+of the <code>my-hosted-repo</code> repository is <code>external</code>.</p>
+</div>
+<div class="paragraph">
+<p>The following table lists the properties that you can include in the <code>org.eclipse.virgo.apps.repository.properties</code> file.</p>
+</div>
+<div class="paragraph">
+<p><a id="hosted-repository-properties-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 6. Hosted Repository Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.type</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the type of path of the hosted repository.
+ All paths are local to the current VTS instance.
+ You can set this property to one of the following valid values:
+* <code>external</code>: Specifies that this path points to a number of directories that satisfy a given search pattern.
+Use the <code>searchPattern</code> property to specify the directory search pattern.
+* <code>watched</code>: Specifies that this path points to a single directory.
+Virgo regularly scans watched repositories so it automatically picks up any changes to the artifacts in the directory at runtime.
+Use the <code>watchDirectory</code> property to specify the actual watched directory and the <code>watchInterval</code> property
+to specify how often VTS checks the directory.
+</p><p class="tableblock">See <a href="#configuring-repository-watched-versus-external">Watched or External Repository?</a>
+for additional information about when to configure watched or external repositories for your particular environment.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.searchPattern</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the pattern that an external hosted repository uses when deciding which
+ local directories it should search when identifying artifacts.
+ Use this property when <code>repository-name.type=external</code>.
+ See <a href="#configuring-provisioning-repository-search-paths">Search Paths: Additional Information</a>
+ for detailed information about specifying a search pattern.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.watchDirectory</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the single directory of a watched hosted repository.
+ You can specify either an absolute or relative pathname for the directory.
+ If you specify a relative pathname, it is relative to the root of the VTS installation (<code>$SERVER_HOME</code>).
+ Use this property when <code>repository-name.type=watched</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.watchInterval</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the interval in seconds between checks of a watched directory by a watched hosted repository.
+ This property is optional. Use this property when <code>repository-name.type=watched</code>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following sample shows a <code>org.eclipse.virgo.apps.repository.properties</code> file with a single external repository
+called <code>my-hosted-repo</code> with search pattern <code>$SERVER_HOME/repository/hosted/*</code>.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>my-hosted-repo.type=external
+my-hosted-repo.searchPattern=repository/hosted/*</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See <a href="#configuring-repository-examples-remote-watched">Example of watched and remote repositories</a>
+for details on how a local repository can remotely access the artifacts in this hosted repository.</p>
+</div>
+<div class="paragraph">
+<p>anchor:configuring-kernel</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_kernel_and_user_region">Configuring the Kernel and User Region</h3>
+<div class="paragraph">
+<p>This section provides information about configuring the Virgo kernel and the User Region.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-kernel-properties"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_configuring_the_kernel">Configuring the Kernel</h4>
+<div class="paragraph">
+<p>To change any of the kernel properties, provide the new value to the startup script. The following table describes all properties.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-kernel-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 7. Kernel Configuration Properties</caption>
+<colgroup>
+<col style="width: 33%;">
+<col style="width: 33%;">
+<col style="width: 33%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property (prefixed by <code>org.eclipse.virgo</code>)</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.kernel.home</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the location of the Virgo Kernel.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.kernel.config</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the location of the Virgo Kernel and User Region <a href="#configuring-kernel-files">configuration files</a>.
+ The location of the configuration files can also be specified using
+ <a href="#starting-stopping-configuration-directory">[starting-stopping-configuration-directory]</a> <code>-configDir</code> startup parameter].</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME/configuration</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.kernel.domain</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the <a href="http://download.oracle.com/javase/6/docs/api/javax/management/ObjectName.html">JMX domain</a> that should be
+ used by the Virgo Kernel.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.kernel.startup.wait.limit</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the amount of time, in seconds, after which various operations time out out while trying to start the kernel.
+ See <a href="#configuring-framework-properties">Configuring OSGi Framework Properties</a> for the recommended way
+ to configure this parameter.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>180</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-kernel-files"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuration_files">Configuration Files</h4>
+<div class="paragraph">
+<p>The configuration of the Virgo Kernel and User Region by default is located in the <code>$SERVER_HOME/configuration</code> directory:</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-kernel-files-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 8. Kernel Configuration Files</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property File</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures <a href="#configuring-deployment">deployment</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.userregion.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-user-region">User Region</a> of Virgo.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.users.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-authentication">users that are allowed to access</a> the Admin Console, and roles to which they map.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.jmxremote.access.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-authentication">permissions for users</a> that are allowed to access the Admin Console.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.authentication.config</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-authentication">Java Authentication and Authorization Service (JAAS)</a> for the Tomcat server users.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.console.ssh.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the kernel SSH console. See <a href="#admin-shell-enable">[admin-shell-enable]</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.console.telnet.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the kernel telnet console. See <a href="#admin-shell-enable">[admin-shell-enable]</a>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-deployment"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuring_deployment">Configuring Deployment</h4>
+<div class="paragraph">
+<p>You can configure various properties of deployment: the pickup directory into which you copy applications for hot-deployment, the deployment timeout,
+and whether or not bundles are unpacked during deployment.</p>
+</div>
+<div class="paragraph">
+<p>To change any of these properties, edit the <code>deployer.XXX</code> properties of the <code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.properties</code> file. The following table describes these properties.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-deployment-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 9. Deployment Configuration Properties</caption>
+<colgroup>
+<col style="width: 33%;">
+<col style="width: 33%;">
+<col style="width: 33%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployer.pickupDirectory</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the absolute or relative path to the pickup directory to which you copy applications for hot-deployment.
+ Relative paths are relative to <code>$SERVER_HOME</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>./pickup</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployer.timeout</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the amount of time, in seconds, after which Virgo times out while trying to deploy an artifact.
+ If you want to disable deployment timeout, specify <code>0</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>300</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployer.scanIntervalMillis</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the scan interval, in milliseconds, used to survey the pickup directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployer.unpackBundles</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Determines whether or not bundles (with file extension <code>.jar</code> or <code>.war</code>) are unpacked
+ during deployment. The value must be either <code>true</code> or <code>false</code>.
+</p><p class="tableblock"> If you want to deploy bundles packed, specify <code>false</code>.
+ This option can help alleviate a known issue with <a href="#long-work-paths">long work directory paths under Windows</a>.
+</p><p class="tableblock"> Note that web applications may behave differently depending on whether they are deployed packed or unpacked.
+ Certain servlet API methods return <code>null</code> when a web application is deployed packed.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>WABHeaders</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This kernel property is only relevant for Virgo Nano Full. For the corresponding property in Virgo for Apache Tomcat, see <a href="#configuring-web">Configuring the Web Integration Layer</a>.
+</p><p class="tableblock"> Specifies how Web Application Bundle manifest headers are processed.
+ See "Web Application Manifest Processing" in the
+ <a href="../../virgo-programmer-guide/html/index.html">Programmer Guide</a> for details.
+</p><p class="tableblock"> A value of <code>strict</code> causes Virgo Nano Full to interpret certain headers in strict compliance with
+ the OSGi Web Applications specification if they are not specified.
+</p><p class="tableblock"> A value of <code>defaulted</code> causes Virgo Nano Full to set certain headers to default values if they are not specified.
+ <strong>This value is provided as a migration aid and may not be supported in future releases.</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>strict</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following listing displays the default configuration distributed with Virgo; only relevant sections of the <code>org.eclipse.virgo.kernel.properties</code> file are shown.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>deployer.timeout=300
+deployer.pickupDirectory=pickup
+deployer.scanIntervalMillis=1000</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>So the default deployment timeout is 300 seconds, the default pickup directory is <code>$SERVER_HOME/pickup</code> and the default scan interval is <code>1000</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-user-region"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuring_the_user_region">Configuring the User Region</h4>
+<div class="paragraph">
+<p>The User Region is the subsystem of Virgo that
+supports deployed applications, both your own user applications and
+those of the server itself, such as the Admin Console. The User Region
+is deliberately isolated from the kernel, which protects the kernel from interference by applications.</p>
+</div>
+<div class="paragraph">
+<p>You configure the User Region by updating properties in the
+<code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.userregion.properties</code>
+file; these properties are described in the following table.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>We strongly recommend that you update only the
+<code>initialArtifacts</code>
+property; updating other properties could cause
+Virgo to fail. These properties are documented for your
+information.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-user-region-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 10. User Region Configuration Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>baseBundles</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the hard-coded list of bundles that Virgo installs directly into the User Region.
+ Virgo does not perform any automatic dependency satisfaction for these bundles; in other words, you only get the bundles
+ in the list and nothing more.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bundleImports</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the bundles in the kernel that Virgo imports into the User Region so that they are visible to bundles in the User Region.
+ This property supports an optional <code>bundle-version</code> attribute which specifies a version range.
+ By default only the system bundle is imported.
+</p><p class="tableblock"> Note that packages exported by these bundles are <strong>not</strong> automatically made available in the User Region: these must be specified using the
+ <code>packageImports</code> property.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>packageImports</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the packages in the kernel that Virgo imports into the User Region so that they are in turn available to be
+ imported by bundles in the User Region.
+ This property supports a <code>.<strong></code> wildcard which is expanded based on the packages available in the kernel
+ when the User Region is created.
+ For example, <code>org.eclipse.virgo.util.</strong></code> will import all packages that start with
+ <code>org.eclipse.virgo.util.</code> (but <strong>not</strong> the package <code>org.eclipse.virgo.util</code>
+ which would need to be specified separately to be imported).
+</p><p class="tableblock"> The property also supports matching attributes such as <code>version</code>, <code>bundle-symbolic-name</code>,
+ <code>bundle-version</code>, and user-defined attributes. This can be used to import all the packages of a bundle imported using the
+ <code>bundleImports</code> property.
+ For example the following imports all the packages of the system bundle:
+</p><p class="tableblock">…​.
+packageImports=*;bundle-symbolic-name="org.eclipse.osgi",\
+…​
+…​.
+ Note that if a package is specified more than once in <code>packageImports</code>, the last occurrence is used and the earlier
+ occurrences are ignored.
+ For this reason, it is recommended that imports specifying matching attributes are placed earlier in the list than other imports so that
+ if an import is specified with and without matching attributes, the form without the matching attributes is used.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>serviceImports</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the services in the kernel that are imported into the User Region so they are available to bundles in the User Region.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>serviceExports</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the services in the User Region that are exported to the kernel so they are available to bundles in the kernel.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>initialArtifacts</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the artifacts that Virgo deploys into the User Region when the server starts.
+ Virgo performs dependency satisfaction when it deploys these artifacts.
+ This means that you only need to list the top-level artifacts that you care about; Virgo automatically installs,
+ from the repository, any other artifacts upon which they depend.
+</p><p class="tableblock"> The artifacts are specified as a comma separated list of URI strings of the form:
+</p><p class="tableblock">…​.
+repository:type/name[/version
+…​.
+</p><p class="tableblock"> where <code>type</code> is the artifact type (e.g. "plan", "par", "bundle",
+ "configuration"), <code>name</code> is the (symbolic) name of the artifact, and, optionally,
+ <code>version</code> is the version of the artifact.
+ If <code>version</code> is omitted and there is at least one artifact in the repository with the given type and name, then the
+ artifact with the highest version is selected.
+ So, for example, the following entries are valid:
+…​.
+initialArtifacts=…​,\
+ repository:plan/APlan,\
+ repository:bundle/ABundle/1.0
+…​.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-user-region-consoles"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configurating_user_region_consoles">Configurating User Region Consoles</h4>
+<div class="paragraph">
+<p>The configuration of the User Region consoles is located by default in the <code>$SERVER_HOME/repository/ext</code> directory:</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-user-region-consoles-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 11. User Region Console Configuration Files</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.console.ssh.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the User Region SSH console. See <a href="#admin-shell-enable">[admin-shell-enable]</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.console.telnet.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the User Region telnet console. See <a href="#admin-shell-enable">[admin-shell-enable]</a>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-authentication"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_authentication">Configuring Authentication</h3>
+<div class="paragraph">
+<p>Virgo uses the <a href="http://java.sun.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html">Java Authentication and Authorization Service (JAAS)</a>
+framework to authenticate the administration user that connects to Web
+Servers using the Admin Console. This section describes
+how the authentication mechanism is configured by default, and the
+files that you need to update if you want to change the administration
+user, change their password, and so on.</p>
+</div>
+<div class="paragraph">
+<p>The <code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.authentication.config</code> file configures the underlying authentication technology for Virgo. The short file consists of the following entries:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>virgo-kernel {
+ org.eclipse.virgo.kernel.authentication.KernelLoginModule REQUIRED;
+};
+equinox_console {
+ org.eclipse.virgo.kernel.authentication.KernelLoginModule REQUIRED;
+};</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The entry named <code>virgo-kernel</code> corresponds to the <code><Realm></code> element in the <code>$SERVER_HOME/configuration/tomcat-server.xml</code> file that configures the JAAS authentication mechanism for the <code>Catalina</code> service of the <a href="#configuring-tomcat">Tomcat servlet container</a>. The <code>virgo-kernel</code> entry specifies that the JAAS LoginModule that Virgo uses to authenticate users is <code>org.eclipse.virgo.kernel.authentication.KernelLoginModule</code> and that this <code>KernelLoginModule</code> is required to "succeed" in order for authentication to be considered successful. The <code>KernelLoginModule</code> succeeds only if the name and password supplied by the user are the ones it expects. The default administration username/password pair for VTS is <code>admin/springsource</code>.</p>
+</div>
+<div class="paragraph">
+<p>The entry named <code>equinox_console</code> controls ssh authentication for the Virgo shell. It also uses the <code>KernelLoginModule</code>.</p>
+</div>
+<div class="paragraph">
+<p>You configure the administration user in the <code>org.eclipse.virgo.kernel.users.properties</code> file. The default file for a freshly installed Virgo is as follows:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>##################
+# User definitions
+##################
+user.admin=springsource
+
+##################
+# Role definitions
+##################
+role.admin=admin</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The administration user that connect to the Admin Console must have the
+<code>admin</code>
+role. The preceding file shows how, by default, the
+<code>admin</code>
+role is assigned the
+<code>admin</code>
+user with password
+<code>springsource</code>.</p>
+</div>
+<div class="paragraph">
+<p>If you want to change the administration user, update the <code>org.eclipse.virgo.kernel.users.properties</code> file. For example, if you want the <code>juliet</code> user, with password <code>supersecret</code>, to be the new adminstration user, update the file as shown:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>##################
+# User definitions
+##################
+user.juliet=supersecret
+
+##################
+# Role definitions
+##################
+role.admin=juliet</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Be sure to restart Virgo after you make this change for it to take effect.</p>
+</div>
+<div class="paragraph">
+<p>The final file involved in Virgo authentication is <code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.jmxremote.access.properties</code>. This file specifies the JMX access privileges that the administration user has; by default they are read and write, as shown in the following listing:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>admin=readwrite</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The only other value you can enter is
+<code>readonly</code>, which means that the adminstration user would only be able to <strong>view</strong>
+information using the Admin Console.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-tomcat"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_embedded_tomcat_servlet_container">Configuring the Embedded Tomcat Servlet Container</h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Virgo Nano uses the default Gemini Web configuration. The details described below may still apply.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Virgo
+embeds an OSGi-enhanced version of the <a href="http://tomcat.apache.org">Tomcat Servlet Container</a>
+in order to provide support for deploying Java EE WARs and OSGi <strong>Web Application Bundles</strong>.
+You configure the embedded Servlet container using the standard Apache Tomcat configuration. The main difference is that the configuration file is called <filename>tomcat-server.xml</filename> rather than <code>server.xml</code>. As with the other Virgo configuration files, the <code>tomcat-server.xml</code> file is located in the <code>$SERVER_HOME/configuration</code> directory.
+Another difference is that not all standard Apache Tomcat configuration is supported in Virgo for Apache Tomcat: the restrictions are described in the
+remainder of this section.</p>
+</div>
+<div class="paragraph">
+<p>Here’s an extract of the default configuration distributed with the VTS.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">---
+<?xml version='1.0' encoding='utf-8'?>
+<Server port="8005" shutdown="SHUTDOWN">
+ <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
+ <Listener className="org.apache.catalina.core.JasperListener" />
+ <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+ <Listener className="org.eclipse.virgo.web.tomcat.ServerLifecycleLoggingListener"/>
+ <Service name="Catalina">
+ <Connector port="8080" protocol="HTTP/1.1"
+ connectionTimeout="20000"
+ redirectPort="8443" />
+ <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
+ maxThreads="150" scheme="https" secure="true"
+ clientAuth="false" sslProtocol="TLS"
+ keystoreFile="configuration/keystore"
+ keystorePass="changeit"/>
+ <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
+ <Engine name="Catalina" defaultHost="localhost">
+ <Realm className="org.apache.catalina.realm.JAASRealm" appName="virgo-kernel"
+ userClassNames="org.eclipse.virgo.kernel.authentication.User"
+ roleClassNames="org.eclipse.virgo.kernel.authentication.Role"/>
+ <Host name="localhost" appBase="webapps"
+ unpackWARs="false" autoDeploy="false"
+ deployOnStartup="false" createDirs="false">
+ <Valve className="org.apache.catalina.valves.AccessLogValve" directory="serviceability/logs/access"
+ prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
+ <Valve className="org.eclipse.virgo.web.tomcat.ApplicationNameTrackingValve"/>
+ </Host>
+ </Engine>
+ </Service>
+</Server>
+----</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="overview-tomcat-servlet-container"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_description_of_the_default_apache_tomcat_configuration">Description of the Default Apache Tomcat Configuration</h4>
+<div class="paragraph">
+<p>The following bullets describe the main elements and attributes in the default <code>tomcat-server.xml</code> file; for details about updating this file to further configure the embedded Apache Tomcat server, see the <a href="http://tomcat.apache.org/tomcat-7.0-doc/config/index.html">Apache Tomcat Configuration Reference</a>.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">Relative paths</div>
+<div class="paragraph">
+<p>If the configured path to a directory or file does not represent an absolute path, Virgo typically interprets it as a path relative to the <filename>$SERVER_HOME</filename> directory.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The root element of the <code>tomcat-server.xml</code> file is <code><Server></code>. The attributes of this element represent the characteristics of the entire embedded Tomcat servlet container. The <code>shutdown</code> attribute specifies the command string that the shutdown port number receives via a TCP/IP connection in order to shut down the servlet container. The <code>port</code> attribute specifies the TCP/IP port number that listens for a shutdown message.</p>
+</li>
+<li>
+<p>The <code><Listener></code> XML elements specify the list of lifecycle listeners that monitor and manage the embedded Tomcat servlet container. Each listener class is a Java Management Extensions (JMX) MBean that listens to a specific component of the servlet container and has been programmed to do something at certain lifecycle events of the component, such as before starting up, after stopping, and so on.
+The first four <code><Listener></code> elements configure standard Tomcat lifecycle listeners. The listener implemented by the <code>org.eclipse.virgo.web.tomcat.ServerLifecycleLoggingListener</code> class is specific to Virgo for Apache Tomcat and manages server lifecycle logging.</p>
+</li>
+<li>
+<p>The <code><Service></code> XML element groups together one or more connectors and a single engine. Connectors define a transport mechanism, such as HTTP, that clients use to to send and receive messages to and from the associated service. There are many transports that a client can use, which is why a <code><Service></code> element can have many <code><Connector></code> elements. The engine then defines how these requests and responses that the connector receives and sends are in turn handled by the servlet container; you can define only a single <code><Engine></code> element for any given <code><Service></code> element.
+The sample <code>tomcat-server.xml</code> file above includes three <code><Connector></code> elements: one for the HTTP transport, one for the HTTPS transport, and one for the AJP transport. The file also includes a single <code><Engine></code> element, as required.</p>
+</li>
+<li>
+<p>The first connector listens for HTTP requests at the <code>8080</code> TCP/IP port. The connector, after accepting a connection from a client, waits for a maximum of 20000 milliseconds for a request URI; if it does not receive one from the client by then, the connector times out. If this connector receives a request from the client that requires the SSL transport, the servlet container automatically redirects the request to port <code>8443</code>.</p>
+</li>
+<li>
+<p>The second connector is for HTTPS requests. The TCP/IP port that users specify as the secure connection port is <code>8443</code>. Be sure that you set the value of the <code>redirectPort</code> attribute of your non-SSL connectors to this value to ensure that users that require a secure connection are redirected to the secure port, even if they initially start at the non-secure port. The <code>SSLEnabled</code> attribute specifies that SSL is enabled for this connector. The <code>secure</code> attribute ensures that a call to <code>request.isSecure()</code> from the connecting client always returns <code>true</code>. The <code>scheme</code> attribute ensures that a call to <code>request.getScheme()</code> from the connecting client always returns <code>https</code> when clients use this connector.
+The <code>maxThreads</code> attribute specifies that the servlet container creates a maximum of 150 request processing threads,
+which determines the maximum number of simultaneous requests that can be handled.
+The <code>clientAuth</code> attribute specifies that the servlet container does not require a certificate chain
+unless the client requests a resource protected by a security constraint that uses CLIENT-CERT authentication.
+The <code>keystoreFile</code> attribute specifies the name of the file that contains the servlet container’s
+private key and public certificate used in the SSL handshake, encryption, and decryption.
+You use an alias and password to access this information.
+In the example, this file is <code>$SERVER_HOME/configuration/keystore</code>.
+The <code>keystorePass</code> attributes specify the password used to access the keystore.</p>
+</li>
+<li>
+<p>The third AJP Connector element represents a Connector component that communicates with a web connector via the AJP protocol.</p>
+</li>
+<li>
+<p>The engine has a logical name of <code>Catalina</code>;
+this is the name used in all log and error messages so you can easily identify problems.
+The value of the <code>defaultHost</code> attribute refers to the name of a <code><Host></code>
+child element of <code><Engine></code>;
+this host processes requests directed to host names on this servlet container.</p>
+</li>
+<li>
+<p>The <code><Realm></code> child element of <code><Engine></code> represents a database of
+users, passwords, and mapped roles used for authentication in this service. Virgo Web Server uses an implementation of the Tomcat 6 Realm interface that authenticates users through the Java Authentication and Authorization Service (JAAS) framework which is provided as part of the standard J2SE API.
+With the JAASRealm, you can combine practically any conceivable security realm with Tomcat’s container managed authentication. For details, see <a href="http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html">Realm Configuration</a>.</p>
+</li>
+<li>
+<p>The <code><Host></code> child element represents a virtual host,
+which is an association of a network name for a server (such as <code>www.mycompany.com</code>) with the particular
+server on which Catalina is running.
+The servlet container unpacks Web applications into a directory hierarchy if they are deployed as WAR files.
+Note that multiple <code><Host></code> elements are not supported in Virgo for Apache Tomcat.</p>
+</li>
+<li>
+<p>Finally, the <code>org.apache.catalina.valves.AccessLogValve</code> valve creates log files
+in the same format as those created by standard web servers.
+The servlet container creates the log files in the <code>$SERVER_HOME/serviceability/logs/access</code> directory.
+The log files are prefixed with the string <code>localhost_access_log.</code>, have a suffix of <code>.txt</code>,
+use a standard format for identifying what should be logged, and do not include DNS lookups of the IP address of the remote host.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="configuring-tomcat-connectors"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_connector_configuration">Connector Configuration</h4>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat supports the configuration of any connector supported by Apache Tomcat.
+See the default configuration above for syntax examples, and for further details of the configuration properties
+supported for various <code><Connector></code> implementations,
+consult the official <a href="http://tomcat.apache.org/tomcat-7.0-doc/config/http.html">Tomcat HTTP Connector</a> documentation.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">Configuring SSL for Tomcat</div>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat distribution includes a preconfigured <code>$SERVER_HOME/configuration/keystore</code>
+file that contains a single self-signed SSL Certificate.
+The password for this <filename>keystore</filename> file is <code>changeit</code>.
+This <filename>keystore</filename> file is intended for testing purposes only.
+For detailed instructions on how to configure Tomcat’s SSL support,
+consult the official <a href="http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html">Tomcat SSL Configuration HOW-TO</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-tomcat-clustering"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_cluster_configuration">Cluster Configuration</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat supports standard Apache Tomcat cluster configuration.
+By default, clustering of the embedded servlet container is disabled,
+and the default configuration does not include any clustering information.
+See <a href="http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html">Tomcat Clustering/Session Replication HOW-TO</a>
+for detailed information about enabling and configuring clustering.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-default-web-xml"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_default_web_xml_configuration">Default web.xml Configuration</h4>
+<div class="paragraph">
+<p>Java Servlet specification enables web applications to provide deployment descriptor (<code>web.xml</code>) in the <code>WEB-INF</code> directory.
+Apache Tomcat introduces a default <code>web.xml</code> which is similar to web application’s <code>web.xml</code>, but provides configurations that are applied to all web applications.
+When deploying a web application, Apache Tomcat uses the default <code>web.xml</code> file as a base configuration.
+If the web application provides its own configurations via <code>web.xml</code> (the one located in the web application’s <code>WEB-INF</code>) or annotations, they overwrite the default ones.
+In Virgo for Apache Tomcat you can also provide default configurations for all web applications.
+If you want to change/extend the default configurations, you can provide the default <code>web.xml</code> file located in the <code>VTS_HOME/configuration</code> directory.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Be careful when changing/extending the default <code>web.xml</code> as this will affect all web applications.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Here’s an extract of the default configuration distributed with the VTS.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ version="3.0">
+
+ <servlet>
+ <servlet-name>default</servlet-name>
+ <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ <init-param>
+ <param-name>listings</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>jsp</servlet-name>
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+ <init-param>
+ <param-name>fork</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <init-param>
+ <param-name>xpoweredBy</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <load-on-startup>3</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>default</servlet-name>
+ <url-pattern>/</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jsp</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jspx</url-pattern>
+ </servlet-mapping>
+
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+
+ <mime-mapping>
+ <extension>abs</extension>
+ <mime-type>audio/x-mpeg</mime-type>
+ </mime-mapping>
+ ......
+ <mime-mapping>
+ <extension>ppt</extension>
+ <mime-type>application/vnd.ms-powerpoint</mime-type>
+ </mime-mapping>
+
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ </welcome-file-list>
+
+</web-app></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following bullets describe the main elements in the default <code>web.xml</code> file.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The <code><Servlet></code> XML element declares a given servlet and its configurations. The sample <code>web.xml</code> file above includes two <Servlet> elements.
+The default servlet serves static resources and processes the requests that are not mapped to any servlet.
+For details about default servlet configuration, see the <a href="http://tomcat.apache.org/tomcat-7.0-doc/default-servlet.html">Apache Tomcat Default Servlet Reference.</a>.</p>
+</li>
+<li>
+<p>The jsp servlet serves the requests to JavaServer Pages. It is mapped to the URL pattern "<strong>.jsp" and "</strong>.jspx".
+For details about jsp servlet configuration, see the <a href="http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html">Apache Tomcat Jasper 2 JSP Engine.</a>.</p>
+</li>
+<li>
+<p>The <code><servlet-mapping></code> XML element specifies the mapping between the servlet and URL pattern.</p>
+</li>
+<li>
+<p>The <code><session-config></code> XML element defines the session configuration for one web application.
+The sample <code>web.xml</code> file above specifies that the session timeout for all web applications will be 30 minutes by default.</p>
+</li>
+<li>
+<p>The <code><mime-mapping></code> XML element defines a mapping between a filename extension and a mime type.
+When serving static resources, a "Content-Type" header will be generated based on these mappings.</p>
+</li>
+<li>
+<p>The <code><welcome-file-list></code> XML element specifies a list of welcome files.
+When a request URI refers to a directory, the default servlet looks for a "welcome file" within that directory.
+If the "welcome file" exists it will be served, otherwise 404 status or directory listing will be returned, depending on the default servlet configuration.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="configuring-tomcat-contexts"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_context_configuration">Context Configuration</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat supports standard Apache Tomcat web application context configuration.
+The <a href="http://tomcat.apache.org/tomcat-7.0-doc/config/index.html">Apache Tomcat Configuration Reference</a> has a section on
+<a href="http://tomcat.apache.org/tomcat-7.0-doc/config/context.html">The Context Container</a> which describes the mechanism that
+is used in VTS for searching context configuration files and details the context configuration properties.</p>
+</div>
+<div class="paragraph">
+<p>Context configuration files may be placed in the following locations,
+where <code>[enginename]</code> is the name of Tomcat’s engine ('Catalina' by default) and <code>[hostname]</code> names
+a virtual host ('localhost' by default), both of which are configured in <code>tomcat-server.xml</code>:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>$SERVER_HOME/configuration/context.xml</code> provides the default context configuration file for all web applications.</p>
+</li>
+<li>
+<p>The <code>$SERVER_HOME/configuration/[enginename]/[hostname]</code> directory may contain:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>The default context configuration for all web applications of a given virtual host in the file <code>context.xml.default</code>.</p>
+</li>
+<li>
+<p>Individual web applications' context configuration files as described in the Apache Tomcat Configuration Reference.
+For example, the context for a web application with
+context path <code>foo</code> may be configured in <code>foo.xml</code>.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Note that the following context configuration features are not supported in Virgo for Apache Tomcat:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Custom class loaders.</p>
+</li>
+<li>
+<p>Specifying the context path. This is specified using the <code>Web-ContextPath</code> header in the web application’s
+<code>MANIFEST.MF</code> file.</p>
+</li>
+<li>
+<p>Specifying the document base directory.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="configuring-jsp-compilation"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_jsp_compilation">JSP Compilation</h4>
+<div class="paragraph">
+<p>By default Apache Tomcat compiles JSP files in web applications agains Java 1.6.
+In order to enable JSP compilation against Java 1.7 for your web application,
+additional init parameters (<code>compilerSourceVM</code> and <code>compilerTargetVM</code>) should be added for the <code>org.apache.jasper.servlet.JspServlet</code> configuration.
+For details about <code>org.apache.jasper.servlet.JspServlet</code> configuration, see the <a href="http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html">Apache Tomcat Jasper 2 JSP Engine</a>.
+<code>org.apache.jasper.servlet.JspServlet</code> configuration can be provided with the web application’s web.xml.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="ISO-8859-1"?>
+<servlet>
+ <servlet-name>jsp</servlet-name>
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+ <init-param>
+ <param-name>compilerSourceVM</param-name>
+ <param-value>1.7</param-value>
+ </init-param>
+ <init-param>
+ <param-name>compilerTargetVM</param-name>
+ <param-value>1.7</param-value>
+ </init-param>
+ <init-param>
+ <param-name>fork</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <init-param>
+ <param-name>xpoweredBy</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <load-on-startup>3</load-on-startup>
+</servlet>
+<servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jsp</url-pattern>
+ <url-pattern>*.jspx</url-pattern>
+ </servlet-mapping></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-web"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_web_integration_layer">Configuring the Web Integration Layer</h3>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat integrates an OSGi-enhanced version of the <a href="http://tomcat.apache.org/">Tomcat Servlet Container</a>
+in order to provide support for deploying Java EE WARs and OSGi <strong>Web Application Bundles</strong>.</p>
+</div>
+<div class="paragraph">
+<p>For Virgo for Apache Tomcat you
+configure the behaviour of the Web Integration Layer using the properties file called <code>org.eclipse.virgo.web.properties</code>.
+The <code>org.eclipse.virgo.web.properties</code> file is located in the <code>$SERVER_HOME/repository/ext</code> directory.</p>
+</div>
+<div class="paragraph">
+<p>The following table describes the properties.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-web-integration-layer"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 12. Web Integration Layer Properties</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 60%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>WABHeaders</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies how Web Application Bundle manifest headers are processed.
+ See "Web Application Manifest Processing" in the
+ <a href="../../virgo-programmer-guide/html/index.html">Programmer Guide</a> for details.
+</p><p class="tableblock"> A value of <code>strict</code> causes VTS to interpret certain headers in strict compliance with
+ the OSGi Web Applications specification if they are not specified.
+</p><p class="tableblock"> A value of <code>defaulted</code> causes VTS to set certain headers to default values if they are not specified.
+ This was how VTS behaved prior to version 3.
+ <strong>This value is provided as a migration aid and may not be supported in future releases.</strong>
+ A warning event log message (WE0006W) is generated if this value is specified.
+</p><p class="tableblock"> The Virgo Jetty Server will always operate in <code>strict</code> mode.
+</p><p class="tableblock"> Virgo Nano Full does not have a Web Integration Layer, but has a corresponding kernel property.
+ See <a href="#configuring-deployment">Configuring Deployment</a>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>strict</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>There is no Web Integration Layer in Virgo Jetty Server. The relevant configuration is described in
+<a href="#configuring-jetty">Configuring the Embedded Jetty Servlet Container</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-jetty"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_embedded_jetty_servlet_container">Configuring the Embedded Jetty Servlet Container</h3>
+<div class="paragraph">
+<p>Virgo Jetty Server supports <strong>Web Application Bundles</strong>, but does not provide support for Java EE WARs.</p>
+</div>
+<div class="paragraph">
+<p>The Virgo Jetty Server contains a standard Jetty configuration file at <code>SERVER_HOME/jetty/etc/jetty.xml</code>.
+This has been tailored to the Eclipse Virgo. To make modifications please refer to the
+<a href="http://wiki.eclipse.org/Jetty/Howto/Configure_Jetty#Using_Jetty_XML">Jetty documentation</a>.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:43:27 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/further-reading.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/further-reading.html
new file mode 100644
index 0000000..8d3ecd2
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/further-reading.html
@@ -0,0 +1,451 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Further Reading</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="furtherreading"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_further_reading">Further Reading</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a href="../../virgo-programmer-guide/html/index.html">Programmer Guide</a></p>
+</div>
+<div class="paragraph">
+<p><a href="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/">Spring Framework Reference Documentation</a></p>
+</div>
+<div class="paragraph">
+<p><a href="http://www.osgi.org/Specifications/HomePage">Blueprint Container Specification</a>(in the OSGi 4.2 and 5.0 Enterprise Specifications)</p>
+</div>
+<div class="paragraph">
+<p><a href="http://logback.qos.ch/manual">The Logback Manual</a></p>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:07:36 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing-kernel.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing-kernel.html
new file mode 100644
index 0000000..f5fbdd1
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing-kernel.html
@@ -0,0 +1,534 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Installing Virgo Kernel</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="kernel-installation"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_installing_virgo_kernel">Installing Virgo Kernel</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="kernel-installation-prereqs"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_prerequisites">Prerequisites</h3>
+<div class="paragraph">
+<p>The Virgo Kernel, or VK for short, requires Java SE 6 or later to be installed. Java is available from
+<a href="http://www.java.com/">http://www.java.com/</a> and elsewhere.</p>
+</div>
+<div class="paragraph">
+<p>anchor:kernel-installation-zip</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_the_zip_download">Installing from the ZIP Download</h3>
+<div class="sect3">
+<h4 id="_downloading_the_zip_file">Downloading the ZIP file</h4>
+<div class="paragraph">
+<p>Virgo Kernel is distributed as a ZIP file. This can be downloaded from
+<a href="http://www.eclipse.org/virgo/download/">here</a>.</p>
+</div>
+<div class="paragraph">
+<p>anchor:kernel-installation-zip-installing</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing">Installing</h4>
+<div class="paragraph">
+<p><a id="kernel-installation-zip-installing-linux"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_linux">Linux</h5>
+<div class="paragraph">
+<p>To install the Virgo Kernel on Linux, unzip the distribution package to the desired installation directory.
+For example, to install into <code>/opt</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ unzip virgo-kernel-{version}.zip -d /opt</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This creates a directory called <code>virgo-kernel-3.7.0.RELEASE</code> under <code>/opt</code>.</p>
+</div>
+<div class="paragraph">
+<p>Virgo Kernel requires write access to the installation directory, in this case <code>/opt/virgo-kernel-3.7.0.RELEASE</code>.
+Typically this means it must be run as the user that installed it, or the installation directory’s ownership must be changed.</p>
+</div>
+<div class="paragraph">
+<p><a id="kernel-installation-zip-installing-win"></a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_microsoft_windows">Microsoft Windows</h5>
+<div class="paragraph">
+<p>To install the Virgo Kernel on Windows, unzip the distribution package to the desired installation directory.
+You should use a zip application such as 7zip, not the built-in folder decompression. Note that both Windows and
+Java have some issues with long file names and file paths, so we recommend installing to the root directory of
+your chosen drive.</p>
+</div>
+<div class="paragraph">
+<p><a id="kernel-installation-updatesite"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_an_update_site">Installing from an update site</h3>
+<div class="sect3">
+<h4 id="_the_repository_location">The repository location</h4>
+<div class="paragraph">
+<p>Virgo has a single p2 repository that contains all Virgo distributions. The repository for version 3.7.0.RELEASE can be found {p2repo}[here].
+There is a repository for each released version.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_the_p2_director">Using the p2 director</h4>
+<div class="paragraph">
+<p>As shown in <a href="#using-director">[using-director]</a> you can easily install VK in a desired destination.
+The only director argument that needs to be adjusted is <strong>-installIU</strong>.</p>
+</div>
+<div class="paragraph">
+<p>For VK the right value is <strong>kernel.product</strong>.</p>
+</div>
+<div class="paragraph">
+<p><a id="kernel-installation-post"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_post_installation_steps">Post-installation steps</h3>
+<div class="paragraph">
+<p>Follow the same <a href="#installation-post">Post-installation steps</a> as for Virgo for Apache Tomcat.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing-nano.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing-nano.html
new file mode 100644
index 0000000..881bc2b
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing-nano.html
@@ -0,0 +1,534 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Installing Virgo Nano</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="nano-installation"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_installing_virgo_nano">Installing Virgo Nano</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="nano-installation-prereqs"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_prerequisites">Prerequisites</h3>
+<div class="paragraph">
+<p>The Virgo Nano, or VN for short, requires Java SE 6 or later to be installed. Java is available from
+<a href="http://www.java.com/">http://www.java.com/</a> and elsewhere.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-zip"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_the_zip_download">Installing from the ZIP Download</h3>
+<div class="sect3">
+<h4 id="_downloading_the_zip_file">Downloading the ZIP file</h4>
+<div class="paragraph">
+<p>Virgo Nano is distributed as a ZIP file. This can be downloaded from
+<a href="http://www.eclipse.org/virgo/download/">here</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-zip-installing"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing">Installing</h4>
+<div class="paragraph">
+<p><a id="nano-installation-zip-installing-linux"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_linux">Linux</h5>
+<div class="paragraph">
+<p>To install the Virgo Nano on Linux, unzip the distribution package to the desired installation directory.
+For example, to install into <code>/opt</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ unzip virgo-nano-{version}.zip -d /opt</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This creates a directory called <code>virgo-nano-3.7.0.RELEASE</code> under <code>/opt</code>.</p>
+</div>
+<div class="paragraph">
+<p>Virgo Nano requires write access to the installation directory, in this case <code>/opt/virgo-nano-3.7.0.RELEASE</code>.
+Typically this means it must be run as the user that installed it, or the installation directory’s ownership must be changed.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-zip-installing-win"></a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_microsoft_windows">Microsoft Windows</h5>
+<div class="paragraph">
+<p>To install the Virgo Nano on Windows, unzip the distribution package to the desired installation directory.
+You should use a zip application such as 7zip, not the built-in folder decompression. Note that both Windows and
+Java have some issues with long file names and file paths, so we recommend installing to the root directory of
+your chosen drive.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-updatesite"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_an_update_site">Installing from an update site</h3>
+<div class="sect3">
+<h4 id="_the_repository_location">The repository location</h4>
+<div class="paragraph">
+<p>Virgo has a single p2 repository that contains all Virgo distributions. The repository for version 3.7.0.RELEASE can be found {p2repo}[here].
+There is a repository for each released version.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_the_p2_director">Using the p2 director</h4>
+<div class="paragraph">
+<p>As shown in <a href="#using-director">[using-director]</a> you can easily install VN in a desired destination.
+The only director argument that needs to be adjusted is <strong>-installIU</strong>.</p>
+</div>
+<div class="paragraph">
+<p>For VN the right value is <strong>nano.product</strong>.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-post"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_post_installation_steps">Post-installation steps</h3>
+<div class="paragraph">
+<p>Follow the same <a href="#installation-post">Post-installation steps</a> as for Virgo for Apache Tomcat.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing.html
new file mode 100644
index 0000000..6f56ab0
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/installing.html
@@ -0,0 +1,675 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Installing Virgo for Apache Tomcat</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="installation"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_installing_virgo_for_apache_tomcat">Installing Virgo for Apache Tomcat</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="installation-prereqs"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_prerequisites">Prerequisites</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat, or VTS for short, requires Java SE 6 or later to be installed. Java is available from
+<a href="http://www.java.com/">http://www.java.com/</a> and elsewhere.</p>
+</div>
+<div class="paragraph">
+<p>In case you are installing via a p2 director you’ll need to get it. The easiest way is to download Eclipse from <a href="http://www.eclipse.org/downloads/">here</a>.
+It has built-in p2 director and other p2 applications.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-zip"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_the_zip_download">Installing from the ZIP Download</h3>
+<div class="sect3">
+<h4 id="_downloading_the_zip_file">Downloading the ZIP file</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat is distributed as a ZIP file. This can be downloaded from
+<a href="http://www.eclipse.org/virgo/download/">here</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-zip-installing"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing">Installing</h4>
+<div class="paragraph">
+<p><a id="installation-zip-installing-linux"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_linux">Linux</h5>
+<div class="paragraph">
+<p>To install Virgo for Apache Tomcat on Linux, unzip the distribution package to the desired installation directory.
+For example, to install into <code>/opt</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ unzip virgo-web-server-{version}.zip -d /opt</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This creates a directory called <code>virgo-web-server-3.7.0.RELEASE</code> under <code>/opt</code>.</p>
+</div>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat requires write access to the installation directory, in this case <code>/opt/virgo-web-server-3.7.0.RELEASE</code>.
+Typically this means it must be run as the user that installed it, or the installation directory’s ownership must be changed.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-zip-installing-win"></a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_microsoft_windows">Microsoft Windows</h5>
+<div class="paragraph">
+<p>To install the Virgo for Apache Tomcat on Windows, unzip the distribution package to the desired installation directory.
+You should use a zip application such as 7zip, not the built-in folder decompression. Note that both Windows and
+Java have some issues with long file names and file paths, so we recommend installing to the root directory of
+your chosen drive.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-updatesite"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_an_update_site">Installing from an update site</h3>
+<div class="sect3">
+<h4 id="_the_repository_location">The repository location</h4>
+<div class="paragraph">
+<p>Virgo has a single p2 repository that contains all Virgo distributions. The repository for version 3.7.0.RELEASE can be found {p2repo}[here].
+There is a repository for each released version.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_the_p2_director">Using the p2 director</h4>
+<div class="paragraph">
+<p>As shown in <a href="#using-director">[using-director]</a> you can easily install VTS in a desired destination.
+The only director argument that needs to be adjusted is <strong>-installIU</strong>.</p>
+</div>
+<div class="paragraph">
+<p>For VTS the right value is <strong>tomcat-server.product</strong>.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_post_installation_steps">Post-installation steps</h3>
+<div class="paragraph">
+<p><a id="installation-post-env"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_set_environment_variable_variables">Set environment variable variables</h4>
+<div class="paragraph">
+<p><a id="installation-post-env-java"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_java_home">JAVA_HOME</h5>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat uses the <code>JAVA_HOME</code> environment variable to locate the <code>java</code>
+executable. Configure this environment variable to point to the home directory of the Java 6 installation on your computer.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post-env-server"></a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_server_home">SERVER_HOME</h5>
+<div class="paragraph">
+<p>As a convenience it is recommended that you create an environment variable that points
+to the Virgo for Apache Tomcat installation directory. Note that the Virgo for Apache Tomcat does not require that
+such an environment variable has been set. This variable may have any name of your
+choosing. The Virgo for Apache Tomcat’s documentation assumes that the variable is named
+<code>SERVER_HOME</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post-env-server-linux"></a></p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_linux_2">Linux</h4>
+<div class="paragraph">
+<p>Edit the <code>.profile</code> file in your home directory to
+add the <code>SERVER_HOME</code> and <code>JAVA_HOME</code> environment variables. For
+example, if you installed into <code>/opt</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ export SERVER_HOME=/opt/virgo-web-server-{version}/
+$ export JAVA_HOME=/user/java/jdk1.6.0_17
+$ export PATH=$JAVA_HOME/bin:$PATH</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To verify the setting of <code>JAVA_HOME</code>, issue the command <code>$JAVA_HOME/bin/java -version</code> from a new terminal window
+and ensure that the command completes successfully and reports
+a Java version <code>1.6.</code><strong>x</strong> (denoting Java 6) or greater.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post-env-server-win"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_2">Microsoft Windows</h4>
+<div class="paragraph">
+<p>This section shows how to add <code>SERVER_HOME</code> as a system variable on Windows. Follow the same procedure to add or update the <code>JAVA_HOME</code> environment variable.</p>
+</div>
+<div class="paragraph">
+<p>From the Start menu, open the Control Panel and double-click on ‘System'.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/system-props.png" alt="system props"></span></p>
+</div>
+<div class="paragraph">
+<p>Click the 'Advanced' tab and select 'Environment Variables'. Next,
+click the 'New' button in the 'System Variables' section.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/env-variables.png" alt="env variables"></span></p>
+</div>
+<div class="paragraph">
+<p>This will display the ‘New System Variable' window. Enter
+<code>SERVER_HOME</code> as the ‘Variable name' and
+the installation directory as the ‘Variable value'. Click OK.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/system-variable.png" alt="system variable"></span></p>
+</div>
+<div class="paragraph">
+<p>To verify the setting of <code>JAVA_HOME</code>, issue the command <code>"%JAVA_HOME%"\bin\java -version</code> from
+a new command prompt and ensure that the command completes successfully and reports
+a Java version <code>1.6.</code><strong>x</strong> (denoting Java 6) or greater.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post-env-server-win-troubleshooting"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_microsoft_windows_troubleshooting_security_permissions">Microsoft Windows - Troubleshooting Security Permissions</h5>
+<div class="paragraph">
+<p>When starting Virgo for Apache Tomcat on some variants of Windows you might encounter a problem with file permissions.
+The error looks like this.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>WARNING: jmxPermissions.vbs did not update the permissions of C:\virgo\configuration\org.eclipse.virgo.kernel.jmxremote.access.properties. Check the file has the correct permissions.</screen></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If VTS starts correctly (see <a href="#starting-stopping">[starting-stopping]</a>) you can skip this section and carry on. However to secure your
+installation you have to set correct permissions. To do so, go to the ‘configuration' directory of the installation
+in Windows Explorer.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/install-windows-1-FileListing.png" alt="install windows 1 FileListing"></span></p>
+</div>
+<div class="paragraph">
+<p>Right click on the 'org.eclipse.virgo.kernel.jmxremote.access.properties' file and view its properties,
+then select the 'Security' tab. Remove all groups and users from the list and select 'Apply'.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/install-windows-2-SecuritySettings.png" alt="install windows 2 SecuritySettings"></span></p>
+</div>
+<div class="paragraph">
+<p>Within the security page select the ‘Advanced' options. On the ‘Owner' tab, choose the owner
+that you are trying to run the VTS as and select ‘Apply'.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/install-windows-3-AdvanceSettingsOwner.png" alt="install windows 3 AdvanceSettingsOwner"></span></p>
+</div>
+<div class="paragraph">
+<p>Once this is done select ‘OK' to return to the ‘Security' tab
+and now add the owner to the list of groups and users that have permission to access the file.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/install-windows-4-AllSetReadAndExecute.png" alt="install windows 4 AllSetReadAndExecute"></span></p>
+</div>
+<div class="paragraph">
+<p>Once all these steps are complete you can proceed to start the VTS.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:\dev\virgo-web-server-{version}>bin\startup.bat
+[2009-12-08 13:09:09.545] startup-tracker <KE0001I> Kernel starting.</pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/introduction.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/introduction.html
new file mode 100644
index 0000000..97a2bad
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/introduction.html
@@ -0,0 +1,470 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Introduction</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="introduction"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_introduction">Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This User Guide covers the Virgo for Apache Tomcat (VTS), the Virgo Jetty Server
+(VJS) and the Virgo Kernel (VK), although it emphasises the
+VTS since that is likely to apply to more users.</p>
+</div>
+<div class="sect2">
+<h3 id="_a_note_for_virgo_kernel_users">A Note for Virgo Kernel Users</h3>
+<div class="paragraph">
+<p>Virgo Kernel users can be reassured that the majority of the information
+in this Guide is directly applicable to the Virgo Kernel and they can simply ignore the web-related sections.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_a_note_for_virgo_jetty_server_users">A Note for Virgo Jetty Server Users</h3>
+<div class="paragraph">
+<p>Virgo Jetty Server users can be reassured that the majority of the information
+in this Guide is directly applicable to the Virgo Jetty Server and they can simply ignore the Virgo for Apache Tomcat specific sections.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_a_note_for_virgo_nano_users">A Note for Virgo Nano Users</h3>
+<div class="paragraph">
+<p>Virgo Nano is a bit different than VK and VTS.
+It is the smallest Virgo offering and takes performance to its limits, almost instantly booting up.
+Virgo Nano users will find a number of sections in this guide useful but sections that refer to
+<strong>plans, PARs and configuration deployment, regions, application scoping and libraries support</strong>
+are NOT relevant for Virgo Nano or VN and should be ignored.
+This Virgo distribution relies on p2 for its provisioning, therefore is bound to p2 concepts such as <strong>p2 features and update sites</strong>.
+Note also that Virgo Nano includes Gemini.Web as its default web container implementation and uses its default configuration.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/known-issues.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/known-issues.html
new file mode 100644
index 0000000..af8a51c
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/known-issues.html
@@ -0,0 +1,544 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Known Issues</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="known-issues"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_known_issues">Known Issues</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This section describes known issues that you might run into, along with corresponding workarounds.</p>
+</div>
+<div class="paragraph">
+<p>For the full list of known issues, see <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;order=Importance;classification=RT;product=Virgo">Virgo bugs in Eclipse Bugzilla</a>.
+The bugs are organised by component as well as by release.
+You can also use bugzilla to enter a new issue if you cannot find an existing issue that describes the problem you are running into, but it’s probably worth asking on the <a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=159">Virgo community forum</a> first.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-firewall-timeout"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_timeout_during_startup_due_to_firewall_settings">Timeout During Startup Due to Firewall Settings</h3>
+<div class="paragraph">
+<p>Virgo will fail to start correctly if it is prevented from
+connecting to needed ports by the firewall. Typically this manifests
+as error <code>SPPM0003E</code> . Configuring the firewall to
+allow Virgo process to bind to the necessary ports will prevent
+this error from occurring.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-startup-timeout"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_timeout_during_startup_due_to_insufficient_resources">Timeout During Startup Due to Insufficient Resources</h3>
+<div class="paragraph">
+<p>Virgo will fail to start correctly if it is running on slow hardware or
+on a system with insufficient resources. Typically this manifests as error <code>KE0004E</code> .
+Configuring the <a href="#configuring-kernel-properties">startup wait limit</a> will provide
+Virgo with more time for initialisation.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-perm-gen-sun-vm"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_outofmemoryerror_permgen_space_running_on_sun_jvm">OutOfMemoryError: PermGen Space Running on Sun JVM</h3>
+<div class="paragraph">
+<p>As a result of Sun Java bug
+<a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4957990">4957990</a>,
+the Virgo may consume more PermGen space than expected when running with the
+server HotSpot compiler. This problem may be resolved by configuring the
+<code>JAVA_OPTS</code> environment variable to specify an increased
+<code>MaxPermSize</code>, for example <code>-XX:MaxPermSize=128M</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="alternate-serviceability-work"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_alternate_code_serviceability_code_and_code_work_code_directories">Alternate <code>serviceability</code> and <code>work</code> Directories</h3>
+<div class="paragraph">
+<p>Although an alternate <code>configuration</code> directory may be specified on startup, there is no way to specify
+alternate <code>serviceability</code> or <code>work</code> directories. This is covered by
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=307737">bug 307737</a> which also describes a workaround.</p>
+</div>
+<div class="paragraph">
+<p><a id="windows-deletion"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_problem_deleting_installation_directory_under_windows">Problem Deleting Installation Directory under Windows</h3>
+<div class="paragraph">
+<p>Sometimes Microsoft Windows won’t let you delete the Virgo Server installation directory, typically because of long paths
+inside the <code>work</code> directory.</p>
+</div>
+<div class="paragraph">
+<p>You can return the Virgo instance to a clean state by stopping Virgo if necessary and then running the startup script with the options
+<code>-clean -noStart</code>, after which you should be able to delete the installation directory.
+See <a href="#cleaning-without-starting">Cleaning Virgo for Apache Tomcat without Starting it</a> for more information.</p>
+</div>
+<div class="paragraph">
+<p><a id="long-work-paths"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_long_work_directory_paths_under_windows">Long Work Directory Paths under Windows</h3>
+<div class="paragraph">
+<p>Problems can arise under Windows when long paths are created in the <code>work</code> directory as artefacts are deployed.</p>
+</div>
+<div class="paragraph">
+<p>You can shorten some of these paths by preventing bundles from being unpacked during deployment.
+See <a href="#configuring-deployment">Configuring Deployment</a> for more information.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-jetty-restrictions"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_virgo_jetty_server_restrictions">Virgo Jetty Server Restrictions</h3>
+<div class="paragraph">
+<p>When using the Virgo Jetty Server the Hosted Repository application and the Snaps modular web technology are not supported.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-shutdown-logs-shell"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_shutdown_log_messages_in_telnet_shell">Shutdown Log Messages in Telnet Shell</h3>
+<div class="paragraph">
+<p>When you use the <code>shutdown</code> shell command to stop Virgo Server for Apache Tomcat, the shutdown log messages appear in the shell terminal instead of in the terminal in which Virgo runs.
+See <a href="#admin-shell-enable">Enabling Equinox Console</a> for more information. This is covered also by <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=351533">bug 351533</a>.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:07:51 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/log-codes.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/log-codes.html
new file mode 100644
index 0000000..bd3e4c0
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/log-codes.html
@@ -0,0 +1,562 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Event log codes</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="log-codes"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_event_log_codes">Event log codes</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="event-log-codes-format"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_format_of_the_event_log_codes">Format of the event log codes</h3>
+<div class="paragraph">
+<p>Event log codes issued by Virgo have the general syntax
+<code><XXnnnnL></code> where:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 14%;">
+<col style="width: 85%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>XX</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">is a two-letter code (upper-case) identifying the area of the Virgo code which issued the log message;</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>nnnn</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">is a four-digit message number; and</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>L</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">is a single-letter (upper-case) code identifying the level of the message.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The two-letter codes are (this list is not complete):</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 14%;">
+<col style="width: 85%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AG</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.agent.dm</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>DE</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.deployer.core</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HD</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.deployer.hot</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HR</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.apps.repository.core</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>KE</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.core</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>KS</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.services</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>OF</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.osgi</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>RP</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.repository</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>TC</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.web.tomcat</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>UR</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.userregion</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>WE</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.web.core</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The four-digit numbers identify the message text (with placeholders for inserted values). These are not listed here, but can be discovered by examining the files called
+<code>EventLogMessages.properties</code>, found in the relevant packages.</p>
+</div>
+<div class="paragraph">
+<p>The single-digit level code is one of:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 14%;">
+<col style="width: 85%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>E</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Error level: enabled if level is <code>ERROR</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>W</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Warning level: enabled if level is <code>WARNING</code> or above.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>I</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Info level: enabled if level is <code>INFO</code> or above.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>D</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug level: enabled if level is <code>DEBUG</code> or above.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>T</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Trace level: always enabled.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>There are never two messages with the same prefix and number, but with different levels.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:08:04 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/repository.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/repository.html
new file mode 100644
index 0000000..0961617
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/repository.html
@@ -0,0 +1,589 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>The Provisioning Repository</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="repository"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_the_provisioning_repository">The Provisioning Repository</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="repository-introduction"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_overview_of_the_provisioning_repository">Overview of the Provisioning Repository</h3>
+<div class="paragraph">
+<p>This section describes the provisioning repository feature of Virgo, the reasons for using it, and how to configure it.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section is not applicable to Virgo Nano. The provisioning mechanism used there is p2.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>In most use cases, your application has a dependency on one or more separate artifacts; these artifacts might include OSGi bundles, configuration artifacts, third-party libraries, PARs or plans. A typical example is a Spring application that depends on a third-party library such as Spring Framework or Hibernate.</p>
+</div>
+<div class="paragraph">
+<p>The way you express this dependency depends on the artifact. For example, a plan is by definition a list of dependent bundles.</p>
+</div>
+<div class="paragraph">
+<p>Libraries are another example. Some third-party dependencies consist of multiple bundles but are logically one unit. To support this, Virgo has a concept of a library. A library is a collection of related bundles that can be referenced as a whole. You typically express the dependencies between your application and third-party libraries using the <code>Import-Package</code>, <code>Import-Bundle</code>, or <code>Import-Library</code> manifest header in the <code>MANIFEST.MF</code> file of your application. The <code>Import-Package</code> header is standard to OSGi; <code>Import-Bundle</code> and <code>Import-Library</code>, however, are specific to Virgo.</p>
+</div>
+<div class="paragraph">
+<p>For additional details about the creation and usage of libraries, as well as general information about dependencies, see {programer-guide}.</p>
+</div>
+<div class="paragraph">
+<p>In Virgo, you store all third-party dependencies required by your applications, such as Spring Framework and Hibernate, as artifacts in the provisioning repository. As mentioned above, you can store the following types of artifacts in the repository:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>OSGi bundles</p>
+</li>
+<li>
+<p>Libraries</p>
+</li>
+<li>
+<p>PARs</p>
+</li>
+<li>
+<p>Plans</p>
+</li>
+<li>
+<p>Configuration Artifacts</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>When you deploy your application, Virgo installs the bundle(s) comprising the application to the Virgo runtime; part of this internal installation procedure is to satisfy all the application’s dependencies. If your application has a dependency that cannot be satisfied from the bundles that you have already deployed (and Virgo has thus installed), then Virgo searches the provisioning repository for an artifact that can satisfy that dependency.</p>
+</div>
+<div class="paragraph">
+<p>The provisioning repository for a particular instance of Virgo can include artifacts in the following general locations:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Local: This means that artifacts have been physically installed in the provisioning repository directory structure of the local Virgo instance. The artifacts in a local repository include installed third-party libraries, bundles supplied by Virgo, bundles supplied by an end user, and internal bundles used only by Virgo. You can further categorize this location into <code>external</code> directories that adhere to a specified search pattern and are scanned by Virgo just on a clean startup, or <code>watched</code> directories that point to a single directory location and which Virgo scans on a regular basis.</p>
+</li>
+<li>
+<p>Remote: This means that a local instance of Virgo gets the artifact from a remotely-hosted repository that is physically located on a remote Virgo for Apache Tomcat instance.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>You configure the provisioning repository using the <code>$SERVER_HOME/configuration/org.eclipse.virgo.repository.properties</code> file.</p>
+</div>
+<div class="paragraph">
+<p>As previously described, a particular instance of Virgo for Apache Tomcat can itself also act as a repository host for remote server instances to use when satisfying the dependencies of the applications deployed to it. In this case, you configure a hosted repository using the <code>$SERVER_HOME/configuration/org.eclipse.virgo.apps.repository.properties</code> file. Typically, only remote clients use hosted repositories and their contents; the Virgo for Apache Tomcat instance that actually hosts the repository does not typically use the artifacts in it. Rather, it uses artifacts in its local repository.</p>
+</div>
+<div class="paragraph">
+<p>Making a third-party dependency available to your application is simply a matter of adding its artifact to the appropriate location in the provisioning repository. This could be either in the local directories or the remote ones if you are getting artifacts from a remotely-hosted repository.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-structure"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_local_repository_structure">Local Repository Structure</h4>
+<div class="paragraph">
+<p>When you first install Virgo, the local provisioning repository is located at <code>$SERVER_HOME/repository</code> by default and consists of two main directories: <code>ext</code> and <code>usr</code>. The <code>ext</code> directory contains artifacts supplied with the Virgo and <code>usr</code> contains artifacts supplied by the user and is initially empty.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-installing-bundles"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing_artifacts_to_a_repository">Installing Artifacts to a Repository</h4>
+<div class="paragraph">
+<p>To install an artifact into the default repository, simply copy it into the <code>$SERVER_HOME/repository/usr</code> directory.</p>
+</div>
+<div class="paragraph">
+<p>If you have configured additional watched or external repositories (additional, that is, to the default ones already configured in a freshly-installed Virgo instance), you install the artifacts in the same way: simply copy the files to the configured directories. You configure additional watched or external repositories in the same file as the default repositories: <code>$SERVER_HOME/configuration/org.eclipse.virgo.repository.properties</code>.</p>
+</div>
+<div class="paragraph">
+<p>When you install a plan or a library into the repository, you must ensure that all referenced artifacts within the plan or library have been installed as well.</p>
+</div>
+<div class="paragraph">
+<p>Artifacts must have unique names so it is considered best practice to include the version number in the file name,
+allowing for multiple versions of the artifact to be installed at the same time. For example, a bundle file name might be <code>my-exciting-bundle.2.1.0.jar</code>.</p>
+</div>
+<div class="paragraph">
+<p>For watched repositories, such as <code>$SERVER_HOME/repository/usr</code>, Virgo automatically detects changes
+at runtime, thereby avoiding the need to restart Virgo.</p>
+</div>
+<div class="paragraph">
+<p>Of specific relevance during development is picking up changes to an application’s direct dependencies during deployment of the application. For example, if you deploy an application and receive a message that a dependency is missing, you can simply add the dependency to the repository and then redeploy the application. The redeploy will cause the new dependency to be picked up, allowing progress to be made without restarting Virgo. For other changes such as addition of optional dependencies, Virgo must be restarted to pick up any changes to the provisioning repository.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-brits"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_downloading_bundles_from_the_ebr">Downloading Bundles from the EBR</h3>
+<div class="paragraph">
+<p>The <a href="http://www.eclipse.org/ebr">EBR</a> is a public collection of open source libraries commonly used for developing enterprise Java applications with the Spring Framework and Virgo. It contains hundreds of the most popular enterprise Java libraries made available for general use in an OSGi-ready format. You can browse the collection and then download the bundles that you need into your own local repository.</p>
+</div>
+<div class="paragraph">
+<p>The <a href="http://www.eclipse.org/ebr">EBR</a> is located <a href="http://www.springsource.com/repository">here</a>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/bundle-repository.png" alt="bundle repository"></span></p>
+</div>
+<div class="paragraph">
+<p>You can find bundles in the repository using a number of options. You use the ‘Search' facility by typing in a keyword. The matching criteria returned can be explored by name, symbolic name, class, package or resource.</p>
+</div>
+<div class="paragraph">
+<p>There is also the option of clicking on ‘Browse by Bundle'. This gives an alphabetical list of bundles. You can select the desired bundle to see details and find the download link. Finally, you can also choose to ‘Browse by Library', which allows you to browse the alphabetical list of libraries in the repository.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-configuration"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_repository">Configuring the Repository</h3>
+<div class="paragraph">
+<p>Details of how to configure a Virgo installation’s provisioning repository can be found in <a href="#configuring-provisioning-repository">Configuring the Provisioning Repository</a>. See <a href="#configuring-hosted-repo">Configuring a Hosted Repository</a> for details of how to configure a repository that remote clients can access, also called a hosted repository.</p>
+</div>
+<div class="paragraph">
+<p>The two configuration sections describe the format of the repository properties files of Virgo, how to add new directories to the local repository, how to configure the repository to get artifacts from a remote repository hosted on a remote VTS instance, and how to configure the local VTS instance to host a repository that other remote servers access.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:08:07 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/serviceability.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/serviceability.html
new file mode 100644
index 0000000..41461be
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/serviceability.html
@@ -0,0 +1,696 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Serviceability and Diagnostics</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="serviceability"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_serviceability_and_diagnostics">Serviceability and Diagnostics</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Virgo supports two kinds of logging: <strong>Event Logging</strong> and <strong>Trace logging</strong> which is usually referred
+to simply as <strong>Logging</strong>. The difference between Event Logging and Logging is explained below, but both are configured in the
+<code>serviceability.xml</code> file in the <code>configuration</code> directory. This file takes the form of a Logback configuration, Virgo
+uses a Logback implementation behind the SLF4J logging interface.</p>
+</div>
+<div class="paragraph">
+<p>For a description of the syntax and facilities provided by <code>serviceability.xml</code>
+see the <strong>Logback</strong> documentation (referenced in <a href="#furtherreading">[furtherreading]</a>).</p>
+</div>
+<div class="paragraph">
+<p><a id="serviceability-info-log"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_event_logging">Event Logging</h3>
+<div class="paragraph">
+<p>Event logging records important events in Virgo. Each event is logged to
+an event log file and is accompanied by a code enclosed in angle brackets.
+An example is shown below:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2010-10-25 16:20:45.897] system-artifacts <TC0010I> Creating HTTP/1.1 connector with scheme http on port 8080.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>(For a description of the log code syntax, see <a href="#log-codes">[log-codes]</a>.)
+The format of event log messages is fully configurable.</p>
+</div>
+<div class="paragraph">
+<p>By default, event log messages are stored in <code>$SERVER_HOME/serviceability/eventlogs/eventlog.log</code>.</p>
+</div>
+<div class="paragraph">
+<p>The default behaviour is that, once <code>eventlog.log</code> reaches a 10Mb limit, it rolls into a series of files named
+<code>eventlog_</code><strong>i</strong><code>.log</code> where <strong>i</strong> ranges from 1 to 4, and event logging continues in
+a new <code>eventlog.log</code> file.</p>
+</div>
+<div class="paragraph">
+<p><a id="serviceability-info-trace"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__trace_logging">(Trace) Logging</h3>
+<div class="paragraph">
+<p>The Virgo’s (trace) logging support serves two main purposes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>It provides global trace files that capture high-volume information regarding the Virgo’s internal events.
+The files are intended for use by support personnel to diagnose runtime problems.</p>
+</li>
+<li>
+<p>It provides application trace files that contain application-generated output. This includes output generated using popular logging and
+tracing APIs including the OSGi LogService, as well as output generated by calls to <code>System.out</code> and <code>System.err</code>.
+These files are intended for use by application developers and system administrators. An application is defined as a scope so a single bundle will
+not get its own log file unless it is a Web application Bundle or is included in a scoped plan or a par file.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>By default, the Virgo trace file is called <code>$SERVER_HOME/serviceability/logs/log.log</code>,
+and, again by default, the application trace files are called <code>$SERVER_HOME/serviceability/logs/</code><strong>application_name</strong>
+<code>/log.log</code>, where <strong>application_name</strong> is automatically set by Virgo for each application artifact
+installed and run (it is a combination of the artifact name and the version).</p>
+</div>
+<div class="paragraph">
+<p>The default behaviour of these trace files is that, once <code>log.log</code> reaches a 10Mb limit, it rolls into a series of files named
+<code>log_</code><strong>i</strong><code>.log</code> where <strong>i</strong> ranges from 1 to 4, and logging continues in
+a new <code>log.log</code> file.</p>
+</div>
+<div class="paragraph">
+<p>Entries in trace files are by default of the form <timestamp> <thread-name> <source> <level> <entry-text>. For example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2008-05-15 09:09:46.940] server-dm-2 org.apache.coyote.http11.Http11Protocol I Initializing Coyote HTTP/1.1 on http-48080</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>although this format is completely determined by the Logback configuration file <code>serviceability.xml</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="serviceability-info-trace-app"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_application_output">Application Output</h4>
+<div class="paragraph">
+<p>Virgo provides advanced support for capturing and tracing application-generated output by automatically separating trace output on a
+per-application basis and will also capture any <code>System.out</code> and <code>System.err</code> output.</p>
+</div>
+<div class="paragraph">
+<p><a id="per-application-trace"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_per_application_trace">Per-application trace</h4>
+<div class="paragraph">
+<p>Virgo uses SLF4J interfaces to Logback, and the root logger (by default) captures all logging output
+and appends it to the application-specific trace files as described above.
+To modify this, define application-specific loggers in the <code>serviceability.xml</code> file in the normal way.</p>
+</div>
+<div class="paragraph">
+<p><a id="sysout-and-syserr"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_system_out_and_system_err">System.out and System.err</h3>
+<div class="paragraph">
+<p><code>System.out</code> and <code>System.err</code> output from applications is, by default, captured in the
+application’s trace file.
+This happens because the output streams are intercepted and written to the loggers named
+<code>System.out</code> and <code>System.err</code> respectively.
+Since there are no explicit loggers defined with these names in the <code>serviceability.xml</code> file,
+this output is logged by the root logger (which captures <code>INFO</code> level and above).</p>
+</div>
+<div class="paragraph">
+<p>The capture of <code>System.out</code> and <code>System.err</code> output is configured in the
+<code>configuration/org.eclipse.virgo.medic.properties</code> file by the <code>log.wrapSysOut</code> and
+<code>log.wrapSysErr</code> properties. By default the properties have a value of <code>true</code>
+and capture is enabled. Capture can be disabled by configuring the properties with a value of <code>false</code>.
+The third and last accepted value is <code>tee</code> which captures the System streams output in the logs
+while at the same time allows printing output to the System streams. Thus this output will appear both in the logs
+and in the System stream output - an example could be the Equinox console, launched with <code>-console</code> startup argument.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>If you provide value different than 'true | tee | false' then the server will default to 'tee' and print out a warning.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The trace entries for <code>System.out</code> and <code>System.err</code>
+output are of the form:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2008-05-16 09:28:45.874] server-tomcat-thread-1 System.out Hello world!
+[2008-05-16 09:28:45.874] server-tomcat-thread-1 System.err Hello world!</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The third column indicates where the output came from (<code>System.out</code> or <code>System.err</code>).</p>
+</div>
+<div class="paragraph">
+<p>To over-ride this behaviour, simply define explicit loggers named <code>System.out</code>
+and/or <code>System.err</code> in the configuration file to send this output to an appender of your choice.
+Be aware that all applications' output streams will be caught by these loggers, and that a sifting appender might be useful to separate them.</p>
+</div>
+<div class="paragraph">
+<p><a id="janino"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_janino">Janino</h4>
+<div class="paragraph">
+<p>Janino can be used to define trace filters as Java expressions. This adds a significant overhead to tracing, so should be used with care.</p>
+</div>
+<div class="paragraph">
+<p>For example, the addition of the following filter element to the sifting appender in <code>serviceability.xml</code>
+suppresses per-application trace output that is not associated with a particular application and is normally written to
+<code>serviceability/logs/virgo-kernel/log.log</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><appender name="SIFTED_LOG_FILE" class="ch.qos.logback.classic.sift.SiftingAppender">
+ <discriminator>
+ <Key>applicationName</Key>
+ <DefaultValue>virgo-kernel</DefaultValue>
+ </discriminator>
+ <sift>
+ <appender name="${applicationName}_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
+ <expression>
+ (mdc == null) || (mdc.get("applicationName") == null)
+ </expression>
+ </evaluator>
+ <OnMismatch>NEUTRAL</OnMismatch>
+ <OnMatch>DENY</OnMatch>
+ </filter>
+ <file>serviceability/logs/${applicationName}/log.log</file>
+ ...
+ </appender>
+ </sift>
+</appender></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To enable Janino in Virgo, place the Janino and commons compiler JARs, converted to OSGi bundles, in <code>plugins</code>.
+For example these bundles are available at v2.6.1 from the SpringSource Enterprise Bundle Repository.
+Then add the following lines to
+<code>configuration/org.eclipse.equinox.simpleconfigurator/bundles.info</code>
+(as described in <a href="#configuring-framework-bundles">Configuring OSGi Framework Bundles</a>):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">com.springsource.org.codehaus.janino,2.6.1,plugins/com.springsource.org.codehaus.janino-2.6.1.jar,4,false
+com.springsource.org.codehaus.commons.compiler,2.6.1,plugins/com.springsource.org.codehaus.commons.compiler-2.6.1.jar,4,false]]></programlisting></code></pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Current versions of Logback, including 0.9.28 to 1.0, do not set Janino’s "parent" class loader correctly.
+This bug is covered by the Logback issue <a href="http://jira.qos.ch/browse/LBCORE-244">LBCORE-244</a>.
+With such versions, it is necessary to attach a fragment bundle to Janino. Place the fragment bundle in <code>plugins</code> and list it in
+<code>configuration/org.eclipse.equinox.simpleconfigurator/bundles.info</code>.
+The fragment’s contents are described in <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=333920#c15">bug 333920</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="serviceability-info-dump"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_service_dumps">Service Dumps</h3>
+<div class="paragraph">
+<p>A service dump is triggered when one of the following events
+occurs:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>A failure is detected in the Virgo code, or</p>
+</li>
+<li>
+<p>a thread deadlock is detected.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>A service dump contains a snapshot of all the important state from
+the running Virgo instance. This snapshot is not intended
+for end user consumption but is useful for service personnel.</p>
+</div>
+<div class="paragraph">
+<p>By default, service dumps are created in <code>$SERVER_HOME/serviceability/dump</code>.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:42:22 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/starting-stopping.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/starting-stopping.html
new file mode 100644
index 0000000..193ed66
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/starting-stopping.html
@@ -0,0 +1,1028 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Starting and Stopping Virgo for Apache Tomcat</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="starting-stopping""></a></p>
+</div>
+<div class="sect1">
+<h2 id="_starting_and_stopping_virgo_for_apache_tomcat">Starting and Stopping Virgo for Apache Tomcat</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Starting and Stopping VTS</p>
+</div>
+<div class="sect2">
+<h3 id="_starting_virgo_for_apache_tomcat">Starting Virgo for Apache Tomcat</h3>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat run the <code>startup.sh</code> (Linux) or <code>startup.bat</code> (Windows) script.
+For both platforms, the script is located in the <code>SERVER_HOME/bin</code> directory.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This chapter applies to Virgo Nano too. Note that since VN
+has a single region you can ignore the console output from the user region and focus on the instructions.
+A successful startup of VN is as simple as that:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2011-12-28 11:41:31.528] startup-tracker <KE0001I> Kernel starting.
+[2011-12-28 11:41:31.602] startup-tracker <KE0002I> Kernel started.</pre>
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_linux">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat, open a terminal window and run <code>startup.sh</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh</screen></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Once Virgo for Apache Tomcat has started, the console will display a log message
+similar to the one shown below, along with other status messages:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-11-30 12:12:12.111] Thread-2 <UR0001I> User region ready.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The preceding message indicates that you can start using VTS.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat, open a command-window and run <code>startup.bat</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>c:> cd %SERVER_HOME%
+c:> bin\startup.bat</screen></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Once Virgo for Apache Tomcat has started, the console will display a log message
+similar to the one shown below, along with other status messages:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-11-30 12:12:12.111] Thread-2 <UR0001I> User region ready.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The preceding message indicates that you can start using VTS.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_starting_in_clean_mode">Starting in Clean Mode</h3>
+<div class="paragraph">
+<p>When you start Virgo for Apache Tomcat in clean mode, the startup script removes the <code>SERVER_HOME/work</code> directory (and hence all
+running applications) as well as all trace, log and dump files. It leaves the
+<code>SERVER_HOME/repository</code> and <code>SERVER_HOME/pickup</code> directories untouched,
+which means that any applications previously hot deployed will be automatically reinstalled.</p>
+</div>
+<div class="sect3">
+<h4 id="_linux_2">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat in clean mode, open a terminal window and run <code>startup.sh -clean</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -clean</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_2">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat in clean mode, open a command window and run <code>startup.bat -clean</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -clean</pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_starting_in_debug_mode">Starting in Debug Mode</h3>
+<div class="sect3">
+<h4 id="_linux_3">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat in debug mode, run
+<code>startup.sh</code> passing in the
+<code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -debug</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the debug agent listening on port
+<code>8000</code> which is the default remote debug port used
+by Eclipse. To start in debug mode with a specific port number, pass
+this in as the value for the <code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -debug 8001</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the debug agent listening on port
+<code>8001</code>. To start in debug mode and suspend the VM
+until a debugger attaches, pass in the <code>-suspend</code>
+argument along with the <code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -debug -suspend</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This starts the debug agent, but prevents Virgo for Apache Tomcat from actually
+starting until a debugger attaches to the agent. This can be useful
+when trying to diagnose problems that occur during startup.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_3">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat in debug mode, run
+<code>startup.bat</code> passing in the
+<code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -debug</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the debug agent listening on port
+<code>8000</code> which is the default remote debug port used
+by Eclipse. To start in debug mode with a specific port number, pass
+this in as the value for the <code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -debug 8001</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the debug agent listening on port
+<code>8001</code>. To start in debug mode and suspend the VM
+until a debugger attaches, pass in the <code>-suspend</code>
+argument along with the <code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -debug -suspend</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This starts the debug agent, but prevents Virgo for Apache Tomcat from actually
+starting until a debugger attaches to the agent. This can be useful
+when trying to diagnose problems that occur during startup.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_starting_with_jmx_access_modifications">Starting with JMX Access Modifications</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat always starts with JMX access enabled, allowing you to use a management tool such as JConsole
+to attach to the Web Server instance.
+By default both local access and remote access over SSL with username and password
+authentication are provided. The default port for secure JMX access is <code>9875</code>
+and the default username and password are <code>admin</code> and <code>springsource</code>.</p>
+</div>
+<div class="sect3">
+<h4 id="_linux_4">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat with default JMX access enabled, run <code>startup.sh</code> passing
+in no arguments:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To start JConsole, run the <code>jconsole.sh</code> script, located in the <code>bin</code> directory, as shown:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/jconsole.sh</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following image shows how to specify a local connection using JConsole.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-local-attach.png" alt="jmx local attach"></span></p>
+</div>
+<div class="paragraph">
+<p>The following image shows how to specify a remote connection in JConsole that uses SSL with the default
+username/password (<code>admin/springsource</code> and default secure port of <code>9875</code>).</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-default.png" alt="jmx remote attach default"></span></p>
+</div>
+<div class="paragraph">
+<p>To start with the JMX remote access on a specific port number other than the default <code>9875</code>,
+pass this port number in as the value
+of the <code>-jmxport</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -jmxport 9090</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the Virgo for Apache Tomcat with JMX enabled for remote connections on port <code>9090</code>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-jmxport.png" alt="jmx remote attach jmxport"></span></p>
+</div>
+<div class="paragraph">
+<p>To start the JMX remote access with a custom username and password, update the <code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.users.properties</code> file. First specify the custom username by changing the value of the <code>role.admin</code> property. Then set the password of this new user by adding a new property called <code>user.<strong>username</strong></code>, where <code><strong>username</strong></code> refers to the actual name of the user. Finally, restart VTS for the changes to take effect.
+ For example, if you want change the JMX remote access username to <code>zebedee</code> with password <code>florence</code>, change the file as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">##################
+# User definitions
+##################
+user.zebedee=florence
+
+
+##################
+# Role definitions
+##################
+role.admin=zebedee</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Specify the custom username in JConsole as shown.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-jmxusers.png" alt="jmx remote attach jmxusers"></span></p>
+</div>
+<div class="paragraph">
+<p>To start the JMX remote access using a custom SSL certificate, edit the file located at
+<code>$SERVER_HOME/configuration/keystore</code>. If you wish to use a different keystore,
+pass this filename in as the value for the <code>-keystore</code> argument and the keystore
+password in as the value for the <code>-keystorePassword</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -keystore customKeystore -keystorePassword customKeystorePassword</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the Virgo for Apache Tomcat with JMX enabled for remote connections using an SSL certificate from
+<code>customKeystore</code> with a password of <code>customKeystorePassword</code>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_4">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat with default JMX access enabled, run <code>startup.bat</code> passing
+in no arguments:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To start JConsole, run the <code>jconsole.bat</code> script, located in the <code>bin</code> directory, as shown:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\jconsole.bat</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following image shows how to specify a local connection using JConsole.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-local-attach.png" alt="jmx local attach"></span></p>
+</div>
+<div class="paragraph">
+<p>The following image shows how to specify a remote connection in JConsole that uses SSL with the default
+username/password (<code>admin/springsource</code> and default secure port of <code>9875</code>).</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-default.png" alt="jmx remote attach default"></span></p>
+</div>
+<div class="paragraph">
+<p>To start with the JMX remote access on a specific port number other than the default <code>9875</code>,
+pass this port number in as the value of the <code>-jmxport</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -jmxport 9090</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the Virgo for Apache Tomcat with JMX enabled for remote connections on port
+<code>9090</code>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-jmxport.png" alt="jmx remote attach jmxport"></span></p>
+</div>
+<div class="paragraph">
+<p>To start the JMX remote access with a custom username and password, update the <code>%SERVER_HOME%\configuration\org.eclipse.virgo.kernel.users.properties</code> file. First specify the custom username by changing the value of the <code>role.admin</code> property. Then set the password of this new user by adding a new property called <code>user.<strong>username</strong></code>, where <code><strong>username</strong></code> refers to the actual name of the user. Finally, restart VTS for the changes to take effect.
+ For example, if you want change the JMX remote access username to <code>zebedee</code> with password <code>florence</code>, change the file as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">##################
+# User definitions
+##################
+user.zebedee=florence
+
+
+##################
+# Role definitions
+##################
+role.admin=zebedee</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Specify the custom username in JConsole as shown.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-jmxusers.png" alt="jmx remote attach jmxusers"></span></p>
+</div>
+<div class="paragraph">
+<p>To start the JMX remote access using a custom SSL certificate, edit the file located at
+<code>%SERVER_HOME%\configuration\keystore</code>. If you wish to use a different
+keystore, pass this filename in as the value for the <code>-keystore</code> argument and the
+keystore password in as the value for the <code>-keystorePassword</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -keystore customKeystore -keystorePassword customKeystorePassword</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the Virgo for Apache Tomcat with JMX enabled for remote attach using an SSL certificate from
+<code>customKeystore</code> with a password of <code>customKeystorePassword</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="starting-stopping-configuration-directory"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_starting_with_a_custom_configuration_directory">Starting with a Custom Configuration Directory</h3>
+<div class="paragraph">
+<p>Use the <code>-configDir</code> option to specify an alternate <code>configuration</code> directory, different from the
+default <code>SERVER_HOME/configuration</code> directory. This option allows you to use the same Virgo for Apache Tomcat
+installation to run multiple instances of VTS. Simply create a configuration directory for each
+instance, specify unique port numbers, logging and tracing directories, and so on, and then specify that directory
+when starting VTS.</p>
+</div>
+<div class="paragraph">
+<p>If you specify a relative path for the <code>-configDir</code> parameter,
+the startup script interprets the path as relative to the root of the Virgo for Apache Tomcat installation,
+and not relative to the directory from which you execute the <code>startup</code> script.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#alternate-serviceability-work">Alternate <code>serviceability</code> and <code>work</code>
+Directories</a> for a known issue related to specifying an alternate <code>configuration</code> directory.</p>
+</div>
+<div class="sect3">
+<h4 id="_linux_5">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat using a configuration directory of <code>/configuration/node1</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -configDir /configuration/node1</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_windows">Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat using a configuration directory of <code>c:\configuration\node1</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -configDir c:\configuration\node1</pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_stopping_virgo_for_apache_tomcat">Stopping Virgo for Apache Tomcat</h3>
+<div class="sect3">
+<h4 id="_linux_6">Linux</h4>
+<div class="paragraph">
+<p>To stop a running instance of Virgo for Apache Tomcat, start a new terminal window and run the <code>shutdown.sh</code> script:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/shutdown.sh</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To stop a running instance of Virgo for Apache Tomcat immediately, bypassing normal shutdown
+processing, run <code>shutdown.sh</code> with the <code>-immediate</code> option:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/shutdown.sh -immediate</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If, when you started the Web Server instance, you used the <code>-jmxport</code> option to specify a non-default JMX port number,
+then you must pass this port number to the <code>-jmxport</code> of the <code>shutdown.sh</code> script
+to gracefully shut it down.
+For example, if you specified <code>9090</code> as the JMX port, use the following to shut down the Web Server instance:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/shutdown.sh -jmxport 9090</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_5">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To stop a running instance of Virgo for Apache Tomcat, start a new console window and run the <code>shutdown.bat</code> script:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\shutdown.bat</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To stop a running instance of Virgo for Apache Tomcat immediately, bypassing normal shutdown
+processing, run <code>shutdown.bat</code> with the <code>-immediate</code> option:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\shutdown.bat -immediate</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If, when you started the Web Server instance, you used the <code>-jmxport</code> option to specify a non-default JMX port number,
+then you must pass this port number to the <code>-jmxport</code> of the <code>shutdown.bat</code> script to gracefully shut it down.
+For example, if you specified <code>9090</code> as the JMX port, use the following to shut down the Web Server instance:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\shutdown.bat -jmxport 9090</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="cleaning-without-starting"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_cleaning_virgo_for_apache_tomcat_without_starting_it">Cleaning Virgo for Apache Tomcat without Starting it</h3>
+<div class="paragraph">
+<p>When you clean Virgo for Apache Tomcat, the startup script removes the <code>SERVER_HOME/work</code> directory (and hence all
+running applications) as well as all trace, log and dump files. It leaves the
+<code>SERVER_HOME/repository</code> and <code>SERVER_HOME/pickup</code> directories untouched,
+which means that any applications previously hot deployed will be automatically reinstalled next time the Web Server is started.</p>
+</div>
+<div class="paragraph">
+<p>Cleaning is useful when you want to start the Web Server from a clean state next time, but you don’t want to start the Web Server yet.</p>
+</div>
+<div class="paragraph">
+<p>Cleaning is also useful for tidying up the directory structure. For example, sometimes Microsoft Windows won’t let you delete the Web
+Server installation directory.
+See <a href="#windows-deletion">Problem Deleting Installation Directory under Windows</a> for more details.</p>
+</div>
+<div class="sect3">
+<h4 id="_linux_7">Linux</h4>
+<div class="paragraph">
+<p>To clean Virgo for Apache Tomcat, open a terminal window and run <code>startup.sh -clean -noStart</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -clean -noStart</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_6">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To clean Virgo for Apache Tomcat, open a command window and run <code>startup.bat -clean -noStart</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -clean -noStart</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="equinox-launcher"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_equinox_launcher">Using Equinox Launcher</h3>
+<div class="paragraph">
+<p>Since version 3.5 Virgo uses the standard Equinox Launcher as its default launcher.
+As a result in addition to all the launcher options described so far users can also pass arguments specific to the Equinox launcher.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The Equinox Launcher arguments must be placed at the end of the startup call. Here’s an example</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ ./startup.sh "virgo-args" "equinox-launcher-args"
+$ ./startup.sh -clean -console 2222</screen></pre>
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>A full list of the accepted Equinox Launcher arguments is available at <a href="http://help.eclipse.org/">help.eclipse.org</a>.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/using-the-p2-director.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/using-the-p2-director.html
new file mode 100644
index 0000000..47b197d
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/using-the-p2-director.html
@@ -0,0 +1,577 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Using the p2 director</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+</div>
+<div id="content">
+<div class="paragraph">
+<p><a id="using-the-p2-director"></a></p>
+</div>
+<div class="sect1">
+<h2 id="_using_the_p2_director">Using the p2 director</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="prereqs"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_prerequisites">Prerequisites</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat, or VTS for short, requires Java SE 6 or later to be installed. Java is available from
+<a href="http://www.java.com/">http://www.java.com/</a> and elsewhere.</p>
+</div>
+<div class="paragraph">
+<p>Since you’re going to use the p2 director you’ll need to get it. The easiest way is to download Eclipse from <a href="http://www.eclipse.org/downloads/">here</a>.
+It has built-in p2 director and other p2 applications.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Setting the Target Platform</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Before using the director make sure you have a proper target platform set. Otherwise you may not see the director application. Here’s how to do that:
+Go to Eclipse’s Preferences→Plug-in Development→Target Platform. Below is shown how the view looks like when a default target platform is set.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/target-platform-view.png" alt="target platform view"></span></p>
+</div>
+<div class="paragraph">
+<p>If for some reason you don’t have any target platform set or it’s not the default one you must set the default target platform from the image above.
+If the default target platform is missing then add a new one via the <strong>Add…​</strong> button and select the <strong>Default</strong> radio button as shown below:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/default-target-create.png" alt="default target create"></span></p>
+</div>
+<div class="paragraph">
+<p>You can now click <strong>Next</strong> and then <strong>Finish</strong>.</p>
+</div>
+<div class="paragraph">
+<p><a id="using-director"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_with_the_p2_director_from_eclipse">Installing with the p2 director from Eclipse</h3>
+<div class="paragraph">
+<p>This section covers briefly using the p2 director for installing.
+A helpful page is the p2 director’s <a href="http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_director.html">documentation at help.eclipse.org</a>.
+There you can find more information on the different supported arguments.</p>
+</div>
+<div class="paragraph">
+<p>Here’s how to use the GUI version of the director built-in Eclipse.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Go to the <strong>Run</strong> context menu and select <strong>Run Configurations</strong></p>
+</li>
+<li>
+<p>Create a new one and choose the director application as shown below, then switch to the <strong>Arguments</strong> tab</p>
+</li>
+</ol>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>In the image below the "Location:" text box’s value is managed by your IDE, don’t type anything in there.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/run_configuration.png" alt="run configuration"></span></p>
+</div>
+<div class="paragraph">
+<p>In the <strong>Program Arguments</strong> section append the director arguments. Here’s an example I used:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>-repository <yourP2repo>
+-installIU nano.product
+-tag InitialState
+-destination /Users/<youruser>/install/virgo
+-profile VirgoProfile
+-roaming
+-p2.os ${target.os}
+-p2.ws ${target.ws}
+-p2.arch ${target.arch}</pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The <strong>-repository</strong> argument accepts any valid p2 repository.
+The <strong>-destination</strong> argument accepts any valid absolute location. It defines the location where your Virgo installation will be provisioned.
+If the directory does not exist, it will be created by the director.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>These arguments produce a Virgo Nano installation. For the <strong>p2.</strong>* arguments use the same properties from the example above. Eclipse will substitute them later with real values.</p>
+</div>
+<div class="paragraph">
+<p>The passed value for <strong>-installIU</strong> determines which Virgo product is going to be installed. Here’s a list of all Virgo product install IUs:
+<strong>nano.product</strong> - Virgo Nano
+<strong>nano-full.product</strong> - Virgo Nano Full (VN ` p2 ` GW)
+<strong>kernel.product</strong> - Virgo Kernel
+<strong>tomcat-server.product</strong> - Virgo for Apache Tomcat
+<strong>jetty-server.product</strong> - Virgo Jetty Server</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/director_args.png" alt="director args"></span></p>
+</div>
+<div class="paragraph">
+<p>Finally, run the created configuration. You should see the following output in Eclipse’s Console</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/director_result.png" alt="director result"></span></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/virgo-user-guide.html b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/virgo-user-guide.html
new file mode 100644
index 0000000..e58d590
--- /dev/null
+++ b/documentation/virgo-documentation-3.7.0.RELEASE/docs/virgo-user-guide/html5/virgo-user-guide.html
@@ -0,0 +1,7269 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 1.5.3">
+<title>Virgo User Guide</title>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
+<style>
+/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
+/* Remove comment around @import statement below when using as a custom stylesheet */
+/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,video{display:inline-block}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+script{display:none!important}
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+a{background:transparent}
+a:focus{outline:thin dotted}
+a:active,a:hover{outline:0}
+h1{font-size:2em;margin:.67em 0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:bold}
+dfn{font-style:italic}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+mark{background:#ff0;color:#000}
+code,kbd,pre,samp{font-family:monospace;font-size:1em}
+pre{white-space:pre-wrap}
+q{quotes:"\201C" "\201D" "\2018" "\2019"}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:0}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
+button,input{line-height:normal}
+button,select{text-transform:none}
+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+textarea{overflow:auto;vertical-align:top}
+table{border-collapse:collapse;border-spacing:0}
+*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+html,body{font-size:100%}
+body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
+a:hover{cursor:pointer}
+img,object,embed{max-width:100%;height:auto}
+object,embed{height:100%}
+img{-ms-interpolation-mode:bicubic}
+.left{float:left!important}
+.right{float:right!important}
+.text-left{text-align:left!important}
+.text-right{text-align:right!important}
+.text-center{text-align:center!important}
+.text-justify{text-align:justify!important}
+.hide{display:none}
+body{-webkit-font-smoothing:antialiased}
+img,object,svg{display:inline-block;vertical-align:middle}
+textarea{height:auto;min-height:50px}
+select{width:100%}
+.center{margin-left:auto;margin-right:auto}
+.spread{width:100%}
+p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
+.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
+div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
+a{color:#2156a5;text-decoration:underline;line-height:inherit}
+a:hover,a:focus{color:#1d4b8f}
+a img{border:none}
+p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
+p aside{font-size:.875em;line-height:1.35;font-style:italic}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
+h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
+h1{font-size:2.125em}
+h2{font-size:1.6875em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
+h4,h5{font-size:1.125em}
+h6{font-size:1em}
+hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
+em,i{font-style:italic;line-height:inherit}
+strong,b{font-weight:bold;line-height:inherit}
+small{font-size:60%;line-height:inherit}
+code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
+ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
+ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
+ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
+ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
+ul.square{list-style-type:square}
+ul.circle{list-style-type:circle}
+ul.disc{list-style-type:disc}
+ul.no-bullet{list-style:none}
+ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
+dl dt{margin-bottom:.3125em;font-weight:bold}
+dl dd{margin-bottom:1.25em}
+abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
+abbr{text-transform:none}
+blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
+blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
+blockquote cite:before{content:"\2014 \0020"}
+blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
+blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
+@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
+h1{font-size:2.75em}
+h2{font-size:2.3125em}
+h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
+h4{font-size:1.4375em}}
+table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
+table thead,table tfoot{background:#f7f8f7;font-weight:bold}
+table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
+table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
+table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
+table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
+body{tab-size:4}
+h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
+h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
+.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
+.clearfix:after,.float-group:after{clear:both}
+*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
+pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
+.keyseq{color:rgba(51,51,51,.8)}
+kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
+.keyseq kbd:first-child{margin-left:0}
+.keyseq kbd:last-child{margin-right:0}
+.menuseq,.menu{color:rgba(0,0,0,.8)}
+b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
+b.button:before{content:"[";padding:0 3px 0 2px}
+b.button:after{content:"]";padding:0 2px 0 3px}
+p a>code:hover{color:rgba(0,0,0,.9)}
+#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
+#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
+#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
+#content{margin-top:1.25em}
+#content:before{content:none}
+#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
+#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
+#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
+#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
+#header .details span:first-child{margin-left:-.125em}
+#header .details span.email a{color:rgba(0,0,0,.85)}
+#header .details br{display:none}
+#header .details br+span:before{content:"\00a0\2013\00a0"}
+#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
+#header .details br+span#revremark:before{content:"\00a0|\00a0"}
+#header #revnumber{text-transform:capitalize}
+#header #revnumber:after{content:"\00a0"}
+#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
+#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
+#toc>ul{margin-left:.125em}
+#toc ul.sectlevel0>li>a{font-style:italic}
+#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
+#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
+#toc li{line-height:1.3334;margin-top:.3334em}
+#toc a{text-decoration:none}
+#toc a:active{text-decoration:underline}
+#toctitle{color:#7a2518;font-size:1.2em}
+@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
+body.toc2{padding-left:15em;padding-right:0}
+#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
+#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
+#toc.toc2>ul{font-size:.9em;margin-bottom:0}
+#toc.toc2 ul ul{margin-left:0;padding-left:1em}
+#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
+body.toc2.toc-right{padding-left:0;padding-right:15em}
+body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
+@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
+#toc.toc2{width:20em}
+#toc.toc2 #toctitle{font-size:1.375em}
+#toc.toc2>ul{font-size:.95em}
+#toc.toc2 ul ul{padding-left:1.25em}
+body.toc2.toc-right{padding-left:0;padding-right:20em}}
+#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+#content #toc>:first-child{margin-top:0}
+#content #toc>:last-child{margin-bottom:0}
+#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
+#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
+.sect1{padding-bottom:.625em}
+@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
+.sect1+.sect1{border-top:1px solid #efefed}
+#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
+#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
+#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
+#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
+#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
+.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
+.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
+table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
+.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
+table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
+.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
+.admonitionblock>table td.icon{text-align:center;width:80px}
+.admonitionblock>table td.icon img{max-width:none}
+.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
+.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
+.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
+.exampleblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child{margin-bottom:0}
+.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
+.sidebarblock>:first-child{margin-top:0}
+.sidebarblock>:last-child{margin-bottom:0}
+.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
+.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
+.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
+.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
+.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
+@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
+@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
+.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
+.listingblock pre.highlightjs{padding:0}
+.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
+.listingblock pre.prettyprint{border-width:0}
+.listingblock>.content{position:relative}
+.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
+.listingblock:hover code[data-lang]:before{display:block}
+.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
+.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
+table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
+table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
+table.pyhltable td.code{padding-left:.75em;padding-right:0}
+pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
+pre.pygments .lineno{display:inline-block;margin-right:.25em}
+table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
+.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
+.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
+.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
+.quoteblock blockquote{margin:0;padding:0;border:0}
+.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
+.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
+.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
+.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
+.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
+.quoteblock .quoteblock blockquote:before{display:none}
+.verseblock{margin:0 1em 1.25em 1em}
+.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
+.verseblock pre strong{font-weight:400}
+.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
+.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
+.quoteblock .attribution br,.verseblock .attribution br{display:none}
+.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
+.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
+.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
+.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
+table.tableblock{max-width:100%;border-collapse:separate}
+table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
+table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
+table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
+table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
+table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
+table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
+table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
+table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
+table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
+table.frame-all{border-width:1px}
+table.frame-sides{border-width:0 1px}
+table.frame-topbot{border-width:1px 0}
+th.halign-left,td.halign-left{text-align:left}
+th.halign-right,td.halign-right{text-align:right}
+th.halign-center,td.halign-center{text-align:center}
+th.valign-top,td.valign-top{vertical-align:top}
+th.valign-bottom,td.valign-bottom{vertical-align:bottom}
+th.valign-middle,td.valign-middle{vertical-align:middle}
+table thead th,table tfoot th{font-weight:bold}
+tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
+tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
+p.tableblock>code:only-child{background:none;padding:0}
+p.tableblock{font-size:1em}
+td>div.verse{white-space:pre}
+ol{margin-left:1.75em}
+ul li ol{margin-left:1.5em}
+dl dd{margin-left:1.125em}
+dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
+ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
+ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
+ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
+ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
+ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
+ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
+ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
+ul.inline>li>*{display:block}
+.unstyled dl dt{font-weight:400;font-style:normal}
+ol.arabic{list-style-type:decimal}
+ol.decimal{list-style-type:decimal-leading-zero}
+ol.loweralpha{list-style-type:lower-alpha}
+ol.upperalpha{list-style-type:upper-alpha}
+ol.lowerroman{list-style-type:lower-roman}
+ol.upperroman{list-style-type:upper-roman}
+ol.lowergreek{list-style-type:lower-greek}
+.hdlist>table,.colist>table{border:0;background:none}
+.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
+td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
+td.hdlist1{font-weight:bold;padding-bottom:1.25em}
+.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
+.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
+.colist>table tr>td:last-of-type{padding:.25em 0}
+.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
+.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
+.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
+.imageblock>.title{margin-bottom:0}
+.imageblock.thumb,.imageblock.th{border-width:6px}
+.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
+.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
+.image.left{margin-right:.625em}
+.image.right{margin-left:.625em}
+a.image{text-decoration:none;display:inline-block}
+a.image object{pointer-events:none}
+sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
+sup.footnote a,sup.footnoteref a{text-decoration:none}
+sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
+#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
+#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
+#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
+#footnotes .footnote:last-of-type{margin-bottom:0}
+#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
+.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
+.gist .file-data>table td.line-data{width:99%}
+div.unbreakable{page-break-inside:avoid}
+.big{font-size:larger}
+.small{font-size:smaller}
+.underline{text-decoration:underline}
+.overline{text-decoration:overline}
+.line-through{text-decoration:line-through}
+.aqua{color:#00bfbf}
+.aqua-background{background-color:#00fafa}
+.black{color:#000}
+.black-background{background-color:#000}
+.blue{color:#0000bf}
+.blue-background{background-color:#0000fa}
+.fuchsia{color:#bf00bf}
+.fuchsia-background{background-color:#fa00fa}
+.gray{color:#606060}
+.gray-background{background-color:#7d7d7d}
+.green{color:#006000}
+.green-background{background-color:#007d00}
+.lime{color:#00bf00}
+.lime-background{background-color:#00fa00}
+.maroon{color:#600000}
+.maroon-background{background-color:#7d0000}
+.navy{color:#000060}
+.navy-background{background-color:#00007d}
+.olive{color:#606000}
+.olive-background{background-color:#7d7d00}
+.purple{color:#600060}
+.purple-background{background-color:#7d007d}
+.red{color:#bf0000}
+.red-background{background-color:#fa0000}
+.silver{color:#909090}
+.silver-background{background-color:#bcbcbc}
+.teal{color:#006060}
+.teal-background{background-color:#007d7d}
+.white{color:#bfbfbf}
+.white-background{background-color:#fafafa}
+.yellow{color:#bfbf00}
+.yellow-background{background-color:#fafa00}
+span.icon>.fa{cursor:default}
+.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
+.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
+.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
+.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
+.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
+.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
+.conum[data-value] *{color:#fff!important}
+.conum[data-value]+b{display:none}
+.conum[data-value]:after{content:attr(data-value)}
+pre .conum[data-value]{position:relative;top:-.125em}
+b.conum *{color:inherit!important}
+.conum:not([data-value]):empty{display:none}
+dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
+h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
+p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
+p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
+p{margin-bottom:1.25rem}
+.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
+.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
+.print-only{display:none!important}
+@media print{@page{margin:1.25cm .75cm}
+*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
+a{color:inherit!important;text-decoration:underline!important}
+a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
+a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
+abbr[title]:after{content:" (" attr(title) ")"}
+pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
+thead{display:table-header-group}
+svg{max-width:100%}
+p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
+h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
+#toc,.sidebarblock,.exampleblock>.content{background:none!important}
+#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
+.sect1{padding-bottom:0!important}
+.sect1+.sect1{border:0!important}
+#header>h1:first-child{margin-top:1.25rem}
+body.book #header{text-align:center}
+body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
+body.book #header .details{border:0!important;display:block;padding:0!important}
+body.book #header .details span:first-child{margin-left:0!important}
+body.book #header .details br{display:block}
+body.book #header .details br+span:before{content:none!important}
+body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
+body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
+.listingblock code[data-lang]:before{display:block}
+#footer{background:none!important;padding:0 .9375em}
+#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
+.hide-on-print{display:none!important}
+.print-only{display:block!important}
+.hide-for-print{display:none!important}
+.show-for-print{display:inherit!important}}
+</style>
+</head>
+<body class="article">
+<div id="header">
+<h1>Virgo User Guide</h1>
+<div id="toc" class="toc">
+<div id="toctitle">Table of Contents</div>
+<ul class="sectlevel1">
+<li><a href="#_introduction">Introduction</a>
+<ul class="sectlevel2">
+<li><a href="#_a_note_for_virgo_kernel_users">A Note for Virgo Kernel Users</a></li>
+<li><a href="#_a_note_for_virgo_jetty_server_users">A Note for Virgo Jetty Server Users</a></li>
+<li><a href="#_a_note_for_virgo_nano_users">A Note for Virgo Nano Users</a></li>
+</ul>
+</li>
+<li><a href="#_concepts">Concepts</a>
+<ul class="sectlevel2">
+<li><a href="#_modular_runtimes_and_applications">Modular Runtimes and Applications</a></li>
+<li><a href="#_osgi_concepts">OSGi Concepts</a></li>
+<li><a href="#_blueprint_concepts">Blueprint Concepts</a></li>
+<li><a href="#_virgo_concepts">Virgo Concepts</a></li>
+<li><a href="#_p2_concepts">p2 Concepts</a></li>
+</ul>
+</li>
+<li><a href="#_using_the_p2_director">Using the p2 director</a>
+<ul class="sectlevel2">
+<li><a href="#_prerequisites">Prerequisites</a></li>
+<li><a href="#_installing_with_the_p2_director_from_eclipse">Installing with the p2 director from Eclipse</a></li>
+</ul>
+</li>
+<li><a href="#_installing_virgo_for_apache_tomcat">Installing Virgo for Apache Tomcat</a>
+<ul class="sectlevel2">
+<li><a href="#_prerequisites_2">Prerequisites</a></li>
+<li><a href="#_installing_from_the_zip_download">Installing from the ZIP Download</a></li>
+<li><a href="#_installing_from_an_update_site">Installing from an update site</a></li>
+<li><a href="#_post_installation_steps">Post-installation steps</a></li>
+</ul>
+</li>
+<li><a href="#_installing_virgo_kernel">Installing Virgo Kernel</a>
+<ul class="sectlevel2">
+<li><a href="#_prerequisites_3">Prerequisites</a></li>
+<li><a href="#_installing_from_the_zip_download_2">Installing from the ZIP Download</a></li>
+<li><a href="#_installing_from_an_update_site_2">Installing from an update site</a></li>
+<li><a href="#_post_installation_steps_2">Post-installation steps</a></li>
+</ul>
+</li>
+<li><a href="#_installing_virgo_nano">Installing Virgo Nano</a>
+<ul class="sectlevel2">
+<li><a href="#_prerequisites_4">Prerequisites</a></li>
+<li><a href="#_installing_from_the_zip_download_3">Installing from the ZIP Download</a></li>
+<li><a href="#_installing_from_an_update_site_3">Installing from an update site</a></li>
+<li><a href="#_post_installation_steps_3">Post-installation steps</a></li>
+</ul>
+</li>
+<li><a href="#_starting_and_stopping_virgo_for_apache_tomcat">Starting and Stopping Virgo for Apache Tomcat</a>
+<ul class="sectlevel2">
+<li><a href="#_starting_virgo_for_apache_tomcat">Starting Virgo for Apache Tomcat</a></li>
+<li><a href="#_starting_in_clean_mode">Starting in Clean Mode</a></li>
+<li><a href="#_starting_in_debug_mode">Starting in Debug Mode</a></li>
+<li><a href="#_starting_with_jmx_access_modifications">Starting with JMX Access Modifications</a></li>
+<li><a href="#_starting_with_a_custom_configuration_directory">Starting with a Custom Configuration Directory</a></li>
+<li><a href="#_stopping_virgo_for_apache_tomcat">Stopping Virgo for Apache Tomcat</a></li>
+<li><a href="#_cleaning_virgo_for_apache_tomcat_without_starting_it">Cleaning Virgo for Apache Tomcat without Starting it</a></li>
+<li><a href="#_using_equinox_launcher">Using Equinox Launcher</a></li>
+</ul>
+</li>
+<li><a href="#_equinox_console">Equinox Console</a>
+<ul class="sectlevel2">
+<li><a href="#_enabling_the_equinox_console">Enabling the Equinox Console</a></li>
+<li><a href="#_using_virgo_shell_commands">Using Virgo Shell Commands</a></li>
+<li><a href="#_virgo_shell_command_reference">Virgo Shell Command Reference</a></li>
+<li><a href="#_using_the_p2_for_extending_your_virgo_installation">Using the p2 for extending your Virgo installation</a></li>
+</ul>
+</li>
+<li><a href="#_the_web_admin_console">The Web Admin Console</a>
+<ul class="sectlevel2">
+<li><a href="#_invoking_the_admin_console">Invoking the Admin Console</a></li>
+<li><a href="#_typical_admin_console_use_cases">Typical Admin Console Use Cases</a></li>
+<li><a href="#_viewing_properties_of_deployed_configuration_artifacts">Viewing Properties of Deployed Configuration Artifacts</a></li>
+</ul>
+</li>
+<li><a href="#_the_provisioning_repository_2">The Provisioning Repository</a>
+<ul class="sectlevel2">
+<li><a href="#_overview_of_the_provisioning_repository">Overview of the Provisioning Repository</a></li>
+<li><a href="#_downloading_bundles_from_the_ebr">Downloading Bundles from the EBR</a></li>
+<li><a href="#_configuring_the_repository">Configuring the Repository</a></li>
+</ul>
+</li>
+<li><a href="#_serviceability_and_diagnostics">Serviceability and Diagnostics</a>
+<ul class="sectlevel2">
+<li><a href="#_event_logging">Event Logging</a></li>
+<li><a href="#__trace_logging">(Trace) Logging</a></li>
+<li><a href="#_system_out_and_system_err">System.out and System.err</a></li>
+<li><a href="#_service_dumps">Service Dumps</a></li>
+</ul>
+</li>
+<li><a href="#_working_with_applications">Working with Applications</a>
+<ul class="sectlevel2">
+<li><a href="#_deploying_artifacts">Deploying Artifacts</a></li>
+<li><a href="#_undeploying_artifacts">Undeploying Artifacts</a></li>
+</ul>
+</li>
+<li><a href="#_configuration">Configuration</a>
+<ul class="sectlevel2">
+<li><a href="#_configuring_the_osgi_framework">Configuring the OSGi Framework</a></li>
+<li><a href="#_configuring_framework_extensions_and_fragments_on_the_system_bundle">Configuring Framework Extensions and Fragments on the System Bundle</a></li>
+<li><a href="#_configuring_serviceability_and_diagnostics">Configuring Serviceability and Diagnostics</a></li>
+<li><a href="#_configuring_the_local_provisioning_repository">Configuring the Local Provisioning Repository</a></li>
+<li><a href="#_configuring_a_hosted_repository">Configuring a Hosted Repository</a></li>
+<li><a href="#_configuring_the_kernel_and_user_region">Configuring the Kernel and User Region</a></li>
+<li><a href="#_configuring_authentication">Configuring Authentication</a></li>
+<li><a href="#_configuring_the_embedded_tomcat_servlet_container">Configuring the Embedded Tomcat Servlet Container</a></li>
+<li><a href="#_configuring_the_web_integration_layer">Configuring the Web Integration Layer</a></li>
+<li><a href="#_configuring_the_embedded_jetty_servlet_container">Configuring the Embedded Jetty Servlet Container</a></li>
+</ul>
+</li>
+<li><a href="#_event_log_codes">Event log codes</a>
+<ul class="sectlevel2">
+<li><a href="#_format_of_the_event_log_codes">Format of the event log codes</a></li>
+</ul>
+</li>
+<li><a href="#_known_issues">Known Issues</a>
+<ul class="sectlevel2">
+<li><a href="#_timeout_during_startup_due_to_firewall_settings">Timeout During Startup Due to Firewall Settings</a></li>
+<li><a href="#_timeout_during_startup_due_to_insufficient_resources">Timeout During Startup Due to Insufficient Resources</a></li>
+<li><a href="#_outofmemoryerror_permgen_space_running_on_sun_jvm">OutOfMemoryError: PermGen Space Running on Sun JVM</a></li>
+<li><a href="#_alternate_code_serviceability_code_and_code_work_code_directories">Alternate <code>serviceability</code> and <code>work</code> Directories</a></li>
+<li><a href="#_problem_deleting_installation_directory_under_windows">Problem Deleting Installation Directory under Windows</a></li>
+<li><a href="#_long_work_directory_paths_under_windows">Long Work Directory Paths under Windows</a></li>
+<li><a href="#_virgo_jetty_server_restrictions">Virgo Jetty Server Restrictions</a></li>
+<li><a href="#_shutdown_log_messages_in_telnet_shell">Shutdown Log Messages in Telnet Shell</a></li>
+</ul>
+</li>
+<li><a href="#_further_reading">Further Reading</a></li>
+</ul>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Rob Harrop<br>
+Paul Kuzan<br>
+Sam Brannen<br>
+Paul Harris<br>
+Christopher Frost<br>
+Ben Hale<br>
+Glyn Normington<br>
+Juliet Shackell<br>
+Steve Powell<br>
+Violeta Georgieva<br>
+Hristo Iliev<br>
+Borislav Kapukaranov<br>
+Florian Waibel</p>
+</div>
+<div class="imageblock" style="float: right">
+<div class="content">
+<img src="assets/images/virgo-logo-small.png" alt="Eclipse Virgo">
+</div>
+</div>
+<div class="paragraph">
+<p>Eclipse Virgo<br>
+3.7.0.RELEASE<br>
+Copyright © 2009, 2011 VMware Inc. and others</p>
+</div>
+<div class="paragraph">
+<p>Contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>VMware Inc. - initial contribution and subsequent updates</p>
+</li>
+<li>
+<p>Violeta Georgieva, SAP AG - Apache Tomcat configuration</p>
+</li>
+<li>
+<p>Hristo Iliev, SAP AG - Setting jmx.properties permissions</p>
+</li>
+<li>
+<p>Borislav Kapukaranov, SAP AG - Configuring framework extensions and fragments on system bundle; Added Virgo Nano references and tips</p>
+</li>
+</ul>
+</div>
+<hr>
+<div class="paragraph">
+<p><a id="introduction"></a></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction">Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This User Guide covers the Virgo for Apache Tomcat (VTS), the Virgo Jetty Server
+(VJS) and the Virgo Kernel (VK), although it emphasises the
+VTS since that is likely to apply to more users.</p>
+</div>
+<div class="sect2">
+<h3 id="_a_note_for_virgo_kernel_users">A Note for Virgo Kernel Users</h3>
+<div class="paragraph">
+<p>Virgo Kernel users can be reassured that the majority of the information
+in this Guide is directly applicable to the Virgo Kernel and they can simply ignore the web-related sections.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_a_note_for_virgo_jetty_server_users">A Note for Virgo Jetty Server Users</h3>
+<div class="paragraph">
+<p>Virgo Jetty Server users can be reassured that the majority of the information
+in this Guide is directly applicable to the Virgo Jetty Server and they can simply ignore the Virgo for Apache Tomcat specific sections.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_a_note_for_virgo_nano_users">A Note for Virgo Nano Users</h3>
+<div class="paragraph">
+<p>Virgo Nano is a bit different than VK and VTS.
+It is the smallest Virgo offering and takes performance to its limits, almost instantly booting up.
+Virgo Nano users will find a number of sections in this guide useful but sections that refer to
+<strong>plans, PARs and configuration deployment, regions, application scoping and libraries support</strong>
+are NOT relevant for Virgo Nano or VN and should be ignored.
+This Virgo distribution relies on p2 for its provisioning, therefore is bound to p2 concepts such as <strong>p2 features and update sites</strong>.
+Note also that Virgo Nano includes Gemini.Web as its default web container implementation and uses its default configuration.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_concepts">Concepts</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This chapter introduces some basic concepts that will help you to use Virgo.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.modular"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_modular_runtimes_and_applications">Modular Runtimes and Applications</h3>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat, Virgo Jetty Server, Virgo Kernel and Virgo Nano are Java runtimes each composed of
+a collection of modules and supporting applications which are also composed of a
+collection of modules.
+Modules can be shared between applications and multiple versions of modules
+can co-exist.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.osgi"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_osgi_concepts">OSGi Concepts</h3>
+<div class="paragraph">
+<p>Modules in Virgo are represented using a standard Java
+module system known as <strong>OSGi</strong>.
+Modules in OSGi are known as <strong>bundles</strong>.
+Bundles consist of programs and resources organised by Java package together
+with metadata which declares imported and exported packages.
+A bundle <strong>exports</strong> a package to make the corresponding programs and resources
+available for use by other bundles.
+A bundle <strong>imports</strong> a package to use the corresponding programs and resources of
+another bundle.</p>
+</div>
+<div class="paragraph">
+<p>Representing a program as a collection of bundles makes it easier for the
+programmer to manage it and modify it and for teams of programmers to divide
+responsibilities between themselves.
+A bundle is similar to a Java class in this respect. Design principles similar to those for
+organising data and programs into classes can be applied
+to organising applications into bundles.</p>
+</div>
+<div class="paragraph">
+<p>An industry consortium known as the
+<strong>OSGi Alliance</strong> develops OSGi
+specifications, reference implementations, and compliance tests.
+Virgo is built on the Equinox OSGi framework which is also
+the reference implementation for the OSGi framework specification.</p>
+</div>
+<div class="sect3">
+<h4 id="_bundles">Bundles</h4>
+<div class="paragraph">
+<p>Each bundle is stored in a file which conforms to the JAR file format and
+can contain Java classes, a manifest (in <code>META-INF/MANIFEST.MF</code>),
+and further resource files.</p>
+</div>
+<div class="paragraph">
+<p>The OSGi framework enables bundles to be installed and run.</p>
+</div>
+<div class="paragraph">
+<p>OSGi identifies bundles "by name" and "by identifier" (id).</p>
+</div>
+<div class="paragraph">
+<p>The <strong>symbolic name</strong> and
+<strong>version</strong> of a bundle are attributes of the bundle which identify the bundle.
+A bundle declares its <strong>symbolic name</strong> and <strong>version</strong>
+in its manifest (a file called <code>MANIFEST.MF</code>) like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Bundle-SymbolicName: org.foo.bundle
+Bundle-Version: 1.2.3.BUILD-2009-06-04</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Additionally, the OSGi framework
+assigns a distinct number, known as a <strong>bundle id</strong>, to each bundle
+as it is installed. Bundles may be referred to "by identifier" using this number.
+The OSGi framework itself resides in a
+bundle with bundle id <code>0</code>.</p>
+</div>
+<div class="paragraph">
+<p>The dependencies between bundles are expressed statically in terms of packages and
+dynamically in terms of services. A package is familiar to Java programmers.
+For example, a Java program may depend on a class <code>org.foo.X</code>,
+from package <code>org.foo</code>, and a bundle
+containing that program
+would either need to contain <code>org.foo.X</code> or depend on the
+package <code>org.foo</code>.
+Package dependencies are specified in the bundle manifest, for example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Import-Package: org.foo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A bundle which provides a package for use by other bundles <strong>must</strong>
+export the package in its manifest. For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Export-Package: org.foo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The OSGi framework ensures that a given bundle’s package dependencies
+can be <strong>satisfied</strong> before the bundle runs. This process is known as
+<strong>resolution</strong>.</p>
+</div>
+<div class="paragraph">
+<p>After a bundle is resolved, its classes and resources are available for
+loading.
+In OSGi, bundles and their packages do not appear on the application classpath.
+Instead, each bundle has a class loader which loads its own classes and loads classes belonging to each of its
+imported packages by deferring to the bundle class loader that exports the package.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_life_cycle">Life Cycle</h4>
+<div class="paragraph">
+<p>The OSGi framework manages the <strong>life cycle</strong> of each bundle. A bundle is
+first of all <strong>installed</strong> and will be in the INSTALLED state.
+If a request is made to <strong>start</strong> the bundle, the OSGi framework <strong>resolves</strong> the bundle
+and, if resolution was successful, will subsequently move the bundle to the ACTIVE state.
+If a request is made to <strong>stop</strong> the bundle, the OSGi framework will move the
+bundle back to the RESOLVED state. A request may then be made to <strong>uninstall</strong>
+the bundle.</p>
+</div>
+<div class="paragraph">
+<p>While the bundle is INSTALLED, ACTIVE or RESOLVED, it may be <strong>updated</strong> to pick up
+some changes. These changes are not detected by bundles which were depending
+on the bundle before it was updated.
+A "refresh packages" operation may be performed to ripple the
+changes out to those bundles. (See <a href="#concepts.services">Services concepts</a>.)
+The life cycle of a bundle can be summarised by a state transition diagram.
+This diagram shows some more of the intermediate states of a bundle not described in the overview above:</p>
+</div>
+<div class="paragraph">
+<div class="title">Bundle life cycle</div>
+<p><span class="image center"><img src="assets/images/concepts/bundle-lifecycle.png" alt="bundle lifecycle"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.services"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_services">Services</h4>
+<div class="paragraph">
+<p>Bundles may publish Java objects, known as <strong>services</strong>,
+to a registry managed by the OSGi framework. Other bundles running in
+the same OSGi framework can then find and use those services. Services
+are typically instances of some shared Java interface. A bundle which
+provides a service need not then export the package containing the
+<strong>implementation</strong>
+class of the service.</p>
+</div>
+<div class="paragraph">
+<p>For example, a bundle could export a package containing the interface
+<code>org.bar.SomeInterface</code>, thus:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">Export-Package: org.bar</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>…implement the interface with a class <code>SomeImpl</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-java" data-lang="java">package org.bar.impl;
+
+class SomeImpl implements SomeInterface {
+ …
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>…create an instance of <code>SomeImpl</code> and
+then publish this instance (as an instance of the interface <code>SomeInterface</code>).</p>
+</div>
+<div class="paragraph">
+<p>An OSGi framework publishes a number of standard services. For example, the
+<strong>Package Admin</strong> service provides the "refresh packages" life cycle operation
+mentioned above.</p>
+</div>
+<div class="paragraph">
+<p>OSGi provides an <strong>API</strong> which can be used to publish and find services,
+but it is much simpler to use Blueprint to accomplish this. (See <a href="#concepts.blueprint">Gemini Blueprint</a>.)</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_versioning">Versioning</h4>
+<div class="paragraph">
+<p>OSGi allows different versions of bundles, packages, and several
+other entities, to co-exist in the same framework
+and provides some mechanisms for managing these versions.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_version_numbers">Version Numbers</h4>
+<div class="paragraph">
+<p>An OSGi <strong>version number</strong> consists of up to three numeric components,
+or exactly three
+numeric components followed by a string component. These components are
+separated by a period (“.”) and
+are called the <strong>major</strong>, <strong>minor</strong>, <strong>micro</strong>,
+and <strong>qualifier</strong> components, respectively.</p>
+</div>
+<div class="paragraph">
+<p>For example, the version <code>2.4.1.ga</code> has major component <code>2</code>, minor component
+<code>4</code>, micro component <code>1</code>,
+and a qualifier component <code>ga</code>. (There are restrictions on the characters that can appear in
+a qualifier. For example: letters, digits, underscores and hyphens are allowed; periods and commas are not.)</p>
+</div>
+<div class="paragraph">
+<p>Trailing components may be omitted along with their period (<code>.</code>). So, for example, the version
+numbers <code>2</code>, <code>2.0</code>, and <code>2.0.0</code>
+all denote the same version. This example demonstrates that <code>0</code> is assumed if a numeric component is omitted,
+and the empty string is assumed for an omitted qualifier.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_version_ranges">Version Ranges</h4>
+<div class="paragraph">
+<p>Dependencies on bundles and packages have an associated <strong>version range</strong>
+which is specified using an interval notation: a square bracket
+“[” or “]” denotes
+an <strong>inclusive</strong> end of the range and a round bracket
+“(” or “)” denotes
+an <strong>exclusive</strong> end of the range. Where one end of the range is to be included and the other excluded, it is permitted to
+pair a round bracket with a square bracket.
+The examples below make this clear.</p>
+</div>
+<div class="paragraph">
+<p>If a single version number is used where a version <strong>range</strong> is
+required this does <strong>not</strong> indicate a single version, but the range <strong>starting</strong> from that version and
+including all higher versions.</p>
+</div>
+<div class="paragraph">
+<p>There are three common cases:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A "strict" version range, such as <code>[1.2,1.2]</code>, which
+denotes that version and only that version.</p>
+</li>
+<li>
+<p>A "half-open" range, such as
+<code>[1.2,2)</code>, which has an inclusive lower limit
+and an exclusive upper limit, denoting version <code>1.2.0</code> and any version after this, up
+to, <strong>but not including</strong>, version <code>2.0.0</code>.</p>
+</li>
+<li>
+<p>An "unbounded" version range, such as <code>1.2</code>, which
+denotes version <code>1.2</code> and <strong>all</strong> later versions.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_versioning_policies">Versioning Policies</h4>
+<div class="paragraph">
+<p>A <strong>versioning policy</strong> is a way of using version numbers to indicate compatible
+and incompatible changes.
+OSGi does not mandate a particular versioning policy.
+Instead, a specific versioning policy may be implemented using version ranges.
+Strict and half-open version ranges are most useful in representing versioning
+policies.
+Unbounded version ranges can lead to problems as they (unrealistically) assume that
+compatibility will be preserved indefinitely.</p>
+</div>
+<div class="paragraph">
+<p>For example, a conservative versioning policy might assume that any change, other than
+in the qualifier component of a version, implies an incompatible
+change to the object.
+Such a policy would employ version ranges such as <code>[1.2.1.beta,1.2.2)</code>
+which accept any version from <code>1.2.1.beta</code> (inclusive) up to but not including
+<code>1.2.2</code> (exclusive).</p>
+</div>
+<div class="paragraph">
+<p>Alternatively, a relaxed versioning policy might assume that only changes in the major component of
+a version denote an incompatible change.
+Such a policy would employ version ranges such as <code>[1.2,2)</code> to capture this.</p>
+</div>
+<div class="paragraph">
+<p>The OSGi Alliance has published a <a href="http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf">Semantic
+Versioning white paper</a> which provides some recommendations and guidance on versioning policies.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_bundle_version">Bundle Version</h4>
+<div class="paragraph">
+<p>Each bundle has a version.
+The bundle’s version may be specified in the manifest using a
+<code>Bundle-Version</code> header:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Bundle-Version: 1.4.3.BUILD-20090302</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If not specified the bundle version is assumed to be <code>0</code>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_package_version">Package Version</h4>
+<div class="paragraph">
+<p>Each exported package has a version.
+The exported package’s version may be specified on the Export-Package manifest header. For example</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Export-Package: org.foo;version="2.9",org.bar;version="1"</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>exports two packages: <code>org.foo</code>, at version <code>2.9.0</code> and
+<code>org.bar</code>, at version <code>1.0.0</code>.</p>
+</div>
+<div class="paragraph">
+<p>If the version attribute is omitted, the version is assumed to be <code>0</code>.</p>
+</div>
+<div class="paragraph">
+<p>Each package <strong>import</strong> has a version <strong>range</strong>.
+The package import version range may be specified on the <code>Import-Package</code> manifest header.
+If interval notation is used, the version range must be enclosed in double quotes, for example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Import-Package: org.foo;version="[2,3)",org.bar;version="[1,1]"</programlisting></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>seeks to import a package <code>org.foo</code> in the range <code>[2.0.0,3.0.0)</code> and a package
+<code>org.bar</code> with the (exact) version <code>1.0.0</code>.</p>
+</div>
+<div class="paragraph">
+<p>If a version range is not specified on an import, the range <code>0</code> is assumed, meaning that
+any version of this package would satisfy the import.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_bundle_manifest_version">Bundle Manifest Version</h4>
+<div class="paragraph">
+<p>Bundle manifests have a version which is <code>1</code> by default,
+indicating OSGi Release 3 semantics.
+Virgo is based on OSGi Release 4 and therefore expects bundle manifests to be
+at version <code>2</code>, indicating OSGi Release 4 semantics.
+The bundle manifest’s version should be specified on the Bundle-ManifestVersion manifest header, exactly as follows:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Bundle-ManifestVersion: 2</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_manifest_version">Manifest Version</h4>
+<div class="paragraph">
+<p>Manifests themselves also have a version which <strong>must</strong> be specified as <code>1.0</code>.
+This is not an OSGi definition but part of the
+(<a href="http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html">JAR file specification</a>).</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Manifest-Version: 1.0</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="concepts.blueprint"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_blueprint_concepts">Blueprint Concepts</h3>
+<div class="paragraph">
+<p>Spring DM (the predecessor of Gemini Bluprint) is a project which enables <strong>services</strong> to be published and consumed
+using descriptions written in XML.</p>
+</div>
+<div class="paragraph">
+<p>The XML descriptions reside in files with extension <code>.xml</code> in the
+bundle’s <code>META-INF/spring</code> sub-directory.</p>
+</div>
+<div class="paragraph">
+<p>To publish a service, an <code><osgi:service></code> tag is used, specifying the
+implementation class of the service and the interface class to be used.
+Spring DM constructs an instance of the implementation class and
+publishes that instance in the OSGi service registry under the interface when the bundle is started.</p>
+</div>
+<div class="paragraph">
+<p>To consume a service, an <code><osgi:reference></code> tag is used and the
+service may be passed into other Spring beans using Spring’s dependency
+injection facilities.</p>
+</div>
+<div class="paragraph">
+<p>Spring DM automatically creates proxies for OSGi services so that the actual service
+object may come and go at runtime.
+If a service disappears, any proxies to the service will wait for the service to re-appear.
+This effect is known as <strong>damping</strong>.</p>
+</div>
+<div class="paragraph">
+<p>When a bundle is started, Spring DM builds the application contexts
+specified by the XML descriptions, creates proxies for the specified services, and publishes
+the specified services to the OSGi service registry.</p>
+</div>
+<div class="paragraph">
+<p>When a bundle is stopped, Spring DM retracts any services it published on behalf of the bundle
+and closes the bundle’s application contexts.
+Virgo turns off damping of a service proxy while the proxy’s application context
+is being closed.</p>
+</div>
+<div class="paragraph">
+<p>Spring DM was contributed to Eclipse as the <strong>Gemini Blueprint</strong> project.
+Virgo has Gemini Blueprint built-in.</p>
+</div>
+<div class="paragraph">
+<p>Gemini Blueprint supports both Spring DM and Blueprint programming models.
+Blueprint, known formally as the "OSGi Blueprint Container", provides some of the basic facilities of Spring DM,
+including all those just mentioned, but in an OSGi standard form.
+See <a href="#furtherreading">Further Reading</a> for the Blueprint specification.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.virgo"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_virgo_concepts">Virgo Concepts</h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section is not relevant for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="concepts.repositories"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_the_provisioning_repository">The Provisioning Repository</h4>
+<div class="paragraph">
+<p>The Virgo provisioning repository contains artifacts and metadata indexed by the artifact type, name, and version. There are three kinds of repository: <strong>external</strong>, <strong>watched</strong>, and <strong>remote</strong>. Repositories are passive in the sense that changes to repository content do not cause artifacts to be deployed into Virgo, refreshed, or undeployed.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_artifact_types">Artifact Types</h4>
+<div class="paragraph">
+<p>In addition to the standard OSGi bundle, artifact types in Virgo include configuration (properties file), PAR, plan, and library.
+PARs, plans, and libraries are discussed in <a href="#concepts.grouping">Grouping Bundles</a>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_external_repositories">External Repositories</h4>
+<div class="paragraph">
+<p>External repositories are created by scanning a directory which contains artifacts, possibly in nested directories. The repository configuration specifies a pattern which
+says which files should be treated as artifacts. After the repository is created, changes to the directory do not affect the repository content.</p>
+</div>
+<div class="paragraph">
+<p>Virgo’s default repository configuration, in <code>configuration/org.eclipse.virgo.repository.properties</code>, specifies an external repository created from the
+<code>repository/ext</code> directory.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_watched_repositories">Watched Repositories</h4>
+<div class="paragraph">
+<p>Watched repositories are created by scanning a directory which contains artifacts but no nested directories. All files in the directory are treated as artifacts.
+The directory is re-scanned periodically and the interval between re-scans is specified in the repository configuration.
+The directory is also re-scanned when an artifact is deployed into Virgo.
+Changes detected by re-scanning are reflected in the repository content. Note that changing the content of a watched repository does not cause artifacts to be deployed
+into Virgo, refreshed, or undeployed.</p>
+</div>
+<div class="paragraph">
+<p>Virgo’s default repository configuration specifies a watched repository based on the contents of the <code>repository/usr</code> directory.</p>
+</div>
+<div class="sect4">
+<h5 id="_remote_repositories">Remote Repositories</h5>
+<div class="paragraph">
+<p>A remote repository refers to a repository hosted by a Virgo instance sometimes known as a <strong>repository server</strong>.
+The hosted repository is configured using the file <code>configuration/org.eclipse.virgo.apps.repository.properties</code> and may be either an external or a watched
+repository.</p>
+</div>
+<div class="paragraph">
+<p>The remote repository is accessed by a Virgo instance sometimes known as a <strong>repository client</strong>.
+The repository client is normally a different instance of Virgo to the instance hosting the repository, but it can be the same instance (which is handy for
+testing). The remote repository periodically downloads its index from the hosted repository. The period between downloads may be configured in the repository
+configuration. The remote repository also caches artifacts which have secure hashes associated with them in the hosted repository. Only bundles currently have secure
+hashes associated with them. The secure hash is used to determine when a cached artifact is stale and needs to be freshly downloaded.</p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_repository_chains">Repository Chains</h4>
+<div class="paragraph">
+<p>The Virgo repository is configured as a <strong>chain</strong> of external, watched, and remote repositories.
+The chain is a list which is searched in the configured order.
+The effect of this search order is that an artifact with a given type, name, and version which appears in more than one repository in the chain is only accessed from the
+first repository in the chain in which it appears. Abstractly, the repository chain behaves as a single repository, but its content may mutate in quite a different way to
+the content of an individual external, watched, or remote repository.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.grouping"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_grouping_bundles">Grouping Bundles</h4>
+<div class="paragraph">
+<p>Virgo provides a way of grouping together a collection
+of OSGi bundles and other artifacts which comprise a single application.
+These artifacts are placed in a JAR file with extension “.par”. This is called a PAR file.</p>
+</div>
+<div class="paragraph">
+<p>All the bundles in a PAR file are resolved together and so mutual dependencies are permitted.</p>
+</div>
+<div class="paragraph">
+<p>At runtime a PAR file provides a <strong>scope</strong> in the sense that bundles
+inside the PAR file may depend on packages and services outside the PAR file,
+but bundles outside the PAR file may not depend on packages and services
+provided by the PAR file.</p>
+</div>
+<div class="paragraph">
+<p>Virgo also provides the plan artifact as another way of grouping bundles and other artifacts into an application.
+A <strong>plan</strong> is a file (in XML format) listing a collection of artifacts.
+The artifacts referred to by a plan reside in the Virgo provisioning repository.</p>
+</div>
+<div class="paragraph">
+<p>In addition to PARs and plans, which are used for deploying groups of artifacts, Virgo provides libraries as a way of grouping together a collection
+of bundles that can then be imported into an application using the Virgo-specific <code>Import-Library</code> manifes header.</p>
+</div>
+<div class="paragraph">
+<p><a id="kernel.user.region"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_kernel_and_user_region">Kernel and User Region</h4>
+<div class="paragraph">
+<p>Conceptually, VTS can be divided into two separate subsystems, one of which actually encompases the other:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The <strong>kernel</strong>, which is the heart of VTS. It makes up most of VTS, except for the part that supports Web applications. In other words, the kernel provides full OSGi modular support for your applications, as long as they are not Web-based.
+See <a href="#kernel-overview">The Virgo Kernel</a> for additional information.</p>
+</li>
+<li>
+<p>The <strong>user region</strong> is the subsystem that manages user applications. It deliberately isolates the kernel from both your applications and those of the VTS itself, such as the Admin Console, which protects the kernel from interference by applications.
+See <a href="#user-region-overview">The User Region</a> for additional information.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>When you download and install Virgo for Apache Tomcat you get both the kernel and web server support (configured in the user region). You can also <a href="http://www.eclipse.org/virgo/download/">download and use the kernel</a> on its own if you do not plan on deploying Web applications or using the
+web-based Admin Console and you’ll get the kernel and a minimal user region (with no web support).</p>
+</div>
+<div class="paragraph">
+<p>The following graphic shows how the kernel and user region make up VTS:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/kernel-user-region.png" alt="kernel user region"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="kernel-overview"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_the_virgo_kernel">The Virgo Kernel</h4>
+<div class="paragraph">
+<p>The Virgo Kernel encapsulates almost all of VTS except for the deployment of Web applications. In sum, the kernel provides the following VTS features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Deployment of non-Web artifacts, such as OSGi bundles, PARs, plans,
+and configuration artifacts.</p>
+</li>
+<li>
+<p>Local and hosted repositories</p>
+</li>
+<li>
+<p>Scoping</p>
+</li>
+<li>
+<p>Hot deployment</p>
+</li>
+<li>
+<p>User region</p>
+</li>
+<li>
+<p>Auto-provisioning</p>
+</li>
+<li>
+<p>System and application tracing and dump support</p>
+</li>
+<li>
+<p>Spring beans and Blueprint support</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>See <a href="#configuring">Configuring VTS</a> for details about configuring the kernel to better suit your environment.</p>
+</div>
+<div class="paragraph">
+<p><a id="user-region-overview"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_the_user_region">The User Region</h4>
+<div class="paragraph">
+<p>The user region isolates the kernel from deployed applications,
+including both your own user applications and the user-oriented
+VTS applications such as the Admin Console. This means
+that the kernel is mostly invisible to applications and to application
+management. This is because most of the kernel bundles are not
+installed in the user region (apart from a few needed for region
+management). The necessary function to support the kernel runs in the
+OSGi framework, but the user region applications cannot see it, except
+for the services that are normally offered.</p>
+</div>
+<div class="paragraph">
+<p>This isolation has many benefits. For example, it is not necessary for the kernel and user applications to use the same version of the Spring Framework. In fact the kernel installs only those parts of the Spring Framework that it needs. If you update the kernel, it is far less likely that you will also need to upgrade or adjust the applications to accomodate a new version of the kernel. The kernel implementation is therefore much more stable and resilient and applications are much more likely to survive kernel upgrades between releases.
+When you install VTS, the kernel creates a single user region.
+The kernel and the user region are configured independently of each other; see <a href="#configuring">Configuring VTS</a> for details.</p>
+</div>
+<div class="paragraph">
+<p>Finally, the isolation provided by the user region together with scoped applications and plans solve common dependency problems that occur when using OSGi.</p>
+</div>
+<div class="paragraph">
+<p><a id="concepts.p2"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_p2_concepts">p2 Concepts</h3>
+<div class="paragraph">
+<p>At EclipseCon 2011 there was a great introductory presentation on p2. It gives a nice overview of the whole provisioning system.
+You can find it recorded <a href="http://fosslc.org/drupal/content/gentle-introduction-p2">here(video).</a></p>
+</div>
+<div class="paragraph">
+<p><a href="http://bkapukaranov.wordpress.com/2011/07/12/rt-meets-p2/">This blog post</a>
+provides some background on why p2 was created as well as a brief overview of what p2 repositories
+are and how this relates to a runtime.</p>
+</div>
+<div class="paragraph">
+<p>This <a href="http://www.slideshare.net/PascalRapicault/understanding-and-extending-p2-for-fun-and-profit">presentation(slides only)</a>
+sheds light on more advanced p2 features and turns our attention to its extension points.</p>
+</div>
+<div class="paragraph">
+<p>Finally, the <a href="http://wiki.eclipse.org/Equinox/p2">p2 wiki</a>
+also provides both getting started guides as well as information on more advanced features.</p>
+</div>
+<div class="paragraph">
+<p><a id="using-the-p2-director"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_the_p2_director">Using the p2 director</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="prereqs"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_prerequisites">Prerequisites</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat, or VTS for short, requires Java SE 6 or later to be installed. Java is available from
+<a href="http://www.java.com/">http://www.java.com/</a> and elsewhere.</p>
+</div>
+<div class="paragraph">
+<p>Since you’re going to use the p2 director you’ll need to get it. The easiest way is to download Eclipse from <a href="http://www.eclipse.org/downloads/">here</a>.
+It has built-in p2 director and other p2 applications.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Setting the Target Platform</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Before using the director make sure you have a proper target platform set. Otherwise you may not see the director application. Here’s how to do that:
+Go to Eclipse’s Preferences→Plug-in Development→Target Platform. Below is shown how the view looks like when a default target platform is set.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/target-platform-view.png" alt="target platform view"></span></p>
+</div>
+<div class="paragraph">
+<p>If for some reason you don’t have any target platform set or it’s not the default one you must set the default target platform from the image above.
+If the default target platform is missing then add a new one via the <strong>Add…​</strong> button and select the <strong>Default</strong> radio button as shown below:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/default-target-create.png" alt="default target create"></span></p>
+</div>
+<div class="paragraph">
+<p>You can now click <strong>Next</strong> and then <strong>Finish</strong>.</p>
+</div>
+<div class="paragraph">
+<p><a id="using-director"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_with_the_p2_director_from_eclipse">Installing with the p2 director from Eclipse</h3>
+<div class="paragraph">
+<p>This section covers briefly using the p2 director for installing.
+A helpful page is the p2 director’s <a href="http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_director.html">documentation at help.eclipse.org</a>.
+There you can find more information on the different supported arguments.</p>
+</div>
+<div class="paragraph">
+<p>Here’s how to use the GUI version of the director built-in Eclipse.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Go to the <strong>Run</strong> context menu and select <strong>Run Configurations</strong></p>
+</li>
+<li>
+<p>Create a new one and choose the director application as shown below, then switch to the <strong>Arguments</strong> tab</p>
+</li>
+</ol>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>In the image below the "Location:" text box’s value is managed by your IDE, don’t type anything in there.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/run_configuration.png" alt="run configuration"></span></p>
+</div>
+<div class="paragraph">
+<p>In the <strong>Program Arguments</strong> section append the director arguments. Here’s an example I used:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>-repository <yourP2repo>
+-installIU nano.product
+-tag InitialState
+-destination /Users/<youruser>/install/virgo
+-profile VirgoProfile
+-roaming
+-p2.os ${target.os}
+-p2.ws ${target.ws}
+-p2.arch ${target.arch}</pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The <strong>-repository</strong> argument accepts any valid p2 repository.
+The <strong>-destination</strong> argument accepts any valid absolute location. It defines the location where your Virgo installation will be provisioned.
+If the directory does not exist, it will be created by the director.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>These arguments produce a Virgo Nano installation. For the <strong>p2.</strong>* arguments use the same properties from the example above. Eclipse will substitute them later with real values.</p>
+</div>
+<div class="paragraph">
+<p>The passed value for <strong>-installIU</strong> determines which Virgo product is going to be installed. Here’s a list of all Virgo product install IUs:
+<strong>nano.product</strong> - Virgo Nano
+<strong>nano-full.product</strong> - Virgo Nano Full (VN ` p2 ` GW)
+<strong>kernel.product</strong> - Virgo Kernel
+<strong>tomcat-server.product</strong> - Virgo for Apache Tomcat
+<strong>jetty-server.product</strong> - Virgo Jetty Server</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/director_args.png" alt="director args"></span></p>
+</div>
+<div class="paragraph">
+<p>Finally, run the created configuration. You should see the following output in Eclipse’s Console</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/director_result.png" alt="director result"></span></p>
+</div>
+<div class="paragraph">
+<p><a id="installation"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installing_virgo_for_apache_tomcat">Installing Virgo for Apache Tomcat</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="installation-prereqs"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_prerequisites_2">Prerequisites</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat, or VTS for short, requires Java SE 6 or later to be installed. Java is available from
+<a href="http://www.java.com/">http://www.java.com/</a> and elsewhere.</p>
+</div>
+<div class="paragraph">
+<p>In case you are installing via a p2 director you’ll need to get it. The easiest way is to download Eclipse from <a href="http://www.eclipse.org/downloads/">here</a>.
+It has built-in p2 director and other p2 applications.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-zip"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_the_zip_download">Installing from the ZIP Download</h3>
+<div class="sect3">
+<h4 id="_downloading_the_zip_file">Downloading the ZIP file</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat is distributed as a ZIP file. This can be downloaded from
+<a href="http://www.eclipse.org/virgo/download/">here</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-zip-installing"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing">Installing</h4>
+<div class="paragraph">
+<p><a id="installation-zip-installing-linux"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_linux">Linux</h5>
+<div class="paragraph">
+<p>To install Virgo for Apache Tomcat on Linux, unzip the distribution package to the desired installation directory.
+For example, to install into <code>/opt</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ unzip virgo-web-server-{version}.zip -d /opt</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This creates a directory called <code>virgo-web-server-3.7.0.RELEASE</code> under <code>/opt</code>.</p>
+</div>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat requires write access to the installation directory, in this case <code>/opt/virgo-web-server-3.7.0.RELEASE</code>.
+Typically this means it must be run as the user that installed it, or the installation directory’s ownership must be changed.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-zip-installing-win"></a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_microsoft_windows">Microsoft Windows</h5>
+<div class="paragraph">
+<p>To install the Virgo for Apache Tomcat on Windows, unzip the distribution package to the desired installation directory.
+You should use a zip application such as 7zip, not the built-in folder decompression. Note that both Windows and
+Java have some issues with long file names and file paths, so we recommend installing to the root directory of
+your chosen drive.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-updatesite"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_an_update_site">Installing from an update site</h3>
+<div class="sect3">
+<h4 id="_the_repository_location">The repository location</h4>
+<div class="paragraph">
+<p>Virgo has a single p2 repository that contains all Virgo distributions. The repository for version 3.7.0.RELEASE can be found {p2repo}[here].
+There is a repository for each released version.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_the_p2_director_2">Using the p2 director</h4>
+<div class="paragraph">
+<p>As shown in <a href="#using-director">Installing with the p2 director from Eclipse</a> you can easily install VTS in a desired destination.
+The only director argument that needs to be adjusted is <strong>-installIU</strong>.</p>
+</div>
+<div class="paragraph">
+<p>For VTS the right value is <strong>tomcat-server.product</strong>.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_post_installation_steps">Post-installation steps</h3>
+<div class="paragraph">
+<p><a id="installation-post-env"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_set_environment_variable_variables">Set environment variable variables</h4>
+<div class="paragraph">
+<p><a id="installation-post-env-java"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_java_home">JAVA_HOME</h5>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat uses the <code>JAVA_HOME</code> environment variable to locate the <code>java</code>
+executable. Configure this environment variable to point to the home directory of the Java 6 installation on your computer.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post-env-server"></a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_server_home">SERVER_HOME</h5>
+<div class="paragraph">
+<p>As a convenience it is recommended that you create an environment variable that points
+to the Virgo for Apache Tomcat installation directory. Note that the Virgo for Apache Tomcat does not require that
+such an environment variable has been set. This variable may have any name of your
+choosing. The Virgo for Apache Tomcat’s documentation assumes that the variable is named
+<code>SERVER_HOME</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post-env-server-linux"></a></p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_linux_2">Linux</h4>
+<div class="paragraph">
+<p>Edit the <code>.profile</code> file in your home directory to
+add the <code>SERVER_HOME</code> and <code>JAVA_HOME</code> environment variables. For
+example, if you installed into <code>/opt</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ export SERVER_HOME=/opt/virgo-web-server-{version}/
+$ export JAVA_HOME=/user/java/jdk1.6.0_17
+$ export PATH=$JAVA_HOME/bin:$PATH</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To verify the setting of <code>JAVA_HOME</code>, issue the command <code>$JAVA_HOME/bin/java -version</code> from a new terminal window
+and ensure that the command completes successfully and reports
+a Java version <code>1.6.</code><strong>x</strong> (denoting Java 6) or greater.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post-env-server-win"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_2">Microsoft Windows</h4>
+<div class="paragraph">
+<p>This section shows how to add <code>SERVER_HOME</code> as a system variable on Windows. Follow the same procedure to add or update the <code>JAVA_HOME</code> environment variable.</p>
+</div>
+<div class="paragraph">
+<p>From the Start menu, open the Control Panel and double-click on ‘System'.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/system-props.png" alt="system props"></span></p>
+</div>
+<div class="paragraph">
+<p>Click the 'Advanced' tab and select 'Environment Variables'. Next,
+click the 'New' button in the 'System Variables' section.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/env-variables.png" alt="env variables"></span></p>
+</div>
+<div class="paragraph">
+<p>This will display the ‘New System Variable' window. Enter
+<code>SERVER_HOME</code> as the ‘Variable name' and
+the installation directory as the ‘Variable value'. Click OK.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/system-variable.png" alt="system variable"></span></p>
+</div>
+<div class="paragraph">
+<p>To verify the setting of <code>JAVA_HOME</code>, issue the command <code>"%JAVA_HOME%"\bin\java -version</code> from
+a new command prompt and ensure that the command completes successfully and reports
+a Java version <code>1.6.</code><strong>x</strong> (denoting Java 6) or greater.</p>
+</div>
+<div class="paragraph">
+<p><a id="installation-post-env-server-win-troubleshooting"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_microsoft_windows_troubleshooting_security_permissions">Microsoft Windows - Troubleshooting Security Permissions</h5>
+<div class="paragraph">
+<p>When starting Virgo for Apache Tomcat on some variants of Windows you might encounter a problem with file permissions.
+The error looks like this.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>WARNING: jmxPermissions.vbs did not update the permissions of C:\virgo\configuration\org.eclipse.virgo.kernel.jmxremote.access.properties. Check the file has the correct permissions.</screen></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If VTS starts correctly (see <a href="#starting-stopping">[starting-stopping]</a>) you can skip this section and carry on. However to secure your
+installation you have to set correct permissions. To do so, go to the ‘configuration' directory of the installation
+in Windows Explorer.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/install-windows-1-FileListing.png" alt="install windows 1 FileListing"></span></p>
+</div>
+<div class="paragraph">
+<p>Right click on the 'org.eclipse.virgo.kernel.jmxremote.access.properties' file and view its properties,
+then select the 'Security' tab. Remove all groups and users from the list and select 'Apply'.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/install-windows-2-SecuritySettings.png" alt="install windows 2 SecuritySettings"></span></p>
+</div>
+<div class="paragraph">
+<p>Within the security page select the ‘Advanced' options. On the ‘Owner' tab, choose the owner
+that you are trying to run the VTS as and select ‘Apply'.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/install-windows-3-AdvanceSettingsOwner.png" alt="install windows 3 AdvanceSettingsOwner"></span></p>
+</div>
+<div class="paragraph">
+<p>Once this is done select ‘OK' to return to the ‘Security' tab
+and now add the owner to the list of groups and users that have permission to access the file.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/install-windows-4-AllSetReadAndExecute.png" alt="install windows 4 AllSetReadAndExecute"></span></p>
+</div>
+<div class="paragraph">
+<p>Once all these steps are complete you can proceed to start the VTS.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:\dev\virgo-web-server-{version}>bin\startup.bat
+[2009-12-08 13:09:09.545] startup-tracker <KE0001I> Kernel starting.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="kernel-installation"></a></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installing_virgo_kernel">Installing Virgo Kernel</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="kernel-installation-prereqs"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_prerequisites_3">Prerequisites</h3>
+<div class="paragraph">
+<p>The Virgo Kernel, or VK for short, requires Java SE 6 or later to be installed. Java is available from
+<a href="http://www.java.com/">http://www.java.com/</a> and elsewhere.</p>
+</div>
+<div class="paragraph">
+<p>anchor:kernel-installation-zip</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_the_zip_download_2">Installing from the ZIP Download</h3>
+<div class="sect3">
+<h4 id="_downloading_the_zip_file_2">Downloading the ZIP file</h4>
+<div class="paragraph">
+<p>Virgo Kernel is distributed as a ZIP file. This can be downloaded from
+<a href="http://www.eclipse.org/virgo/download/">here</a>.</p>
+</div>
+<div class="paragraph">
+<p>anchor:kernel-installation-zip-installing</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing_2">Installing</h4>
+<div class="paragraph">
+<p><a id="kernel-installation-zip-installing-linux"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_linux_3">Linux</h5>
+<div class="paragraph">
+<p>To install the Virgo Kernel on Linux, unzip the distribution package to the desired installation directory.
+For example, to install into <code>/opt</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ unzip virgo-kernel-{version}.zip -d /opt</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This creates a directory called <code>virgo-kernel-3.7.0.RELEASE</code> under <code>/opt</code>.</p>
+</div>
+<div class="paragraph">
+<p>Virgo Kernel requires write access to the installation directory, in this case <code>/opt/virgo-kernel-3.7.0.RELEASE</code>.
+Typically this means it must be run as the user that installed it, or the installation directory’s ownership must be changed.</p>
+</div>
+<div class="paragraph">
+<p><a id="kernel-installation-zip-installing-win"></a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_microsoft_windows_3">Microsoft Windows</h5>
+<div class="paragraph">
+<p>To install the Virgo Kernel on Windows, unzip the distribution package to the desired installation directory.
+You should use a zip application such as 7zip, not the built-in folder decompression. Note that both Windows and
+Java have some issues with long file names and file paths, so we recommend installing to the root directory of
+your chosen drive.</p>
+</div>
+<div class="paragraph">
+<p><a id="kernel-installation-updatesite"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_an_update_site_2">Installing from an update site</h3>
+<div class="sect3">
+<h4 id="_the_repository_location_2">The repository location</h4>
+<div class="paragraph">
+<p>Virgo has a single p2 repository that contains all Virgo distributions. The repository for version 3.7.0.RELEASE can be found {p2repo}[here].
+There is a repository for each released version.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_the_p2_director_3">Using the p2 director</h4>
+<div class="paragraph">
+<p>As shown in <a href="#using-director">Installing with the p2 director from Eclipse</a> you can easily install VK in a desired destination.
+The only director argument that needs to be adjusted is <strong>-installIU</strong>.</p>
+</div>
+<div class="paragraph">
+<p>For VK the right value is <strong>kernel.product</strong>.</p>
+</div>
+<div class="paragraph">
+<p><a id="kernel-installation-post"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_post_installation_steps_2">Post-installation steps</h3>
+<div class="paragraph">
+<p>Follow the same <a href="#installation-post">Post-installation steps</a> as for Virgo for Apache Tomcat.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installing_virgo_nano">Installing Virgo Nano</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="nano-installation-prereqs"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_prerequisites_4">Prerequisites</h3>
+<div class="paragraph">
+<p>The Virgo Nano, or VN for short, requires Java SE 6 or later to be installed. Java is available from
+<a href="http://www.java.com/">http://www.java.com/</a> and elsewhere.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-zip"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_the_zip_download_3">Installing from the ZIP Download</h3>
+<div class="sect3">
+<h4 id="_downloading_the_zip_file_3">Downloading the ZIP file</h4>
+<div class="paragraph">
+<p>Virgo Nano is distributed as a ZIP file. This can be downloaded from
+<a href="http://www.eclipse.org/virgo/download/">here</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-zip-installing"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing_3">Installing</h4>
+<div class="paragraph">
+<p><a id="nano-installation-zip-installing-linux"></a></p>
+</div>
+<div class="sect4">
+<h5 id="_linux_4">Linux</h5>
+<div class="paragraph">
+<p>To install the Virgo Nano on Linux, unzip the distribution package to the desired installation directory.
+For example, to install into <code>/opt</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ unzip virgo-nano-{version}.zip -d /opt</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This creates a directory called <code>virgo-nano-3.7.0.RELEASE</code> under <code>/opt</code>.</p>
+</div>
+<div class="paragraph">
+<p>Virgo Nano requires write access to the installation directory, in this case <code>/opt/virgo-nano-3.7.0.RELEASE</code>.
+Typically this means it must be run as the user that installed it, or the installation directory’s ownership must be changed.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-zip-installing-win"></a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_microsoft_windows_4">Microsoft Windows</h5>
+<div class="paragraph">
+<p>To install the Virgo Nano on Windows, unzip the distribution package to the desired installation directory.
+You should use a zip application such as 7zip, not the built-in folder decompression. Note that both Windows and
+Java have some issues with long file names and file paths, so we recommend installing to the root directory of
+your chosen drive.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-updatesite"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installing_from_an_update_site_3">Installing from an update site</h3>
+<div class="sect3">
+<h4 id="_the_repository_location_3">The repository location</h4>
+<div class="paragraph">
+<p>Virgo has a single p2 repository that contains all Virgo distributions. The repository for version 3.7.0.RELEASE can be found {p2repo}[here].
+There is a repository for each released version.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_the_p2_director_4">Using the p2 director</h4>
+<div class="paragraph">
+<p>As shown in <a href="#using-director">Installing with the p2 director from Eclipse</a> you can easily install VN in a desired destination.
+The only director argument that needs to be adjusted is <strong>-installIU</strong>.</p>
+</div>
+<div class="paragraph">
+<p>For VN the right value is <strong>nano.product</strong>.</p>
+</div>
+<div class="paragraph">
+<p><a id="nano-installation-post"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_post_installation_steps_3">Post-installation steps</h3>
+<div class="paragraph">
+<p>Follow the same <a href="#installation-post">Post-installation steps</a> as for Virgo for Apache Tomcat.</p>
+</div>
+<div class="paragraph">
+<p><a id="starting-stopping""></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_starting_and_stopping_virgo_for_apache_tomcat">Starting and Stopping Virgo for Apache Tomcat</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Starting and Stopping VTS</p>
+</div>
+<div class="sect2">
+<h3 id="_starting_virgo_for_apache_tomcat">Starting Virgo for Apache Tomcat</h3>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat run the <code>startup.sh</code> (Linux) or <code>startup.bat</code> (Windows) script.
+For both platforms, the script is located in the <code>SERVER_HOME/bin</code> directory.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This chapter applies to Virgo Nano too. Note that since VN
+has a single region you can ignore the console output from the user region and focus on the instructions.
+A successful startup of VN is as simple as that:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2011-12-28 11:41:31.528] startup-tracker <KE0001I> Kernel starting.
+[2011-12-28 11:41:31.602] startup-tracker <KE0002I> Kernel started.</pre>
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_linux_5">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat, open a terminal window and run <code>startup.sh</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh</screen></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Once Virgo for Apache Tomcat has started, the console will display a log message
+similar to the one shown below, along with other status messages:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-11-30 12:12:12.111] Thread-2 <UR0001I> User region ready.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The preceding message indicates that you can start using VTS.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_5">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat, open a command-window and run <code>startup.bat</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>c:> cd %SERVER_HOME%
+c:> bin\startup.bat</screen></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Once Virgo for Apache Tomcat has started, the console will display a log message
+similar to the one shown below, along with other status messages:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-11-30 12:12:12.111] Thread-2 <UR0001I> User region ready.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The preceding message indicates that you can start using VTS.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_starting_in_clean_mode">Starting in Clean Mode</h3>
+<div class="paragraph">
+<p>When you start Virgo for Apache Tomcat in clean mode, the startup script removes the <code>SERVER_HOME/work</code> directory (and hence all
+running applications) as well as all trace, log and dump files. It leaves the
+<code>SERVER_HOME/repository</code> and <code>SERVER_HOME/pickup</code> directories untouched,
+which means that any applications previously hot deployed will be automatically reinstalled.</p>
+</div>
+<div class="sect3">
+<h4 id="_linux_6">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat in clean mode, open a terminal window and run <code>startup.sh -clean</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -clean</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_6">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat in clean mode, open a command window and run <code>startup.bat -clean</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -clean</pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_starting_in_debug_mode">Starting in Debug Mode</h3>
+<div class="sect3">
+<h4 id="_linux_7">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat in debug mode, run
+<code>startup.sh</code> passing in the
+<code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -debug</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the debug agent listening on port
+<code>8000</code> which is the default remote debug port used
+by Eclipse. To start in debug mode with a specific port number, pass
+this in as the value for the <code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -debug 8001</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the debug agent listening on port
+<code>8001</code>. To start in debug mode and suspend the VM
+until a debugger attaches, pass in the <code>-suspend</code>
+argument along with the <code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -debug -suspend</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This starts the debug agent, but prevents Virgo for Apache Tomcat from actually
+starting until a debugger attaches to the agent. This can be useful
+when trying to diagnose problems that occur during startup.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_7">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat in debug mode, run
+<code>startup.bat</code> passing in the
+<code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -debug</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the debug agent listening on port
+<code>8000</code> which is the default remote debug port used
+by Eclipse. To start in debug mode with a specific port number, pass
+this in as the value for the <code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -debug 8001</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the debug agent listening on port
+<code>8001</code>. To start in debug mode and suspend the VM
+until a debugger attaches, pass in the <code>-suspend</code>
+argument along with the <code>-debug</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -debug -suspend</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This starts the debug agent, but prevents Virgo for Apache Tomcat from actually
+starting until a debugger attaches to the agent. This can be useful
+when trying to diagnose problems that occur during startup.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_starting_with_jmx_access_modifications">Starting with JMX Access Modifications</h3>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat always starts with JMX access enabled, allowing you to use a management tool such as JConsole
+to attach to the Web Server instance.
+By default both local access and remote access over SSL with username and password
+authentication are provided. The default port for secure JMX access is <code>9875</code>
+and the default username and password are <code>admin</code> and <code>springsource</code>.</p>
+</div>
+<div class="sect3">
+<h4 id="_linux_8">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat with default JMX access enabled, run <code>startup.sh</code> passing
+in no arguments:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To start JConsole, run the <code>jconsole.sh</code> script, located in the <code>bin</code> directory, as shown:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/jconsole.sh</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following image shows how to specify a local connection using JConsole.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-local-attach.png" alt="jmx local attach"></span></p>
+</div>
+<div class="paragraph">
+<p>The following image shows how to specify a remote connection in JConsole that uses SSL with the default
+username/password (<code>admin/springsource</code> and default secure port of <code>9875</code>).</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-default.png" alt="jmx remote attach default"></span></p>
+</div>
+<div class="paragraph">
+<p>To start with the JMX remote access on a specific port number other than the default <code>9875</code>,
+pass this port number in as the value
+of the <code>-jmxport</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -jmxport 9090</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the Virgo for Apache Tomcat with JMX enabled for remote connections on port <code>9090</code>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-jmxport.png" alt="jmx remote attach jmxport"></span></p>
+</div>
+<div class="paragraph">
+<p>To start the JMX remote access with a custom username and password, update the <code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.users.properties</code> file. First specify the custom username by changing the value of the <code>role.admin</code> property. Then set the password of this new user by adding a new property called <code>user.<strong>username</strong></code>, where <code><strong>username</strong></code> refers to the actual name of the user. Finally, restart VTS for the changes to take effect.
+ For example, if you want change the JMX remote access username to <code>zebedee</code> with password <code>florence</code>, change the file as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">##################
+# User definitions
+##################
+user.zebedee=florence
+
+
+##################
+# Role definitions
+##################
+role.admin=zebedee</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Specify the custom username in JConsole as shown.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-jmxusers.png" alt="jmx remote attach jmxusers"></span></p>
+</div>
+<div class="paragraph">
+<p>To start the JMX remote access using a custom SSL certificate, edit the file located at
+<code>$SERVER_HOME/configuration/keystore</code>. If you wish to use a different keystore,
+pass this filename in as the value for the <code>-keystore</code> argument and the keystore
+password in as the value for the <code>-keystorePassword</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -keystore customKeystore -keystorePassword customKeystorePassword</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the Virgo for Apache Tomcat with JMX enabled for remote connections using an SSL certificate from
+<code>customKeystore</code> with a password of <code>customKeystorePassword</code>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_8">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat with default JMX access enabled, run <code>startup.bat</code> passing
+in no arguments:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To start JConsole, run the <code>jconsole.bat</code> script, located in the <code>bin</code> directory, as shown:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\jconsole.bat</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following image shows how to specify a local connection using JConsole.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-local-attach.png" alt="jmx local attach"></span></p>
+</div>
+<div class="paragraph">
+<p>The following image shows how to specify a remote connection in JConsole that uses SSL with the default
+username/password (<code>admin/springsource</code> and default secure port of <code>9875</code>).</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-default.png" alt="jmx remote attach default"></span></p>
+</div>
+<div class="paragraph">
+<p>To start with the JMX remote access on a specific port number other than the default <code>9875</code>,
+pass this port number in as the value of the <code>-jmxport</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -jmxport 9090</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the Virgo for Apache Tomcat with JMX enabled for remote connections on port
+<code>9090</code>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-jmxport.png" alt="jmx remote attach jmxport"></span></p>
+</div>
+<div class="paragraph">
+<p>To start the JMX remote access with a custom username and password, update the <code>%SERVER_HOME%\configuration\org.eclipse.virgo.kernel.users.properties</code> file. First specify the custom username by changing the value of the <code>role.admin</code> property. Then set the password of this new user by adding a new property called <code>user.<strong>username</strong></code>, where <code><strong>username</strong></code> refers to the actual name of the user. Finally, restart VTS for the changes to take effect.
+ For example, if you want change the JMX remote access username to <code>zebedee</code> with password <code>florence</code>, change the file as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">##################
+# User definitions
+##################
+user.zebedee=florence
+
+
+##################
+# Role definitions
+##################
+role.admin=zebedee</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Specify the custom username in JConsole as shown.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/jmx-remote-attach-jmxusers.png" alt="jmx remote attach jmxusers"></span></p>
+</div>
+<div class="paragraph">
+<p>To start the JMX remote access using a custom SSL certificate, edit the file located at
+<code>%SERVER_HOME%\configuration\keystore</code>. If you wish to use a different
+keystore, pass this filename in as the value for the <code>-keystore</code> argument and the
+keystore password in as the value for the <code>-keystorePassword</code> argument:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -keystore customKeystore -keystorePassword customKeystorePassword</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start the Virgo for Apache Tomcat with JMX enabled for remote attach using an SSL certificate from
+<code>customKeystore</code> with a password of <code>customKeystorePassword</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="starting-stopping-configuration-directory"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_starting_with_a_custom_configuration_directory">Starting with a Custom Configuration Directory</h3>
+<div class="paragraph">
+<p>Use the <code>-configDir</code> option to specify an alternate <code>configuration</code> directory, different from the
+default <code>SERVER_HOME/configuration</code> directory. This option allows you to use the same Virgo for Apache Tomcat
+installation to run multiple instances of VTS. Simply create a configuration directory for each
+instance, specify unique port numbers, logging and tracing directories, and so on, and then specify that directory
+when starting VTS.</p>
+</div>
+<div class="paragraph">
+<p>If you specify a relative path for the <code>-configDir</code> parameter,
+the startup script interprets the path as relative to the root of the Virgo for Apache Tomcat installation,
+and not relative to the directory from which you execute the <code>startup</code> script.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#alternate-serviceability-work">Alternate <code>serviceability</code> and <code>work</code>
+Directories</a> for a known issue related to specifying an alternate <code>configuration</code> directory.</p>
+</div>
+<div class="sect3">
+<h4 id="_linux_9">Linux</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat using a configuration directory of <code>/configuration/node1</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -configDir /configuration/node1</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_windows">Windows</h4>
+<div class="paragraph">
+<p>To start Virgo for Apache Tomcat using a configuration directory of <code>c:\configuration\node1</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -configDir c:\configuration\node1</pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_stopping_virgo_for_apache_tomcat">Stopping Virgo for Apache Tomcat</h3>
+<div class="sect3">
+<h4 id="_linux_10">Linux</h4>
+<div class="paragraph">
+<p>To stop a running instance of Virgo for Apache Tomcat, start a new terminal window and run the <code>shutdown.sh</code> script:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/shutdown.sh</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To stop a running instance of Virgo for Apache Tomcat immediately, bypassing normal shutdown
+processing, run <code>shutdown.sh</code> with the <code>-immediate</code> option:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/shutdown.sh -immediate</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If, when you started the Web Server instance, you used the <code>-jmxport</code> option to specify a non-default JMX port number,
+then you must pass this port number to the <code>-jmxport</code> of the <code>shutdown.sh</code> script
+to gracefully shut it down.
+For example, if you specified <code>9090</code> as the JMX port, use the following to shut down the Web Server instance:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/shutdown.sh -jmxport 9090</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_9">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To stop a running instance of Virgo for Apache Tomcat, start a new console window and run the <code>shutdown.bat</code> script:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\shutdown.bat</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To stop a running instance of Virgo for Apache Tomcat immediately, bypassing normal shutdown
+processing, run <code>shutdown.bat</code> with the <code>-immediate</code> option:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\shutdown.bat -immediate</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If, when you started the Web Server instance, you used the <code>-jmxport</code> option to specify a non-default JMX port number,
+then you must pass this port number to the <code>-jmxport</code> of the <code>shutdown.bat</code> script to gracefully shut it down.
+For example, if you specified <code>9090</code> as the JMX port, use the following to shut down the Web Server instance:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\shutdown.bat -jmxport 9090</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="cleaning-without-starting"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_cleaning_virgo_for_apache_tomcat_without_starting_it">Cleaning Virgo for Apache Tomcat without Starting it</h3>
+<div class="paragraph">
+<p>When you clean Virgo for Apache Tomcat, the startup script removes the <code>SERVER_HOME/work</code> directory (and hence all
+running applications) as well as all trace, log and dump files. It leaves the
+<code>SERVER_HOME/repository</code> and <code>SERVER_HOME/pickup</code> directories untouched,
+which means that any applications previously hot deployed will be automatically reinstalled next time the Web Server is started.</p>
+</div>
+<div class="paragraph">
+<p>Cleaning is useful when you want to start the Web Server from a clean state next time, but you don’t want to start the Web Server yet.</p>
+</div>
+<div class="paragraph">
+<p>Cleaning is also useful for tidying up the directory structure. For example, sometimes Microsoft Windows won’t let you delete the Web
+Server installation directory.
+See <a href="#windows-deletion">Problem Deleting Installation Directory under Windows</a> for more details.</p>
+</div>
+<div class="sect3">
+<h4 id="_linux_11">Linux</h4>
+<div class="paragraph">
+<p>To clean Virgo for Apache Tomcat, open a terminal window and run <code>startup.sh -clean -noStart</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME
+$ bin/startup.sh -clean -noStart</pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_microsoft_windows_10">Microsoft Windows</h4>
+<div class="paragraph">
+<p>To clean Virgo for Apache Tomcat, open a command window and run <code>startup.bat -clean -noStart</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>C:> cd %SERVER_HOME%
+C:> bin\startup.bat -clean -noStart</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="equinox-launcher"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_equinox_launcher">Using Equinox Launcher</h3>
+<div class="paragraph">
+<p>Since version 3.5 Virgo uses the standard Equinox Launcher as its default launcher.
+As a result in addition to all the launcher options described so far users can also pass arguments specific to the Equinox launcher.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The Equinox Launcher arguments must be placed at the end of the startup call. Here’s an example</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ ./startup.sh "virgo-args" "equinox-launcher-args"
+$ ./startup.sh -clean -console 2222</screen></pre>
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>A full list of the accepted Equinox Launcher arguments is available at <a href="http://help.eclipse.org/">help.eclipse.org</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_equinox_console">Equinox Console</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="admin-shell-enable"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_enabling_the_equinox_console">Enabling the Equinox Console</h3>
+<div class="paragraph">
+<p>Shells are provided for both user region and kernel, although they are disabled by default and need enabling before
+they can be used.</p>
+</div>
+<div class="paragraph">
+<p>The user region shell ports may be reconfigured by editing the file
+<code>osgi.console.properties</code> in the <code>repository/ext</code> directory, and
+then restarting Virgo. The telnet properties in the file are prefixed with <strong>telnet.</strong>, and the ssh properties are prefixed with <strong>ssh.</strong>.
+The kernel shell ports may be reconfigured by editing the file <code>osgi.console.properties</code> in the <code>configuration</code> directory, and then restarting Virgo.</p>
+</div>
+<div class="paragraph">
+<p>To enable any of these shell ports, change the <code>enabled</code> setting from <code>false</code> to <code>true</code></p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">enabled=true</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>in the corresponding properties files.</p>
+</div>
+<div class="paragraph">
+<p>If you wish to change a port, any free port can be used, but the usual defaults are, for telnet, 2501 for the user region and 2401 for the kernel, and
+for ssh, 2502 for the user region and 2402 for the kernel.</p>
+</div>
+<div class="paragraph">
+<p>Access is via ssh or telnet.
+The simplest way to access the shell is via telnet to port 2501 or 2401 for user region or kernel, respectively.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ telnet localhost 2501
+Trying ::1...
+Connected to localhost.
+Escape character is '^]'.
+
+osgi></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Alternatively, you can ssh to port 2502 or 2402 for user region or kernel, respectively.
+The users and passwords for ssh are configured in <code>configuration/org.eclipse.virgo.kernel.users.properties</code> as described
+in <a href="#configuring-authentication">Configuring Authentication</a>. The default user and password are <code>admin</code>
+and <code>admin</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Currently the Virgo Nano Equinox Console is enabled by default. Telnet is accesible on <strong>2401</strong> and SSH on <strong>2402</strong>. In future these will be configurable.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>If you use the <code>shutdown</code> shell command to stop Virgo Server for Apache Tomcat, the shutdown messages appear in the shell terminal instead of in the terminal in which Virgo runs. This is due to the
+mechanisms which the shell implementation uses to redirect standard output.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-using-vsh"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_virgo_shell_commands">Using Virgo Shell Commands</h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section is not applicable to Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Virgo provides shell commands
+that allow you to examine artifacts
+currently installed in a particular Virgo Kernel instance, manage the lifecycle of the installed artifacts, install new artifacts, and shut down
+the Virgo Kernel. You can install, examine, and manage the lifecycle of the following artifacts:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Bundles</p>
+</li>
+<li>
+<p>Configuration Artifacts</p>
+</li>
+<li>
+<p>PARs</p>
+</li>
+<li>
+<p>Plans</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>and can examine:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Exported packages</p>
+</li>
+<li>
+<p>Services in the OSGi service registry</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Virgo also provides shell commands to list all bundles that contain, export, or load a particular class.</p>
+</div>
+<div class="paragraph">
+<p>These commands are provided <strong>for the user region shells only</strong> and are grouped together in
+the <code>vsh</code> <strong>scope</strong>.</p>
+</div>
+<div class="paragraph">
+<p>You invoke commands using the <code>vsh:</code> scope. For example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan list
+
+Name Version State
+org.eclipse.virgo.apps.admin.plan 2.1.0 ACTIVE
+org.eclipse.virgo.kernel.userregion.springdm 2.1.0 ACTIVE
+org.eclipse.virgo.web 2.1.0 ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-using-command-list"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_virgo_shell_commands">Virgo Shell Commands</h4>
+<div class="paragraph">
+<p>The following table lists the Virgo shell commands; each command in turn has a variety of options that you can specify, depending on what you want to do, such as start a bundle or refresh a plan. The reference documentation about each command provides the full list of available options.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-commands-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 1. Virgo Shell Commands</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 80%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Command</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-bundle-command">bundle</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages and displays information about bundle artifacts.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-cl-clhas">clhas</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists all bundles that <emphasis role="bold">contain* a class or resource.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-cl-clexport">clexport</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists all bundles that <emphasis role="bold">export* a class or package.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-cl-clload">clload</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists all bundles that can <emphasis role="bold">load* a class.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-config-command">config</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages and displays information about configuration artifacts.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-package-command">packages</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about exported packages.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-par-command">par</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages and displays information about PAR artifacts.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-plan-command">plan</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages and displays information about plan artifacts.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-service-command">service</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about services in the OSGi service registry.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-install-command">install</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Installs an artifact to Virgo Kernel.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#admin-shell-vsh-shutdown-command">shutdown</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Shuts down the Virgo Kernel instance to which the Equinox Console is connected.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-command-reference"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_virgo_shell_command_reference">Virgo Shell Command Reference</h3>
+<div class="paragraph">
+<p>This section contains reference information about the Virgo shell commands</p>
+</div>
+<div class="paragraph">
+<p><a href="#admin-shell-vsh-bundle-command">bundle</a>,
+<a href="#admin-shell-cl-clhas">clhas</a>,
+<a href="#admin-shell-cl-clexport">clexport</a>,
+<a href="#admin-shell-cl-clload">clload</a>,
+<a href="#admin-shell-vsh-config-command">config</a>,
+<a href="#admin-shell-vsh-package-command">packages</a>,
+<a href="#admin-shell-vsh-par-command">par</a>,
+<a href="#admin-shell-vsh-plan-command">plan</a>,
+<a href="#admin-shell-vsh-service-command">service</a>,
+<a href="#admin-shell-vsh-install-command">install</a>,
+<a href="#admin-shell-vsh-shutdown-command">shutdown</a>,
+<a href="#admin-shell-vsh-help-command">help</a> and
+<a href="#admin-shell-vsh-exit-command">exit</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-bundle-command"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_bundle_command">bundle Command</h4>
+<div class="paragraph">
+<p>Use the <code>bundle</code> command to manage the lifecycle of bundles deployed in Virgo Kernel and to gather information about deployed bundles, such as diagnostic information, header information, and so on.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-bundle-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 2. Options of the bundle Command</caption>
+<colgroup>
+<col style="width: 16%;">
+<col style="width: 83%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays the list of bundles that are currently installed in the current Virgo Kernel instance. With the exception of a few kernel bundles and their services, which Virgo Kernel uses to administer the user region, none of the kernel is visible to user installed artifacts; rather, only the bundles installed in the user region are visible.
+ Each bundle is identified by an internal <code>ID</code> which you can then use with the other <code>bundle</code> commands that manage a particular bundle, such as <code>start `<strong>`id</code></strong>. The <code>list</code> command also displays the version of the bundle, along with its state, which is one of the following standard OSGi lifecycle states:
+ <strong>Installed</strong>: The bundle is installed but its dependencies have not yet been resolved.
+ <strong>Resolved</strong>: The bundle is resolved and you can now start it.
+ <strong>Uninstalled</strong>: The bundle is uninstalled and you cannot use it.
+ <strong>Starting</strong>: The bundle is in the process of starting.
+ <strong>Active</strong>: The bundle is running and you can now use it.
+ <strong>Stopping</strong>: The bundle is in the process of stopping.
+ Use one of the other <code>bundle</code> commands to change the state of a bundle. For example, use the <code>bundle start `<strong>`id</code></strong> command to change the state of a bundle from <code>Installed</code> to <code>Active</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays detailed information about the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ In addition to the information provided by the <code>bundle list</code> command (id, full name, version, and state), the <code>examine</code> command specifies whether the bundle includes a Spring application context (or is <strong>Spring Powered</strong>) and the exact physical location of the bundle JAR file.
+ The <code>examine</code> also provides the full list of packages that the bundle imports, as well as the bundles that in turn export these imported packages. Finally, the command displays the packages that the current bundle exports, and then in turn the list of other installed bundles that are currently importing these exported packages.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">start <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Starts the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ After Virgo Kernel successfully starts the bundle, it is listed in the <code>Active</code> state.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">stop <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stops the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ When you stop a bundle, it goes from the <code>Active</code> state to the <code>Resolved</code> state, and you must re-start it if you want to use the application that the bundle contains.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">refresh <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Updates the contents of the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle. Use this command if you have changed the contents of the bundle JAR file and you want to refresh the artifact as installed in the OSGi framework.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninstall <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstalls the specified bundle from Virgo Kernel. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ When the uninstall process is complete, the bundle does not show up in the list of bundles displayed by the <code>bundle list</code> command. If you want to use the application in the bundle, you must re-install it using the <code>install</code> command.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">diag <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides diagnostic information about the specified bundle.
+ In particular, this command displays information about the imported packages that Virgo Kernel could not resolve.
+ Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ Note that Virgo does not install unresolvable bundles.
+ Instead is takes a state dump (for offline analysis using the web administration console) and fails the deployment.
+ So bundles are only likely to become unresolvable in Virgo after an update operation.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">headers <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays the complete list of manifest headers of the specified bundle. Use the <code>bundle list</code> command to get the internal id of a particular bundle.
+ The manifest headers include: <code>Import-Package</code>, <code>Export-Package</code>, <code>Bundle-SymbolicName</code>, and so on.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following examples show how to use this command.</p>
+</div>
+<div class="paragraph">
+<p>First, use the <code>bundle list</code> command to view all the installed bundles:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:bundle list
+
+Id Name Version State
+40 org.eclipse.virgo.kernel.userregionfactory 3.0.0.RELEASE ACTIVE
+47 org.eclipse.equinox.cm 1.0.300.v20101204 ACTIVE
+48 org.eclipse.virgo.kernel.userregion 3.0.0.RELEASE ACTIVE
+49 org.eclipse.virgo.kernel.osgicommand 3.0.0.RELEASE ACTIVE
+50 org.eclipse.osgi.services 3.3.0.v20110110 ACTIVE
+51 com.springsource.org.apache.mina.core 2.0.2 ACTIVE
+52 org.apache.felix.gogo.command 0.8.0.v201105062003 ACTIVE
+53 org.apache.felix.gogo.runtime 0.8.0.v201105062003 ACTIVE
+54 org.apache.felix.gogo.shell 0.8.0.v201107131313 ACTIVE
+55 org.eclipse.equinox.console.supportability 1.0.0.20110722-2 ACTIVE
+56 com.springsource.org.apache.sshd.core 0.5.0 ACTIVE
+57 org.springframework.osgi.core 1.2.1 ACTIVE
+58 S org.springframework.osgi.extender 1.2.1 ACTIVE
+59 org.springframework.osgi.io 1.2.1 ACTIVE
+60 org.eclipse.virgo.kernel.agent.dm 3.0.0.RELEASE ACTIVE
+61 S org.eclipse.virgo.kernel.deployer.dm 3.0.0.RELEASE ACTIVE
+62 org.eclipse.equinox.ds 1.3.0.v20110124-0830 ACTIVE
+63 org.eclipse.equinox.util 1.0.200.v20100503 ACTIVE
+64 com.springsource.org.aopalliance 1.0.0 ACTIVE
+65 org.eclipse.virgo.kernel.dmfragment 3.0.0.RELEASE RESOLVED
+66 org.springframework.aop 3.0.5.RELEASE ACTIVE
+67 org.springframework.asm 3.0.5.RELEASE ACTIVE
+68 org.springframework.beans 3.0.5.RELEASE ACTIVE
+69 org.springframework.context 3.0.5.RELEASE ACTIVE
+70 org.springframework.core 3.0.5.RELEASE ACTIVE
+71 org.springframework.expression 3.0.5.RELEASE ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to view the headers of the <code>org.springframework.osgi.extender</code> bundle (only the first few lines are shown):</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:bundle examine 5
+
+Id: 5
+Name: org.springframework.osgi.extender
+Version 1.2.1
+State: ACTIVE
+Spring Powered: true
+Bundle Location: file:<... omitted ...>/org.springframework.osgi.extender-1.2.1.jar/
+
+Imported Packages:
+ org.springframework.osgi.context [1.2.1, 1.2.1]
+ exported by org.springframework.osgi.core 1.2.1 [4]
+ <... remainder omitted ...>
+
+Exported Packages:
+ org.springframework.osgi.extender 1.2.1
+ <... remainder omitted ...>
+
+Published services:
+ 58 org.springframework.beans.factory.xml.NamespaceHandlerResolver
+ consumed by org.springframework.osgi.extender 1.2.1 [5]
+ consumed by org.eclipse.virgo.kernel.deployer.dm 2.1.0.RELEASE [8]
+ <... remainder omitted ...>
+
+Consumed services:
+ 1 org.osgi.service.packageadmin.PackageAdmin
+ published by org.eclipse.osgi 3.7.0.v20110224 [0]
+ <... remainder omitted ...>
+
+Fragments:
+ org.eclipse.virgo.kernel.dmfragment 2.1.0.RELEASE [10]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-config-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_config_command">config Command</h4>
+<div class="paragraph">
+<p>Use the <code>config</code> command to view and manage the configuration artifacts that have been installed in Virgo Kernel. A <strong>configuration artifact</strong> is simply a properties file that is associated with a user application that is contained in a bundle. Using configuration artifacts, you can manage the configuration of a user application completely separately from the bundle that contains the application.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-config-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 3. Options of the config Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists the configuration artifacts that are currently installed in Virgo Kernel.
+ The <code>list</code> option displays the full name of each installed configuration artifact, its version, and its current state. Configuration artifacts have similar lifecycles to other artifacts, such as bundles, and so the list of states in which a configuration can be in is the same as those of bundles; see <a href="#admin-shell-bundle-command">the bundle command</a> for the list of possible states.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about the specified configuration artifact. Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the configuration artifact installed. Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ A configuration artifact must be active for you to examine it; if it is not currently active, use <code>config start</code> to start it and thus change its state to <code>Active</code>.
+ The command first displays the factory pid of the configuration artifact as well as the complete location of the bundle to which the configuration artifact is associated. The command then lists all the properties that make up the configuration, as well as their current value.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">start <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Starts the specified configuration artifact and makes it visible to Virgo Kernel.
+ Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the
+ configuration artifact installed (which Virgo does not currently support).
+ Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ Starting the configuration sets its state to <code>Active</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">stop <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stops the specified configuration artifact and makes it invisible to Virgo Kernel. Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the configuration artifact installed (which Virgo does not currently support). Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ Stopping the configuration sets its state to <code>Resolved</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">refresh <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Updates the contents of the specified configuration artifact to Virgo Kernel. Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the configuration artifact installed (which Virgo does not currently support). Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ Use this command if you have changed the contents of the configuration artifact, and you want to make this information known to Virgo Kernel and the associated bundle.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninstall <strong>name [version]</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstalls the specified configuration artifact and make it completely unavailable to Virgo Kernel. Although you must specify the name of the configuration artifact, its version is optional unless you have multiple versions of the configuration artifact installed (which Virgo does not currently support). Use the <code>config list</code> command to view all configuration artifacts and versions currently installed in Virgo Kernel.
+ Stopping the configuration removes it from Virgo Kernel’s list of deployed artifacts and it will not show up when you perform a <code>config list</code>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following example shows how to use this command to list the installed configuration artifacts.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:config list
+
+Name Version State
+org.eclipse.virgo.kernel 0.0.0 ACTIVE
+org.eclipse.virgo.kernel.jmxremote.access 0.0.0 ACTIVE
+org.eclipse.virgo.kernel.userregion 0.0.0 ACTIVE
+org.eclipse.virgo.kernel.users 0.0.0 ACTIVE
+org.eclipse.virgo.medic 0.0.0 ACTIVE
+org.eclipse.virgo.repository 0.0.0 ACTIVE
+osgi.console.ssh 0.0.0 ACTIVE
+osgi.console.telnet 0.0.0 ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To view the properties of a configuration artifact, and their current values, use <code>config examine</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:config examine org.eclipse.virgo.repository
+
+Factory pid:
+Bundle Location: file:plugins/org.eclipse.virgo.kernel.services-{version}.jar
+
+Properties:
+ chain:
+ ext,usr
+ ext.searchPattern:
+ repository/ext/{artifact}
+ ext.type:
+ external
+ service.pid:
+ org.eclipse.virgo.repository
+ usr.type:
+ watched
+ usr.watchDirectory:
+ repository/usr</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-package-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_packages_command">packages Command</h4>
+<div class="paragraph">
+<p>Use the <code>packages</code> command to view the complete list of packages exported by all bundles installed in Virgo Kernel, as well as examine a particular exported package in more detail.</p>
+</div>
+<div class="paragraph">
+<p>The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-package-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 4. Options of the packages Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays all the exported packages for all bundles in the uer region of Virgo Kernel. In addition to the package name, the command displays the version of the exported package and the <code>id</code> of the bundle that contains the exported package. You can examine the bundle by using the command <code>bundle examine</code> <strong>id</strong>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays details about the exported package. You must specify both the name of the exported package and its version; use <code>packages list</code> to view the exact names and version.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The <code>examine</code> command provides the following additional information about the exported package:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The name and version of the bundle that exports the package. This means that the package name is explicitly listed in the bundle’s <code>MANIFEST.MF</code> file as part of the <code>Export-Package</code> header.</p>
+</li>
+<li>
+<p>Any attributes that are part of the <code>Export-Package</code>, in addition to <code>version</code>.</p>
+</li>
+<li>
+<p>The directives that are part of the <code>Export-Package</code> header. A typical directive is <code>uses</code>, which declares up-front constraints on a number of other packages.</p>
+</li>
+<li>
+<p>The list of all bundles that import the package.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The following example shows how to list all the exported packages for all bundles installed:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:packages list
+
+Name Version Providing Bundle
+javax.accessibility 0.0.0 0
+javax.activation 0.0.0 0
+javax.activation 1.1.1 0
+<... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to examine a particular exported package:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:packages examine org.slf4j 1.6.1
+
+Exporter: org.eclipse.virgo.region.user 0.0.0 [1]
+
+Attributes:
+ None
+
+Directives:
+ uses:
+ org.slf4j.spi
+ x-equinox-ee:
+ -1
+ x-internal:
+ false
+
+Importer(s):
+ org.eclipse.virgo.kernel.agent.dm 2.1.0.RELEASE [7]
+ Import-Package attributes:
+ bundle-version:
+ 0.0.0
+ version:
+ [1.6.1,2.0.0)
+ Import-Package directives:
+ resolution:
+ static
+ <... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-par-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_par_command">par Command</h4>
+<div class="paragraph">
+<p>Use the <code>par</code> command to view all the PARs currently installed in Virgo Kernel, view details about a particular PAR and manage its lifecycle, such as starting, stopping, refreshing, and uninstalling it.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-par-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 5. Options of the par Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays all the PARs that are currently installed in Virgo Kernel.
+ The <code>list</code> option displays the full name of each installed PAR, its version, and its current state. PARs have similar lifecycles to other artifacts, such as bundles, and so the list of states in which a PAR can be in is the same as those of bundles; see <a href="#admin-shell-bundle-command">the bundle command</a> for the list of possible states.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about the specified PAR; you are required to identify the PAR with both its name and its version. Use the <code>par list</code> command to view all installed PAR files and their versions. The command displays the following information:
+ The current state of the PAR (see <a href="#admin-shell-vsh-bundle-command">the bundle command</a> for the full list of possible states).
+ Whether the PAR is <strong>scoped</strong>. Scoping specifies whether Virgo Kernel should deploy the members of the PAR in their own scope; when scoping is disabled, Virgo Kernel deploys the artifacts into the global scope and they are accessible for access by all other artifacts.
+ Whether the PAR is <strong>atomic</strong>. When a PAR is atomic, Virgo Kernel manages the lifecycle of all its member artifacts as a single entity, which means if one artifact member is started, then Virgo Kernel starts <strong>all</strong> the PAR artifacts. If one artifact fails to start, then Virgo Kernel stops all other artifacts in the PAR.
+ The individual members, or children, of the PAR. These could be plans, bundles, configuration artifacts, and so on.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">start <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Starts the specified PAR. You must specify both the full name of the PAR as well as the version you want to start. Use the <code>par list</code> command to get the list of PARs currently installed in Virgo Kernel.
+ To start a PAR, it must have already been resolved by Virgo Kernel, or in other words, be in the <code>Resolved</code> state. After Virgo Kernel successfully starts the PAR, it is listed in the <code>Active</code> state.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">stop <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stops the specified PAR. You must specify both the full name of the PAR as well as the version you want to stop. Use the <code>par list</code> command to get the list of PARs currently installed in Virgo Kernel.
+ When you stop a PAR, it goes from the <code>Active</code> state to the <code>Resolved</code> state, and you must re-start it if you want to use the application that the PAR contains.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">refresh <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Updates the contents of the specified PAR. You must specify both the name and version of the PAR you want to refresh. Use the <code>par list</code> command to this information.
+ Use this command if you have changed the contents of the PAR file and you want to refresh the artifact as installed in the OSGi framework.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninstall <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstalls the specified PAR. You must specify both the name and version of the PAR you want to refresh. Use the <code>par list</code> command to this information.
+ When the uninstall process is complete, the PAR will not show up in the list of PARs displayed by the <code>par list</code> command. If you want to use the application in the PAR, you must re-install it using the <code>install</code> command.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following example shows how to list the PARs that have been installed in Virgo Kernel:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:par list
+
+Name Version State
+
+org.eclipse.virgo.server.repository.hosted 2.1.0.RELEASE ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to examine a particular PAR file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:par examine org.eclipse.virgo.server.repository.hosted 2.1.0.RELEASE
+
+State: ACTIVE
+Scoped: true
+Atomic: true
+
+Children:
+ bundle org.eclipse.virgo.server.repository.hosted.core 2.1.0.RELEASE
+ bundle org.eclipse.virgo.server.repository.hosted.web 2.1.0.RELEASE
+ bundle org.eclipse.virgo.server.repository.hosted-synthetic.context 2.1.0.RELEASE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Finally, the following example shows how to refresh an installed PAR file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:par refresh my.exciting.par 1.2.0
+
+par my.exciting.par 1.2.0 refreshed successfully</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-plan-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_plan_command">plan Command</h4>
+<div class="paragraph">
+<p>Use the <code>plan</code> command to view all the plans currently installed in Virgo Kernel, view details about a particular plan and manage its lifecycle, such as starting, stopping, refreshing, and uninstalling it.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-plan-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 6. Options of the plan Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays all the plans that are currently installed in Virgo Kernel.
+ The <code>list</code> option displays the full name of each installed plan, its version, and its current state. Plans have similar lifecycles to other artifacts, such as bundles, and so the list of states in which a plan can be in is the same as those of bundles; see <a href="#admin-shell-bundle-command">the bundle command</a> for the list of possible states.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays information about the specified plan; you are required to identify the plan with both its name and its version. Use the <code>plan list</code> command to view all installed plans and their versions. The command displays the following information:
+ The current state of the plan (see <a href="#admin-shell-vsh-bundle-command">the bundle command</a> for the full list of possible states).
+ Whether the plan is <strong>scoped</strong>. Scoping specifies whether Virgo Kernel should deploy the members of the plan in their own scope; when scoping is disabled, Virgo Kernel deploys the artifacts into the global scope and they are accessible for access by all other artifacts.
+ Whether the plan is <strong>atomic</strong>. When a plan is atomic, Virgo Kernel manages the lifecycle of all its member artifacts as a single entity, which means if one artifact member is started, then Virgo Kernel starts <strong>all</strong> the plan artifacts. If one artifact fails to start, then Virgo Kernel stops all other artifacts in the plan.
+ The individual members, or children, of the plan. These could be other plans, PARs, bundles, configuration artifacts, and so on.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">start <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Starts the specified plan. You must specify both the full name of the plan as well as the version you want to start. Use the <code>plan list</code> command to get the list of plans currently installed in Virgo Kernel.
+ To start a plan, it must have already been resolved by Virgo Kernel, or in other words, be in the <code>Resolved</code> state. After Virgo Kernel successfully starts the plan, it is listed in the <code>Active</code> state.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">stop <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stops the specified plan. You must specify both the full name of the plan as well as the version you want to stop. Use the <code>plan list</code> command to get the list of plans currently installed in Virgo Kernel.
+ When you stop a plan, it goes from the <code>Active</code> state to the <code>Resolved</code> state, and you must re-start it if you want to use the application that the plan contains.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">refresh <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Updates the contents of the specified plan. You must specify both the name and version of the plan you want to refresh. Use the <code>plan list</code> command to this information.
+ Use this command if you have changed the contents of the plan file and you want to refresh the artifact as installed in the OSGi framework.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninstall <strong>name version</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstalls the specified plan. You must specify both the name and version of the plan you want to refresh. Use the <code>plan list</code> command to this information.
+ When the uninstall process is complete, the plan will not show up in the list of plans displayed by the <code>plan list</code> command. If you want to use the application in the plan, you must re-install it using the <code>install</code> command.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following example shows how to list the plans that have been installed in Virgo Kernel:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan list
+
+Name Version State
+org.eclipse.virgo.apps.admin.plan 2.1.0 ACTIVE
+org.eclipse.virgo.kernel.userregion.springdm 2.1.0 ACTIVE
+org.eclipse.virgo.web 2.1.0 ACTIVE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to examine a particular plan:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan examine org.eclipse.virgo.kernel.userregion.springdm 2.1.0
+
+State: ACTIVE
+Scoped: false
+Atomic: false
+
+Children:
+ bundle org.eclipse.virgo.kernel.agent.dm 2.1.0.RELEASE
+ bundle org.springframework.osgi.io 1.2.1
+ bundle org.springframework.osgi.extender 1.2.1
+ bundle org.springframework.osgi.core 1.2.1
+ bundle org.eclipse.virgo.kernel.deployer.dm 2.1.0.RELEASE</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to stop a currently Active plan:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan stop org.eclipse.virgo.web 2.1.0
+
+plan org.eclipse.virgo.web:2.1.0 stopped successfully</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to start a plan:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:plan start org.eclipse.virgo.web 2.1.0
+
+plan org.eclipse.virgo.web:2.1.0 started successfully</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-service-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_service_command">service Command</h4>
+<div class="paragraph">
+<p>Use the <code>service</code> command to view all the services that have been registered in the OSGi service registry of Virgo Kernel. You can also examine a specific service to discover its properties, the bundle that publishes the service, and any bundles that consume the service.
+The following table lists the options you can specify for this command.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-service-command-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 7. Options of the service Command</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Option</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays the list of services that are currently registered in the OSGi service registry of Virgo Kernel.
+ Each service is identified by an internal <code>ID</code> which you can then use with the <code>service examine</code> command to view the details about a particular service. The <code>list</code> option also displays the object class that implements the service and the internal <code>id</code> of the bundle that provides the service.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">examine <strong>id</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Displays detailed information about the specified service. Use the <code>service list</code> command to get the internal id of a particular service.
+ This command displays the properties of the service, such as the object class that implements the service, the name of the bundle that publishes the service and any bundles that consume the service.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following example shows how to list the services currently registered in the OSGi service registry:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:service list
+
+Id Object Class(es) Providing Bundle
+
+1 org.osgi.service.packageadmin.PackageAdmin 0
+2 org.osgi.service.permissionadmin.PermissionAdmin, ... 0
+3 org.osgi.service.startlevel.StartLevel 0
+4 org.eclipse.osgi.service.debug.DebugOptions 0
+5 java.lang.ClassLoader 0
+6 org.eclipse.osgi.framework.log.FrameworkLog 0
+7 org.eclipse.osgi.framework.log.FrameworkLog 0
+<... remainder omitted ...>
+
+72 org.eclipse.gemini.web.core.spi.ServletContainer 38
+73 org.eclipse.gemini.web.core.WebContainer 37
+74 org.eclipse.virgo.web.core.WebApplicationRegistry 39
+<... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to examine a particular service:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:service examine 73
+
+ Properties:
+ objectClass:
+ org.eclipse.gemini.web.core.WebContainer
+ service.id:
+ 73
+
+ Publisher: org.eclipse.gemini.web.core 1.1.0.RELEASE [37]
+
+ Consumer(s):
+ org.eclipse.virgo.web.core 2.1.0.RELEASE [39]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-install-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_install_command">install Command</h4>
+<div class="paragraph">
+<p>Use the <code>install</code> command to deploy an artifact to Virgo Kernel. The artifact can be a bundle, PAR, plan, or configuration artifact.</p>
+</div>
+<div class="paragraph">
+<p>The <code>install</code> command takes a single parameter: the URI of the artifact you want to deploy. For example, to deploy a bundle on the local computer, use the <code>file</code> scheme:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>file://full-pathname-to-artifact</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>After you execute the <code>install</code> command, Virgo Kernel attempts to resolve the artifact’s dependencies, and if it is successful, puts it in the <code>Resolved</code> state. At that point, you must start the artifact to be able to actually use it.</p>
+</div>
+<div class="paragraph">
+<p>The following example shows how to install a bundle called <code>swf-booking-mvc.war</code> located in the <code>/home/apps</code> directory of the computer on which the Equinox Console Extension is being run:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:install file://home/apps/swf-booking-mvc.war
+...
+Artifact bundle swf-booking-mvc.war 0.0.0 installed</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This command is particularly useful for installing an artifact from the Virgo repository, in which case use the <code>repository:</code> scheme:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>repository:artifact-type/bundle-symbolic-name/bundle-version</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:install repository:bundle/my.bundle/1.0
+...
+Artifact bundle my.bundle 1.0.0 installed</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to use the <code>bundle list</code> command to ensure that the bundle was indeed installed in Virgo Kernel; if you had installed a different kind of artifact, for example a plan, then you would use the appropriate command (such as <code>plan list</code>):</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:bundle list
+
+Id Name Version State
+
+0 org.eclipse.osgi 3.6.1.R36x_v20100806 ACTIVE
+1 org.eclipse.virgo.region.user 0.0.0 ACTIVE
+<... remainder omitted ...>
+
+59 org.eclipse.virgo.server.splash 2.1.0.RELEASE ACTIVE
+60 swf-booking-mvc.war 0.0.0 RESOLVED</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Note that the <code>swf-booking-mvc.war</code> file is in the <code>Resolved</code> state. The following examples start the bundle, and then examine it to ensure that it is in the <code>Active</code> state:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:bundle start 60
+
+bundle swf-booking-mvc.war:0.0.0 started successfully
+
+
+osgi> vsh:bundle examine 60
+
+Id: 60
+Name: swf-booking-mvc.war
+Version 0.0.0
+State: ACTIVE
+Spring Powered: true
+Bundle Location: file:<... omitted ...>/swf-booking-mvc.war/
+
+Imported Packages:
+ javax.crypto.interfaces [0.0.0, 0.0.0]
+ exported by org.eclipse.osgi 3.6.1.R36x_v20100806 [0]
+ org.omg.CosNaming.NamingContextPackage [0.0.0, 0.0.0]
+ exported by org.eclipse.osgi 3.6.1.R36x_v20100806 [0]
+ org.omg.DynamicAny.DynAnyFactoryPackage [0.0.0, 0.0.0]
+ exported by org.eclipse.osgi 3.6.1.R36x_v20100806 [0]
+ <... remainder omitted ...>
+
+osgi></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-vsh-shutdown-command"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_shutdown_command">shutdown Command</h4>
+<div class="paragraph">
+<p>Use the <code>shutdown</code> command to shut down the Virgo Kernel instance to which you are connected. When Virgo Kernel is shut down, the shell returns you to the operating system prompt.
+The <code>shutdown</code> command does not have any options.</p>
+</div>
+<div class="paragraph">
+<p>The following example shows how to use this command.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> vsh:shutdown
+osgi> ...
+Connection closed by foreign host.
+$</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-cl-clhas"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_clhas_command">clhas command</h4>
+<div class="paragraph">
+<p>Use the <code>clhas</code> command to list the entries contained in the bundles deployed in Virgo and to solve class loading issues.
+The command accepts as a parameter a search pattern in the form <strong>path/resource</strong>. The resource part of the pattern can contain wildcards.
+The output contains all bundles that have resources or classes matching the pattern. Since wildcards are allowed, the matching entities are listed as well.</p>
+</div>
+<div class="paragraph">
+<p>The following examples show how to use this command.
+Use the <code>clhas</code> to view all bundles that contain <code>Servlet</code> class:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi>clhas /javax/servlet/Servlet.class
+
+Bundles containing [/javax/servlet/Servlet.class]:
+ 76 javax.servlet
+ /javax/servlet/Servlet.class</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Use the wildcard <code>*</code> with <code>clhas</code> to view all classes starting with <code>Servlet</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clhas /javax/servlet/Servlet*
+
+Bundles containing [/javax/servlet/Servlet*]:
+ 76 javax.servlet
+ /javax/servlet/ServletRequestAttributeEvent.class
+ /javax/servlet/ServletRequest.class
+ <... remainder omitted ...>
+ /javax/servlet/Servlet.class
+ <... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>clhas</code> command can also be used with class name instead of resource path:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clhas javax.servlet.Servlet
+
+Bundles containing [javax/servlet/Servlet.class]:
+ 76 javax.servlet
+ /javax/servlet/Servlet.class</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Please note that the command converts the class name to a path and appends <code>class</code> extension by default.
+To search for a resource with an extension different than <code>class</code> you should use the resource path form:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clhas /LocalStrings.properties
+
+Bundles containing [/LocalStrings.properties]:
+ 96 com.springsource.org.apache.catalina
+ /org/apache/catalina/core/LocalStrings.properties
+ /org/apache/tomcat/util/http/mapper/LocalStrings.properties
+ /org/apache/catalina/loader/LocalStrings.properties
+ <... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following example shows how to identify a possible <code>ClassCastException</code> due to wrong packaging:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi>clhas /javax/servlet/Servlet.class
+
+Bundles containing [/javax/servlet/Servlet.class]:
+ 76 javax.servlet
+ /javax/servlet/Servlet.class
+ 107 myapp
+ /WEB-INF/classes/javax/servlet/Servlet.class</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>It’s obvious that the <code>javax.servlet</code> package should not be present in <code>myapp</code> application and its packaging has to be changed. This problem can often be seen in WAR or web bundles that package Servlet/JSP classes by accident.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-cl-clexport"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_clexport_command">clexport command</h4>
+<div class="paragraph">
+<p>Use the <code>clexport</code> command to list the bundles that export a class or package.
+The command accepts as a parameter the fully qualified class name (in the form <strong>package.class</strong>).
+The command checks to see if the provided class is actually contained in a bundle. If the class is not found in a bundle but its package is exported, then a hint <code>[class not found, package only]</code> is displayed.</p>
+</div>
+<div class="paragraph">
+<p>The following examples show how to use this command.
+Use the <code>clexport</code> to view all bundles that contain <code>Servlet</code> class:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clexport javax.servlet.Servlet
+
+Bundles exporting [javax.servlet.Servlet]:
+ 14 com.springsource.javax.servlet</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If a bundle exports a package but does not contain the requested class, the output of the command will be similar to this:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clexport javax.servlet.ServletX
+
+Bundles exporting [javax.servlet.ServletX]:
+ 14 com.springsource.javax.servlet [class not found, package only]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-shell-cl-clload"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_clload_command">clload command</h4>
+<div class="paragraph">
+<p>Use the <code>clload</code> command to list the bundles that can load a class or to check if a specific bundle can load a class.
+The command accepts as parameters either:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>the fully qualified class name (in the form <strong>package.class</strong>)</p>
+</li>
+<li>
+<p>the fully qualified class name (in the form <strong>package.class</strong>) and the symbolic name or id of the bundle that is to be tested</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The command lists not only the bundle that successfully loaded the class, but also the one that actually provides the class. This is visualized with hints like <code>[exported by 14 com.springsource.javax.servlet]</code>.</p>
+</div>
+<div class="paragraph">
+<p>The following examples show how to use this command.
+You can use the <code>clload</code> to view all bundles that can load <code>Servlet</code> class:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clload javax.servlet.Servlet
+
+Successfully loaded [javax.servlet.Servlet] from:
+ 56 com.springsource.org.apache.taglibs.standard
+ [exported by 14 com.springsource.javax.servlet]
+ 54 org.eclipse.virgo.apps.admin.web
+ [exported by 14 com.springsource.javax.servlet]
+ 19 com.springsource.org.apache.commons.fileupload
+ [exported by 14 com.springsource.javax.servlet]
+ <... remainder omitted ...></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If a bundle is to be tested, then its id can be used as a command parameter:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clload javax.servlet.Servlet 19
+
+Successfully loaded [javax.servlet.Servlet] using class loader from:
+ 19 com.springsource.org.apache.commons.fileupload
+ [exported by 14 com.springsource.javax.servlet]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Or the same class load test can specify the symbolic name of the bundle:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> clload javax.servlet.Servlet com.springsource.org.apache.commons.fileupload
+
+Successfully loaded [javax.servlet.Servlet] using class loader from:
+ 19 com.springsource.org.apache.commons.fileupload
+ [exported by 14 com.springsource.javax.servlet]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="p2-commands"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_the_p2_for_extending_your_virgo_installation">Using the p2 for extending your Virgo installation</h3>
+<div class="sect3">
+<h4 id="_extending_with_the_p2_director">Extending with the p2 director</h4>
+<div class="paragraph">
+<p>You can provision new features on top of your Virgo installation using the p2 director. It can be used both for initial provisioning and extending an existing installtion.</p>
+</div>
+<div class="paragraph">
+<p>For extending an existing installation you can use these director arguments:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>-repository http://download.eclipse.org/rt/ecf/3.5.3/site.p2
+-installIU org.eclipse.ecf.remoteservice.feature.feature.group
+-destination <your {virgo-name} installation folder></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This installs the <strong>latest</strong> version of the specified p2 feature in your Virgo installation’s p2 profile.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_extending_via_the_p2_shell_commands">Extending via the p2 shell commands</h4>
+<div class="paragraph">
+<p>Another way to achieve the same results is to use the p2 commands. The commands are available only in VN as it includes p2 by default.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>For the other distributions only the director is supported and the operation only extends their kernel region.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Here’s a list of the most commonly used p2 commands:</p>
+</div>
+<div class="paragraph">
+<p><a id="p2-common-commands-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 8. p2 Common Shell Commands</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Command</th>
+<th class="tableblock halign-left valign-top">Help</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provaddrepo <repository URI></code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Add specified URI as metadata and artifact repository. Note that if you pass a wrong URL you’ll get an error saying:
+ <code>Repository not modifiable: <a href="http://wrongURL" class="bare">http://wrongURL</a></code>. The default behavior of this command is to create an empty repository at the
+ specified location if there isn’t any. That won’t work for remote locations so keep in mind that if you see this you probably passed a wrong URL.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provdelrepo <repository URI></code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Remove specified metadata and artifact repository.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provinstall <InstallableUnit> <version> <profileid></code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Install an IU to the profileid. If no profileid is given, installs into default profile.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provremove <InstallableUnit> <version> <profileid></code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Uninstall an IU from the profileid. If no profileid is given, uninstalls form default profile.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provlg [<repository URI | *> <iu id | *> <version range | *>]</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists all IUs with group capabilities in the given repo or in all repos if URI is omitted.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>provliu [<repository URI | *> <iu id | *> <version range | *>]</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lists the IUs that match the pattern in the given repo. * matches all.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>confapply</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This is a Simple Configurator command, not a p2 one. However it is relevant because it applies dynamically, at runtime, the installed p2 features.
+ What the command does is to apply to the running OSGi framework the current content in the bundles.info file. When using the provinstall command it takes care of updating the bundles.info file.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Here’s an example showing how to install the ECF remote services but with the p2 commands this time:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>osgi> provaddrepo http://download.eclipse.org/rt/ecf/3.5.3/site.p2
+
+osgi> provlg
+
+org.eclipse.ecf.core.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.core.featurepatch.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.core.featurepatch.source.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.core.source.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.datashare.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.datashare.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.dnssd.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.dnssd.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.jmdns.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.jmdns.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.slp.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.slp.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.zookeeper.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.discovery.zookeeper.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.eventadmin.examples.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.eventadmin.examples.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.eventadmin.feature.feature.group 2.0.0.v20111109-2142
+org.eclipse.ecf.eventadmin.source.feature.feature.group 2.0.0.v20111109-2142
+org.eclipse.ecf.osgi.services.feature.feature.group 2.0.1.v20111109-2142
+org.eclipse.ecf.osgi.services.source.feature.feature.group 2.0.1.v20111109-2142
+org.eclipse.ecf.remoteservice.examples.feature.feature.group 1.1.0.v20111109-2142
+org.eclipse.ecf.remoteservice.examples.source.feature.feature.group 1.1.0.v20111109-2142
+org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.rest.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.rest.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.rosgi.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.rosgi.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.sdk.feature.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.remoteservice.sdk.source.feature.feature.group 3.5.3.v20111109-2142
+org.eclipse.ecf.remoteservice.soap.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.soap.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.remoteservice.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.server.generic.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.server.generic.source.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.xmpp.feature.feature.group 1.0.0.v20111109-2142
+org.eclipse.ecf.xmpp.source.feature.feature.group 1.0.0.v20111109-2142
+
+osgi> provinstall org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
+Installation complete for org.eclipse.ecf.remoteservice.feature.feature.group 1.0.0.v20111109-2142
+
+osgi> confapply
+
+osgi> ss
+
+"Framework is launched."
+
+
+id State Bundle
+0 ACTIVE org.eclipse.osgi_3.7.1.R37x_v20110808-1106
+...
+92 RESOLVED org.springframework.osgi.io_1.2.1
+93 RESOLVED org.eclipse.ecf.console_1.0.0.v20111109-2142
+94 RESOLVED org.eclipse.ecf.discovery_4.0.0.v20111109-2142
+95 RESOLVED org.eclipse.ecf.provider_4.2.100.v20111109-2142
+96 RESOLVED org.eclipse.ecf.provider.discovery_2.1.200.v20111109-2142
+97 RESOLVED org.eclipse.ecf.provider.remoteservice_4.0.0.v20111109-2142
+98 RESOLVED org.eclipse.ecf.remoteservice_6.0.200.v20111109-2142
+99 RESOLVED org.eclipse.ecf.sharedobject_2.2.100.v20111109-2142
+100 RESOLVED org.eclipse.equinox.concurrent_1.0.200.v20110502</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can see that after applying the changes with <strong>confapply</strong> the remote services bundles and their dependencies are installed in VN.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-console"></a></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_web_admin_console">The Web Admin Console</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Admin Console</p>
+</div>
+<div class="paragraph">
+<p>The Web Server Admin Console is a Web application for managing a single instance of Virgo for Apache Tomcat or Virgo Jetty Server
+(referred to, generically, as "Web Server" below). Using the Admin Console, you can:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#admin-console-login">View an overview of the Web Server properties</a>.</p>
+</li>
+<li>
+<p><a href="#admin-console-manage-artifacts">View and manage the lifecycle</a> of artifacts already deployed to the Web Server instance. Artifacts include bundles, configuration files, PARs, and plans. Lifecycle management tasks include starting, stopping, refreshing, and uninstalling the artifacts.</p>
+</li>
+<li>
+<p><a href="#admin-console-install-artifacts">Install new artifacts to Web Server</a>.</p>
+</li>
+<li>
+<p><a href="#admin-console-view-properties">View the properties of the configuration artifacts</a> deployed to Web Server.</p>
+</li>
+<li>
+<p><a href="#admin-console-view-dumps">View details of dump files</a> that Web Server might have generated after encountering a problem. This feature is particularly valuable if Web Server fails to install a new artifact due to resolution failures; the OSGi state inspector can help you discover the exact artifact causing the resolution failure.</p>
+</li>
+<li>
+<p><a href="#admin-console-view-osgi-state">View an overview and details of the OSGi State</a> of Web Server, or in other words, a list of all bundles currently installed in Web Server and their state. You can then drill down into the details of each bundle, such as its symbolic name, packages it imports and exports, services it provides and consumes, and so on. You can also view the bundles that were deployed when an exception that generated a dump occurred.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section is not applicable to Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>ancor:admin-console-login[]</p>
+</div>
+<div class="sect2">
+<h3 id="_invoking_the_admin_console">Invoking the Admin Console</h3>
+<div class="paragraph">
+<p>To use the Admin Console, start the
+Virgo for Apache Tomcat and then enter the following URL in your
+browser of choice.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>http://localhost:8080/admin</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Replace <code>localhost</code> with the hostname of the computer on which the Virgo for Apache Tomcat is running if it is not the same as the computer on which you are running your browser.
+The Admin Console uses basic authentication, therefore you will need to enter the default administration ID and password.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>ID: admin
+Password: admin</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following graphic shows the main page of the Admin Console.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/console-main-page.png"" alt="console main page"></span></p>
+</div>
+<div class="paragraph">
+<p>Use the links at the top of the console to perform various tasks, such as viewing and managing artifacts (<emphasis role="bold">Artifacts*), viewing the properties of deployed configuration artifacts (<emphasis role="bold">Configuration*), viewing details of dumps (<emphasis role="bold">Dump Inspector*), and viewing the OSGi state of the Web Server instance (<emphasis role="bold">OSGi State*).</p>
+</div>
+<div class="paragraph">
+<p>You can always return to the main Admin Console page by clicking <emphasis role="bold">Information* in the top right-hand corner.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>The `Server Properties` section provides information about Web Server itself, such as details about the Java Virtual Machine (JVM), the operating system on which Web Server is installed, the time zone configured for the computer, and the complete version of Web Server.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-auth"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_changing_the_admin_user">Changing the Admin User</h4>
+<div class="paragraph">
+<p>To change the ID and password for the Admin Console, update the <code>SERVER_HOME/configuration/org.eclipse.virgo.kernel.users.properties</code> file. First specify the administration username by changing the value of the <code>role.admin</code> property. Then set the password of this new user by adding a new property called <code>user.<strong>username</strong></code>, where <code><strong>username</strong></code> refers to the actual name of the user. Finally, restart Web Server for the changes to take effect.
+For example, if you want change the administration username to <code>juliet</code> with password <code>capulet</code>, change the file as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">##################
+# User definitions
+##################
+user.juliet=capulet
+
+
+##################
+# Role definitions
+##################
+role.admin=juliet</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The Admin Console always runs against the <code>admin</code> role.</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-tasks"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_typical_admin_console_use_cases">Typical Admin Console Use Cases</h3>
+<div class="paragraph">
+<p>The following use cases describe the typical tasks that you can perform with the Admin Console:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#admin-console-manage-artifacts">View and Manage the Lifecycle of Deployed Artifacts</a></p>
+</li>
+<li>
+<p><a href="#admin-console-install-artifacts">Install a New Artifact</a></p>
+</li>
+<li>
+<p><a href="#admin-console-view-properties">View the Properties of Deployed Configuration Artifacts</a></p>
+</li>
+<li>
+<p><a href="#admin-console-view-dumps">View Details of Dump Files</a></p>
+</li>
+<li>
+<p><a href="#admin-console-view-osgi-state">View Overview and Details of the OSGi State</a></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-manage-artifacts"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_viewing_and_managing_the_lifecycle_of_deployed_artifacts">Viewing and Managing the Lifecycle of Deployed Artifacts</h4>
+<div class="paragraph">
+<p>The following procedure describes how to view the list of artifacts that are currently deployed in the user region of Web Server. It then describes how to stop, start, refresh, and uninstall the deployed artifacts.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <strong>Artifacts</strong> link at the top.
+In the lower part of the page, the console displays a tree structure that displays the four kinds of artifacts that you can deploy to the user region of Web Server: bundles, configuration files, PARs, and plans. When you first install Web Server, there will already be a number of artifacts deployed related to the Admin console itself, the main splash screen, the repository, and so on.
+The following graphic shows an expanded tree that displays a few of the deployed artifacts:
+<span class="image"><img src="assets/images/console-artifacts.png" alt="console artifacts"></span></p>
+</li>
+<li>
+<p>To view details of a particular artifact, click the "`" to the left of the artifact to expand the tree. The following graphic shows an expanded <code>org.eclipse.virgo.apps.admin.web</code> bundle:
+<span class="image"><img src="assets/images/console-bundle-details.png" alt="console bundle details"></span>
+The particular details that the Admin Console displays depends on the artifact. For example, for all artifacts you can view their state and how it was installed (such as by a user using the Admin Console or programmatically). The two most common states are Active (running and ready to be used) and Resolved (all dependencies resolved but you must start it before you can use it). An artifact can also be in one of the transition states, such as Starting and Stopping.
+As shown in the preceding graphic, the Admin Console provides a link for Web modules that you can click on to actually invoke the application (<code>org.eclipse.virgo.web.contextPath:/admin</code> in the example above).
+For PARs and plans, the Admin Console also displays whether the artifact is:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Scoped</strong>. Scoping specifies whether Web Server should deploy the members of the PAR/plan in their own scope; when scoping is disabled, Web Server deploys the artifacts into the global scope and they are accessible by all other artifacts.</p>
+</li>
+<li>
+<p><strong>Atomic</strong>. When a PAR/plan is atomic, Web Server manages the lifecycle of all its member artifacts as a single entity, which means if one artifact member is started, then Web Server starts all the PAR/plan artifacts. If one artifact fails to start, then Web Server stops all other artifacts in the PAR/plan.</p>
+</li>
+</ul>
+</div>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The following graphic shows details of a PAR, in particular that it is both scoped and atomic:
+<span class="image"><img src="assets/images/console-par-details.png" alt="console par details"></span>
+Finally, for bundles, PARs, and plans, you can see the list of bundles that they depend on; this typically means the bundles that export the packages that they import.</p>
+</div>
+<div class="paragraph">
+<p>To manage the lifecycle of an artifact, click on its name in the expanded tree to enable the lifecycle buttons. Then, depending on the current state of the artifact, you can:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Start the artifact. All dependencies of the artifact must have been resolved for you to start it. After successfully starting the artifact, it is in the Active state and you can use the application associated with the artifact.</p>
+</li>
+<li>
+<p>Stop the artifact. This moves the artifact from an Active to Resolved state, and you cannot use the application associated with the artifact.</p>
+</li>
+<li>
+<p>Refresh the artifact. This action updates the physical contents of the artifact; use this button when you have changed the artifact in some way and you want your changes to take effect.</p>
+</li>
+<li>
+<p>Uninstall the artifact. This action removes the artifact from Web Server and it does not show up in the Admin Console any more. To use the application associated with this artifact, you must re-install the artifact.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-install-artifacts"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing_a_new_artifact">Installing a New Artifact</h4>
+<div class="paragraph">
+<p>The following procedure describes how to install a new artifact (bundle, PAR, plan, or configuration file.) The procedure is similar for all types of artifacts; the procedure uses a WAR file as an example.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <strong>Artifacts</strong> link at the top.</p>
+</li>
+<li>
+<p>Click the <strong>Browse</strong> button to invoke the file loader application for your platform. Note that the Browse button searches the computer that is running the browser in which you invoked the Admin Console and <strong>not</strong> the computer on which Web Server is running, in the case where they are different.
+Use the file loader to find the artifact. This can be a WAR or JAR file bundle, a configuration artifact that contains properties, an XML file that corresponds to a plan, or a PAR file.</p>
+</li>
+<li>
+<p>Click <strong>Upload</strong> to actually upload the artifact to Web Server.
+Web Server automatically attempts to resolve all dependencies, and then puts the artifact in an Active state if possible. If all is successful, the message <code>Artifact Deployed</code> appears next to the <emphasis role="bold">Artifact Console* header. If there is an error, a message to that effect is displayed; to get more details about the error, see the terminal window from which you started Web Server.</p>
+</li>
+<li>
+<p>Expand the artifact tree to view your newly deployed artifact. If Web Server installed it without errors, it should show up in the appropriate section and be in an Active state.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-view-properties"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_viewing_properties_of_deployed_configuration_artifacts">Viewing Properties of Deployed Configuration Artifacts</h3>
+<div class="paragraph">
+<p>The following procedure describes how you can view the list of configuration artifacts that are currently deployed to Web Server, and then view the specific properties that are defined for a particular configuration artifact.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <emphasis role="bold">Configuration* link at the top.
+The Admin Console displays all the configuration artifacts that are currently deployed, as shown in the following graphic:
+<span class="image"><img src="assets/images/console-configuration-details.png" alt="console configuration details"></span></p>
+</li>
+<li>
+<p>To view the properties defined for a particular configuration artifact click the arrow to the left of its name.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-view-dumps"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_viewing_the_details_of_dump_files">Viewing the Details of Dump Files</h4>
+<div class="paragraph">
+<p>The following procedure describes how to view the details of any service dumps that have occurred in Web Server. Each time a dump is triggered for Web Server, the server creates a directory in <code>$SERVER_HOME/serviceability/dump</code> with a name corresponding to the time the dump occurred, and then the server populates the directory with detailed information. Using the Admin Console, you can easily view this information.
+A service dump is triggered when there is either a failure in the Web Server code or Web Server detects a thread deadlock in either its own code or a user application. The service dump contains a snapshot of all the important state from the running Web Server instance. <emphasis role="bold">NOTE:* This snapshot is not intended for end user consumption but is useful for service personnel.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <strong>Dump Inspector</strong> link at the top.</p>
+</li>
+<li>
+<p>In the drop-down box on the left, select the dump you want to inspect based on its timestamp.</p>
+</li>
+<li>
+<p>Click <strong>Select Dump</strong>.</p>
+</li>
+<li>
+<p>In the right drop-down box, select the type of dump information you want to view.
+For example, <code>summary.txt</code> provides a short summary of why the dump might have occurred. The <code>thread.txt</code> option provides information about the state of the Web Server threads at the time of the dump, including any that were deadlocked. The <code>repository</code> options provide information about what was in the external and user repositories at the time of the dump. The <code>configurationAdmin.properties</code> option provides a snapshot of the complete configuration of Web Server, including the kernel and repositories.</p>
+</li>
+<li>
+<p>Click <strong>Select Entry</strong>.
+The Admin Console displays the information in the Dump Entry Viewer, as shown in the following graphic:
+<span class="image"><img src="assets/images/console-dump-details.png" alt="console dump details"></span></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Note that the dump entry <code>osgi.zip</code> is a binary OSGi state dump which should be viewed as described in
+<a href="#admin-console-view-osgi-state">Viewing Overview and Details of the OSGi State</a>.
+Dumps may contain other binary entries which are not intended for viewing via the dump inspector.
+For example, <code>heap.out</code> contains a dump of the Java heap and <code>region.digraph</code>
+contains a dump of the sharing policy between kernel and use region (this is used by the OSGi state dump inspector).</p>
+</div>
+<div class="paragraph">
+<p><a id="admin-console-view-osgi-state"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_viewing_overview_and_details_of_the_osgi_state">Viewing Overview and Details of the OSGi State</h4>
+<div class="paragraph">
+<p>The following procedure describes how you can view the OSGi state of the Web Server, either currently or at the time that a particular service dump
+occurred.</p>
+</div>
+<div class="paragraph">
+<p>The OSGi state is a list of bundles that are currently installed. When viewing the current state, additional information is available
+such as whether each bundle is Spring powered and a list of services in the OSGi service registry. This additional information is not available
+when viewing a state dump.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>From the main Admin Console page, click the <strong>OSGi State</strong> link at the top.
+By default, the Admin Console displays the complete list of bundles that are currently installed in Web Server.
+For each bundle, the console displays its internal ID, its symbolic name, its version, and its current state (usually either Active or Resolved.)</p>
+</li>
+<li>
+<p>To view the bundles that were installed at the time of a service dump, select the service dump based on its timestamp from the drop-down box on the
+right and click <strong>Go</strong>.</p>
+</li>
+<li>
+<p>To view details about a particular bundle, click on its bundle ID. A full description of the bundle is displayed, as shown in the following graphic:
+<span class="image"><img src="assets/images/console-osgi-state.png" alt="console osgi state"></span>
+The console displays again the symbolic name, version, and internal ID of the bundle. It then displays whether the bundle is Spring powered and the exact physical location of the bundle JAR file on the computer that hosts Web Server.
+The console then displays the full list of packages that the bundle imports, as well as the bundles that in turn export these imported packages. The console also displays the packages that the current bundle exports, and then in turn the list of other installed bundles that are currently importing these exported packages. For each package, you can drill down and view details of the corresponding bundle.
+Similarly, the console displays the consumed and provided OSGi services.
+Finally, the console also displays information about the Spring context, if the bundle is Spring powered.</p>
+</li>
+<li>
+<p>To view the full list of OSGi services, click the <code>Services Overview</code> link from the main OSGi state page</p>
+</li>
+<li>
+<p>Typically, the list of bundles and services can be very long, making it difficult to find a particular bundle. Use the <strong>Search</strong> box at the top right corner to narrow down the list of displayed bundles.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Enter a package name with wildcards '*' representing part of a package name (excluding periods) and
+'*' representing one or more components of a package name separated by periods.
+For example, <code>*.virgo.*</code> displays Virgo packages.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository"></a></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_provisioning_repository_2">The Provisioning Repository</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="repository-introduction"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_overview_of_the_provisioning_repository">Overview of the Provisioning Repository</h3>
+<div class="paragraph">
+<p>This section describes the provisioning repository feature of Virgo, the reasons for using it, and how to configure it.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section is not applicable to Virgo Nano. The provisioning mechanism used there is p2.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>In most use cases, your application has a dependency on one or more separate artifacts; these artifacts might include OSGi bundles, configuration artifacts, third-party libraries, PARs or plans. A typical example is a Spring application that depends on a third-party library such as Spring Framework or Hibernate.</p>
+</div>
+<div class="paragraph">
+<p>The way you express this dependency depends on the artifact. For example, a plan is by definition a list of dependent bundles.</p>
+</div>
+<div class="paragraph">
+<p>Libraries are another example. Some third-party dependencies consist of multiple bundles but are logically one unit. To support this, Virgo has a concept of a library. A library is a collection of related bundles that can be referenced as a whole. You typically express the dependencies between your application and third-party libraries using the <code>Import-Package</code>, <code>Import-Bundle</code>, or <code>Import-Library</code> manifest header in the <code>MANIFEST.MF</code> file of your application. The <code>Import-Package</code> header is standard to OSGi; <code>Import-Bundle</code> and <code>Import-Library</code>, however, are specific to Virgo.</p>
+</div>
+<div class="paragraph">
+<p>For additional details about the creation and usage of libraries, as well as general information about dependencies, see {programer-guide}.</p>
+</div>
+<div class="paragraph">
+<p>In Virgo, you store all third-party dependencies required by your applications, such as Spring Framework and Hibernate, as artifacts in the provisioning repository. As mentioned above, you can store the following types of artifacts in the repository:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>OSGi bundles</p>
+</li>
+<li>
+<p>Libraries</p>
+</li>
+<li>
+<p>PARs</p>
+</li>
+<li>
+<p>Plans</p>
+</li>
+<li>
+<p>Configuration Artifacts</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>When you deploy your application, Virgo installs the bundle(s) comprising the application to the Virgo runtime; part of this internal installation procedure is to satisfy all the application’s dependencies. If your application has a dependency that cannot be satisfied from the bundles that you have already deployed (and Virgo has thus installed), then Virgo searches the provisioning repository for an artifact that can satisfy that dependency.</p>
+</div>
+<div class="paragraph">
+<p>The provisioning repository for a particular instance of Virgo can include artifacts in the following general locations:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Local: This means that artifacts have been physically installed in the provisioning repository directory structure of the local Virgo instance. The artifacts in a local repository include installed third-party libraries, bundles supplied by Virgo, bundles supplied by an end user, and internal bundles used only by Virgo. You can further categorize this location into <code>external</code> directories that adhere to a specified search pattern and are scanned by Virgo just on a clean startup, or <code>watched</code> directories that point to a single directory location and which Virgo scans on a regular basis.</p>
+</li>
+<li>
+<p>Remote: This means that a local instance of Virgo gets the artifact from a remotely-hosted repository that is physically located on a remote Virgo for Apache Tomcat instance.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>You configure the provisioning repository using the <code>$SERVER_HOME/configuration/org.eclipse.virgo.repository.properties</code> file.</p>
+</div>
+<div class="paragraph">
+<p>As previously described, a particular instance of Virgo for Apache Tomcat can itself also act as a repository host for remote server instances to use when satisfying the dependencies of the applications deployed to it. In this case, you configure a hosted repository using the <code>$SERVER_HOME/configuration/org.eclipse.virgo.apps.repository.properties</code> file. Typically, only remote clients use hosted repositories and their contents; the Virgo for Apache Tomcat instance that actually hosts the repository does not typically use the artifacts in it. Rather, it uses artifacts in its local repository.</p>
+</div>
+<div class="paragraph">
+<p>Making a third-party dependency available to your application is simply a matter of adding its artifact to the appropriate location in the provisioning repository. This could be either in the local directories or the remote ones if you are getting artifacts from a remotely-hosted repository.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-structure"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_local_repository_structure">Local Repository Structure</h4>
+<div class="paragraph">
+<p>When you first install Virgo, the local provisioning repository is located at <code>$SERVER_HOME/repository</code> by default and consists of two main directories: <code>ext</code> and <code>usr</code>. The <code>ext</code> directory contains artifacts supplied with the Virgo and <code>usr</code> contains artifacts supplied by the user and is initially empty.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-installing-bundles"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_installing_artifacts_to_a_repository">Installing Artifacts to a Repository</h4>
+<div class="paragraph">
+<p>To install an artifact into the default repository, simply copy it into the <code>$SERVER_HOME/repository/usr</code> directory.</p>
+</div>
+<div class="paragraph">
+<p>If you have configured additional watched or external repositories (additional, that is, to the default ones already configured in a freshly-installed Virgo instance), you install the artifacts in the same way: simply copy the files to the configured directories. You configure additional watched or external repositories in the same file as the default repositories: <code>$SERVER_HOME/configuration/org.eclipse.virgo.repository.properties</code>.</p>
+</div>
+<div class="paragraph">
+<p>When you install a plan or a library into the repository, you must ensure that all referenced artifacts within the plan or library have been installed as well.</p>
+</div>
+<div class="paragraph">
+<p>Artifacts must have unique names so it is considered best practice to include the version number in the file name,
+allowing for multiple versions of the artifact to be installed at the same time. For example, a bundle file name might be <code>my-exciting-bundle.2.1.0.jar</code>.</p>
+</div>
+<div class="paragraph">
+<p>For watched repositories, such as <code>$SERVER_HOME/repository/usr</code>, Virgo automatically detects changes
+at runtime, thereby avoiding the need to restart Virgo.</p>
+</div>
+<div class="paragraph">
+<p>Of specific relevance during development is picking up changes to an application’s direct dependencies during deployment of the application. For example, if you deploy an application and receive a message that a dependency is missing, you can simply add the dependency to the repository and then redeploy the application. The redeploy will cause the new dependency to be picked up, allowing progress to be made without restarting Virgo. For other changes such as addition of optional dependencies, Virgo must be restarted to pick up any changes to the provisioning repository.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-brits"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_downloading_bundles_from_the_ebr">Downloading Bundles from the EBR</h3>
+<div class="paragraph">
+<p>The <a href="http://www.eclipse.org/ebr">EBR</a> is a public collection of open source libraries commonly used for developing enterprise Java applications with the Spring Framework and Virgo. It contains hundreds of the most popular enterprise Java libraries made available for general use in an OSGi-ready format. You can browse the collection and then download the bundles that you need into your own local repository.</p>
+</div>
+<div class="paragraph">
+<p>The <a href="http://www.eclipse.org/ebr">EBR</a> is located <a href="http://www.springsource.com/repository">here</a>.</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="assets/images/bundle-repository.png" alt="bundle repository"></span></p>
+</div>
+<div class="paragraph">
+<p>You can find bundles in the repository using a number of options. You use the ‘Search' facility by typing in a keyword. The matching criteria returned can be explored by name, symbolic name, class, package or resource.</p>
+</div>
+<div class="paragraph">
+<p>There is also the option of clicking on ‘Browse by Bundle'. This gives an alphabetical list of bundles. You can select the desired bundle to see details and find the download link. Finally, you can also choose to ‘Browse by Library', which allows you to browse the alphabetical list of libraries in the repository.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-configuration"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_repository">Configuring the Repository</h3>
+<div class="paragraph">
+<p>Details of how to configure a Virgo installation’s provisioning repository can be found in <a href="#configuring-provisioning-repository">Configuring the Provisioning Repository</a>. See <a href="#configuring-hosted-repo">Configuring a Hosted Repository</a> for details of how to configure a repository that remote clients can access, also called a hosted repository.</p>
+</div>
+<div class="paragraph">
+<p>The two configuration sections describe the format of the repository properties files of Virgo, how to add new directories to the local repository, how to configure the repository to get artifacts from a remote repository hosted on a remote VTS instance, and how to configure the local VTS instance to host a repository that other remote servers access.</p>
+</div>
+<div class="paragraph">
+<p><a id="serviceability"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_serviceability_and_diagnostics">Serviceability and Diagnostics</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Virgo supports two kinds of logging: <strong>Event Logging</strong> and <strong>Trace logging</strong> which is usually referred
+to simply as <strong>Logging</strong>. The difference between Event Logging and Logging is explained below, but both are configured in the
+<code>serviceability.xml</code> file in the <code>configuration</code> directory. This file takes the form of a Logback configuration, Virgo
+uses a Logback implementation behind the SLF4J logging interface.</p>
+</div>
+<div class="paragraph">
+<p>For a description of the syntax and facilities provided by <code>serviceability.xml</code>
+see the <strong>Logback</strong> documentation (referenced in <a href="#furtherreading">Further Reading</a>).</p>
+</div>
+<div class="paragraph">
+<p><a id="serviceability-info-log"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_event_logging">Event Logging</h3>
+<div class="paragraph">
+<p>Event logging records important events in Virgo. Each event is logged to
+an event log file and is accompanied by a code enclosed in angle brackets.
+An example is shown below:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2010-10-25 16:20:45.897] system-artifacts <TC0010I> Creating HTTP/1.1 connector with scheme http on port 8080.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>(For a description of the log code syntax, see <a href="#log-codes">[log-codes]</a>.)
+The format of event log messages is fully configurable.</p>
+</div>
+<div class="paragraph">
+<p>By default, event log messages are stored in <code>$SERVER_HOME/serviceability/eventlogs/eventlog.log</code>.</p>
+</div>
+<div class="paragraph">
+<p>The default behaviour is that, once <code>eventlog.log</code> reaches a 10Mb limit, it rolls into a series of files named
+<code>eventlog_</code><strong>i</strong><code>.log</code> where <strong>i</strong> ranges from 1 to 4, and event logging continues in
+a new <code>eventlog.log</code> file.</p>
+</div>
+<div class="paragraph">
+<p><a id="serviceability-info-trace"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__trace_logging">(Trace) Logging</h3>
+<div class="paragraph">
+<p>The Virgo’s (trace) logging support serves two main purposes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>It provides global trace files that capture high-volume information regarding the Virgo’s internal events.
+The files are intended for use by support personnel to diagnose runtime problems.</p>
+</li>
+<li>
+<p>It provides application trace files that contain application-generated output. This includes output generated using popular logging and
+tracing APIs including the OSGi LogService, as well as output generated by calls to <code>System.out</code> and <code>System.err</code>.
+These files are intended for use by application developers and system administrators. An application is defined as a scope so a single bundle will
+not get its own log file unless it is a Web application Bundle or is included in a scoped plan or a par file.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>By default, the Virgo trace file is called <code>$SERVER_HOME/serviceability/logs/log.log</code>,
+and, again by default, the application trace files are called <code>$SERVER_HOME/serviceability/logs/</code><strong>application_name</strong>
+<code>/log.log</code>, where <strong>application_name</strong> is automatically set by Virgo for each application artifact
+installed and run (it is a combination of the artifact name and the version).</p>
+</div>
+<div class="paragraph">
+<p>The default behaviour of these trace files is that, once <code>log.log</code> reaches a 10Mb limit, it rolls into a series of files named
+<code>log_</code><strong>i</strong><code>.log</code> where <strong>i</strong> ranges from 1 to 4, and logging continues in
+a new <code>log.log</code> file.</p>
+</div>
+<div class="paragraph">
+<p>Entries in trace files are by default of the form <timestamp> <thread-name> <source> <level> <entry-text>. For example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2008-05-15 09:09:46.940] server-dm-2 org.apache.coyote.http11.Http11Protocol I Initializing Coyote HTTP/1.1 on http-48080</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>although this format is completely determined by the Logback configuration file <code>serviceability.xml</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="serviceability-info-trace-app"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_application_output">Application Output</h4>
+<div class="paragraph">
+<p>Virgo provides advanced support for capturing and tracing application-generated output by automatically separating trace output on a
+per-application basis and will also capture any <code>System.out</code> and <code>System.err</code> output.</p>
+</div>
+<div class="paragraph">
+<p><a id="per-application-trace"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_per_application_trace">Per-application trace</h4>
+<div class="paragraph">
+<p>Virgo uses SLF4J interfaces to Logback, and the root logger (by default) captures all logging output
+and appends it to the application-specific trace files as described above.
+To modify this, define application-specific loggers in the <code>serviceability.xml</code> file in the normal way.</p>
+</div>
+<div class="paragraph">
+<p><a id="sysout-and-syserr"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_system_out_and_system_err">System.out and System.err</h3>
+<div class="paragraph">
+<p><code>System.out</code> and <code>System.err</code> output from applications is, by default, captured in the
+application’s trace file.
+This happens because the output streams are intercepted and written to the loggers named
+<code>System.out</code> and <code>System.err</code> respectively.
+Since there are no explicit loggers defined with these names in the <code>serviceability.xml</code> file,
+this output is logged by the root logger (which captures <code>INFO</code> level and above).</p>
+</div>
+<div class="paragraph">
+<p>The capture of <code>System.out</code> and <code>System.err</code> output is configured in the
+<code>configuration/org.eclipse.virgo.medic.properties</code> file by the <code>log.wrapSysOut</code> and
+<code>log.wrapSysErr</code> properties. By default the properties have a value of <code>true</code>
+and capture is enabled. Capture can be disabled by configuring the properties with a value of <code>false</code>.
+The third and last accepted value is <code>tee</code> which captures the System streams output in the logs
+while at the same time allows printing output to the System streams. Thus this output will appear both in the logs
+and in the System stream output - an example could be the Equinox console, launched with <code>-console</code> startup argument.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>If you provide value different than 'true | tee | false' then the server will default to 'tee' and print out a warning.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The trace entries for <code>System.out</code> and <code>System.err</code>
+output are of the form:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2008-05-16 09:28:45.874] server-tomcat-thread-1 System.out Hello world!
+[2008-05-16 09:28:45.874] server-tomcat-thread-1 System.err Hello world!</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The third column indicates where the output came from (<code>System.out</code> or <code>System.err</code>).</p>
+</div>
+<div class="paragraph">
+<p>To over-ride this behaviour, simply define explicit loggers named <code>System.out</code>
+and/or <code>System.err</code> in the configuration file to send this output to an appender of your choice.
+Be aware that all applications' output streams will be caught by these loggers, and that a sifting appender might be useful to separate them.</p>
+</div>
+<div class="paragraph">
+<p><a id="janino"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_janino">Janino</h4>
+<div class="paragraph">
+<p>Janino can be used to define trace filters as Java expressions. This adds a significant overhead to tracing, so should be used with care.</p>
+</div>
+<div class="paragraph">
+<p>For example, the addition of the following filter element to the sifting appender in <code>serviceability.xml</code>
+suppresses per-application trace output that is not associated with a particular application and is normally written to
+<code>serviceability/logs/virgo-kernel/log.log</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><appender name="SIFTED_LOG_FILE" class="ch.qos.logback.classic.sift.SiftingAppender">
+ <discriminator>
+ <Key>applicationName</Key>
+ <DefaultValue>virgo-kernel</DefaultValue>
+ </discriminator>
+ <sift>
+ <appender name="${applicationName}_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
+ <expression>
+ (mdc == null) || (mdc.get("applicationName") == null)
+ </expression>
+ </evaluator>
+ <OnMismatch>NEUTRAL</OnMismatch>
+ <OnMatch>DENY</OnMatch>
+ </filter>
+ <file>serviceability/logs/${applicationName}/log.log</file>
+ ...
+ </appender>
+ </sift>
+</appender></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To enable Janino in Virgo, place the Janino and commons compiler JARs, converted to OSGi bundles, in <code>plugins</code>.
+For example these bundles are available at v2.6.1 from the SpringSource Enterprise Bundle Repository.
+Then add the following lines to
+<code>configuration/org.eclipse.equinox.simpleconfigurator/bundles.info</code>
+(as described in <a href="#configuring-framework-bundles">Configuring OSGi Framework Bundles</a>):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">com.springsource.org.codehaus.janino,2.6.1,plugins/com.springsource.org.codehaus.janino-2.6.1.jar,4,false
+com.springsource.org.codehaus.commons.compiler,2.6.1,plugins/com.springsource.org.codehaus.commons.compiler-2.6.1.jar,4,false]]></programlisting></code></pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Current versions of Logback, including 0.9.28 to 1.0, do not set Janino’s "parent" class loader correctly.
+This bug is covered by the Logback issue <a href="http://jira.qos.ch/browse/LBCORE-244">LBCORE-244</a>.
+With such versions, it is necessary to attach a fragment bundle to Janino. Place the fragment bundle in <code>plugins</code> and list it in
+<code>configuration/org.eclipse.equinox.simpleconfigurator/bundles.info</code>.
+The fragment’s contents are described in <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=333920#c15">bug 333920</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="serviceability-info-dump"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_service_dumps">Service Dumps</h3>
+<div class="paragraph">
+<p>A service dump is triggered when one of the following events
+occurs:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>A failure is detected in the Virgo code, or</p>
+</li>
+<li>
+<p>a thread deadlock is detected.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>A service dump contains a snapshot of all the important state from
+the running Virgo instance. This snapshot is not intended
+for end user consumption but is useful for service personnel.</p>
+</div>
+<div class="paragraph">
+<p>By default, service dumps are created in <code>$SERVER_HOME/serviceability/dump</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_working_with_applications">Working with Applications</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="deployment-deploying"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_deploying_artifacts">Deploying Artifacts</h3>
+<div class="paragraph">
+<p>In the context of Virgo for Apache Tomcat, <strong>deploying</strong> refers to installing an artifact to the server and then starting it to make it available to users. Typically, when you install an artifact, VTS automatically starts it as long as the server is able to successfully resolve all its dependencies. For this reason, the terms <strong>deploying</strong> and <strong>installing</strong> are often used interchangeably.</p>
+</div>
+<div class="paragraph">
+<p>You deploy artifacts to Virgo for Apache Tomcat using either the hot-deploy directory on the file system or by using the Admin Console. The artifacts that you can deploy to VTS are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Bundles, including Web Application Bundles</p>
+</li>
+<li>
+<p>WARs</p>
+</li>
+<li>
+<p>PARs</p>
+</li>
+<li>
+<p>Plans</p>
+</li>
+<li>
+<p>Configuration Files</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-nested-contexts"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_deploying_wars_with_nested_web_contextpaths">Deploying WARs with nested Web-ContextPaths</h4>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section currently is ONLY relevant for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Virgo Nano Web supports deployment of WAR files which are transformed into Web Application Bundles. This process involves automatic creation of an OSGi manifest with all relevant OSGi header plus the very important Web-ContextPath header. Its value defines how the deployed WAR file can be requested. There is a limitation about this process that the automatic generation only creates a flat context path which equals the name of your WAR file. Virgo Nano Web supports generation of a nested one.</p>
+</div>
+<div class="paragraph">
+<p>In order to benefit from this flexibility all you need to do is just to add hashes '#' to your WAR file name in the places where you want to have slashes in your web context path. Here is an example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>myWarFile.war would result into "/myWarFile" web context path</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>my#War#File.war would result into "/my/War/File" web context path</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The symbolic name of the resulting WAB file is the same as the WAR file name but the hashes '#' are replaced with dots '.'.</p>
+</div>
+<div class="paragraph">
+<p><a id="initial-deployment-deploying-bulk"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_initial_bulk_hot_deploy">Initial Bulk Hot Deploy</h4>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This section currently is ONLY relevant for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>To hot deploy an artifact initially in bulk mode, copy it into the pickup directory (by default <code>$SERVER_HOME/pickup</code>) and start up the server. Upon this startup all the artifacts in the <code>pickup</code> directory will get first installed and resolved and only then they will be started.</p>
+</div>
+<div class="paragraph">
+<p>This solves the problem where artifacts depend on each other and when not in bulk mode the install order is not guaranteed therefore errors could occur.</p>
+</div>
+<div class="paragraph">
+<p>This is only available as part of the initial scan of the <code>pickup</code> directory. Subsequently it goes back to the known mode of single file handled at a time.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd /home/applications
+$ cp BundleA.jar $SERVER_HOME/pickup
+$ cp BundleWithDependencyOnA.jar $SERVER_HOME/pickup
+$ cd $SERVER_HOME/bin
+$ ./startup.sh</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When the server is started, artifacts are hot deployed and messages similar to the following appear in the log file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-12-10 06:41:01.021] fs-watcher <HD0001I> Hot deployer processing 'INITIAL' event for file 'BundleA.jar; BundleWithDependencyOnA.jar; '.
+[2009-12-10 06:41:01.087] fs-watcher <DE0000I> Installing bundle 'BundleA' version '0.0.0'.
+[2009-12-10 06:41:01.274] fs-watcher <DE0001I> Installed bundle 'BundleA' version '0.0.0'.
+[2009-12-10 06:41:01.087] fs-watcher <DE0000I> Installing bundle 'BundleWithDependencyOnA' version '0.0.0'.
+[2009-12-10 06:41:01.274] fs-watcher <DE0001I> Installed bundle 'BundleWithDependencyOnA' version '0.0.0'.
+[2009-12-10 06:41:01.397] fs-watcher <DE0004I> Starting bundle 'BundleA' version '0.0.0'.
+[2009-12-10 06:41:01.550] start-signalling-1 <DE0005I> Started bundle 'BundleA' version '0.0.0'.
+[2009-12-10 06:41:01.397] fs-watcher <DE0004I> Starting bundle 'BundleWithDependencyOnA' version '0.0.0'.
+[2009-12-10 06:41:01.550] start-signalling-1 <DE0005I> Started bundle 'BundleWithDependencyOnA' version '0.0.0'.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If there is a problem with the deployment, such as the server being unable to resolve all dependencies, the console and log both show an error message to help you with troubleshooting.</p>
+</div>
+<div class="paragraph">
+<p>If there are no problems, Virgo Nano automatically starts the artifacts so that they are immediately available to users.</p>
+</div>
+<div class="paragraph">
+<p>Bulk deployment can be disabled and reverted back to the old one-file-at-a-time processing by removing this line from <code>$SERVER_HOME/configuration/config.ini</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">org.eclipse.virgo.fschecker.initialEventMode=bulk</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-hot"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_hot_deploy">Hot Deploy</h4>
+<div class="paragraph">
+<p>To hot deploy an artifact, copy it into the pickup directory (by default <code>$SERVER_HOME/pickup</code>):</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd /home/applications
+$ cp helloWorld.war $SERVER_HOME/pickup</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When the artifact is hot deployed, messages similar to the following appear in the log file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-12-10 06:41:01.021] fs-watcher <HD0001I> Hot deployer processing 'CREATED' event for file 'helloWorld.war'.
+[2009-12-10 06:41:01.087] fs-watcher <DE0000I> Installing bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:41:01.274] fs-watcher <DE0001I> Installed bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:41:01.397] fs-watcher <DE0004I> Starting bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:41:01.414] Thread-3 <WE0000I> Starting web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2009-12-10 06:41:01.537] Thread-3 <WE0001I> Started web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2009-12-10 06:41:01.550] start-signalling-1 <DE0005I> Started bundle 'helloWorld' version '0.0.0'.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If there is a problem with the deployment, such as the server being unable to resolve all dependencies, the console and log both show an error message to help you with troubleshooting.</p>
+</div>
+<div class="paragraph">
+<p>If there are no problems, VTS automatically starts the artifact so that it is immediately available to users.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-redeploy-hot"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_hot_redeploy">Hot Redeploy</h4>
+<div class="paragraph">
+<p>To hot redeploy an artifact which is already hot deployed, copy the updated artifact into the pickup directory (by default <code>$SERVER_HOME/pickup</code>),
+just as for hot deploy. When the artifact is redeployed, messages similar to the following appear in the log file:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2013-01-09 14:08:12.422] fs-watcher <HD0001I> Hot deployer processing 'MODIFIED' event for file 'helloWorld.war'.
+[2013-01-09 14:08:12.422] fs-watcher <DE0007I> Refreshing bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:12.469] fs-watcher <WE0002I> Stopping web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2013-01-09 14:08:13.094] fs-watcher <WE0003I> Stopped web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2013-01-09 14:08:13.094] fs-watcher <DE0010I> Stopping bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:13.110] fs-watcher <DE0011I> Stopped bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:13.250] fs-watcher <DE0004I> Starting bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:13.250] start-signalling-2 <WE0000I> Starting web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2013-01-09 14:08:13.860] start-signalling-2 <WE0001I> Started web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2013-01-09 14:08:13.860] start-signalling-2 <DE0005I> Started bundle 'helloWorld' version '0.0.0'.
+[2013-01-09 14:08:13.860] fs-watcher <DE0008I> Refreshed bundle 'helloWorld' version '0.0.0'.</pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The following paragraph is ONLY relevant for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The redeploy waits for any previous operations on the artifact being redeployed to finish. The wait timeout could be configured through the following property in <code>$SERVER_HOME/configuration/config.ini</code>:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>org.eclipse.virgo.update.timeout</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-manual"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_deploying_using_the_admin_console">Deploying Using the Admin Console</h4>
+<div class="paragraph">
+<p>The Admin Console allows you to upload a file, which will be deployed automatically, from your local file system to the Virgo for Apache Tomcat. As soon as Virgo for Apache Tomcat deploys the artifact, it appears in the list of artifacts in the Admin Console. Note that the GUI for uploading varies according to the browser and operating system you use.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#admin-console-install-artifacts">Installing a New Artifact</a> for details about using the Admin Console to install (deploy) an artifact. See <a href="#admin-console">The Web Admin Console</a> for general information about the Admin Console.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-happens"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_what_happens_when_you_deploy">What Happens When You Deploy</h4>
+<div class="paragraph">
+<p>When you deploy an artifact, either using hot-deployment or the Admin Console, Web Server copies the file to its work directory (<code>SERVER_HOME/work</code>) and registers it in its internal registry.
+The server then checks any dependencies the artifact might have to see if
+deployment can go ahead, and if all dependencies are resolved, Virgo for Apache Tomcat starts the artifact.
+Because of all these additional internal activities, you should NOT simply copy the artifact into the <code>work</code> directory and assume it will be deployed, because Virgo for Apache Tomcat will not do so.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-ordering"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_deployment_ordering">Deployment Ordering</h4>
+<div class="paragraph">
+<p>When deploying bundles that have dependencies, it is important
+that you deploy them in the correct order. Virgo for Apache Tomcat
+honors this ordering when it redeploys the artifacts on startup.</p>
+</div>
+<div class="paragraph">
+<p>If you use hot deployment to deploy your artifacts, be sure to copy the corresponding files into the pickup
+directory one-by-one. Copying the files in one group, for example by using a single <code>cp</code> command, provides no guarantee of ordering.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-shared"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_deploying_shared_artifacts">Deploying Shared Artifacts</h4>
+<div class="paragraph">
+<p>Artifacts may be shared by plans.
+Sharing occurs when a plan is deployed which references an artifact that was previously deployed or is a child artifact
+of a plan that was previously deployed.
+Sharing also occurs when an artifact is deployed which is already a child of a deployed plan, but in this case the shared
+artifact may <strong>not</strong> appear as a top-level artifact, for example, in the Admin Console, in the shell,
+and in JMX.</p>
+</div>
+<div class="paragraph">
+<p>Sharing is taken into account when artifacts are stopped.
+A shared artifact is stopped only when all the artifacts referencing the shared artifact have been stopped
+and, if the shared artifact was deployed in its own right, the artifact itself has been stopped.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-deploying-restrictions"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_restrictions">Restrictions</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat does not support deploying fragment bundles. Typically, fragment bundles should be placed in <code>$SERVER_HOME/repository/ext</code>
+or <code>$SERVER_HOME/repository/usr</code> so that they will be installed automatically with their host bundles.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-undeploy"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_undeploying_artifacts">Undeploying Artifacts</h3>
+<div class="paragraph">
+<p>You undeploy artifacts from Virgo for Apache Tomcat by using either the hot-deploy directory on the file system, or the Admin Console.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>As with deploying, in this guide the terms <strong>undeploying</strong> and <strong>uninstalling</strong> are used interchangeably.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="deployment-undeploy-hot"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_hot_undeploy">Hot Undeploy</h4>
+<div class="paragraph">
+<p>To hot-undeploy an artifact, remove the corresponding file from the pickup directory (by default <code>$SERVER_HOME/pickup</code>):</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>$ cd $SERVER_HOME/pickup
+$ rm helloWorld.war</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When Virgo for Apache Tomcat completes the undeployment of the artifact, messages similar to the following appear in the log:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[2009-12-10 06:46:33.254] fs-watcher <HD0001I> Hot deployer processing 'DELETED' event for file 'helloWorld.war'.
+[2009-12-10 06:46:33.259] Thread-3 <WE0002I> Stopping web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2009-12-10 06:46:33.285] Thread-3 <WE0003I> Stopped web bundle 'helloWorld' version '0.0.0' with context path '/helloWorld'.
+[2009-12-10 06:46:33.290] fs-watcher <DE0010I> Stopping bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:46:33.295] fs-watcher <DE0011I> Stopped bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:46:33.302] fs-watcher <DE0013I> Uninstalling bundle 'helloWorld' version '0.0.0'.
+[2009-12-10 06:46:33.319] fs-watcher <DE0014I> Uninstalled bundle 'helloWorld' version '0.0.0'.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="deployment-undeploy-manual"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_undeploying_using_the_admin_console">Undeploying Using the Admin Console</h4>
+<div class="paragraph">
+<p>You can undeploy only whole artifacts from the Admin Console, or in other words, you cannot undeploy the separate modules or bundles that make up an artifact.</p>
+</div>
+<div class="paragraph">
+<p>The only artifact that you cannot undeploy from the Admin Console is the Admin Console itself. If you need to undeploy this application, you must remove it from the pickup directory (by default <code>SERVER_HOME/pickup</code>); the name of the artifact is
+<code>org.eclipse.virgo.server.admin-3.7.0.RELEASE.plan</code>.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#admin-console-manage-artifacts">Viewing and Managing the Lifecycle of Deployed Artifacts</a> for details about uninstalling (undeploying) an artifact using the Admin Console. The high-level steps are to highlight the artifact in the artifact tree then click <code>Uninstall</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="deployment-undeploying-shared"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_undeploying_shared_artifacts">Undeploying Shared Artifacts</h4>
+<div class="paragraph">
+<p>Sharing is taken into account when artifacts are undeployed.
+A shared artifact is undeployed only when all the artifacts referencing the shared artifact have been undeployed
+and, if the shared artifact was deployed in its own right, the artifact itself has been undeployed.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring"></a></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_configuration">Configuration</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Configuration</p>
+</div>
+<div class="paragraph">
+<p>You use configuration files in the <code>$SERVER_HOME/configuration</code> directory to configure Virgo. You can also configure the OSGi framework using files the same <code>$SERVER_HOME/configuration</code> directory. This section divides the configuration of the server into the following high-level tasks:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#configuring-osgi-framework">Configuring the OSGi framework</a></p>
+</li>
+<li>
+<p><a href="#configuring-framework-extensions">Configuring framework extensions and fragments on the system bundle</a></p>
+</li>
+<li>
+<p><a href="#configuring-serviceability">Configuring serviceability</a></p>
+</li>
+<li>
+<p><a href="#configuring-provisioning-repository">Configuring the local provisioning repository</a></p>
+</li>
+<li>
+<p><a href="#configuring-hosted-repo">Configuring the hosted repository</a></p>
+</li>
+<li>
+<p><a href="#configuring-kernel">Configuring the kernel and User Region</a></p>
+</li>
+<li>
+<p><a href="#configuring-tomcat">Configuring the embedded Tomcat servlet container</a></p>
+</li>
+<li>
+<p><a href="#configuring-web">Configuring the web integration layer</a></p>
+</li>
+<li>
+<p><a href="#configuring-jetty">Configuring the embedded Jetty servlet container</a></p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="title">Why is there both a config and a configuration directory?</div>
+<div class="paragraph">
+<p>The <strong>config</strong> directory has always contained Virgo configuration files. When Virgo Nano and its support for p2 provisioning was introduced in Virgo 3.5.0, a <strong>configuration</strong> directory replaced the old <strong>config</strong> one. Now all Virgo configurations are assembled in that directory providing a single point of configuration. The directory name <strong>configuration</strong> in the installation’s root is used by default in p2 to configure the OSGi framework during provisioning.
+This chapter makes it clear which configuration goes in each directory.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Sections 4-6 and 8-9 does not apply for Virgo Nano.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-osgi-framework"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_osgi_framework">Configuring the OSGi Framework</h3>
+<div class="paragraph">
+<p>This section provides information about configuring the OSGi framework by updating the following files in the <code>$SERVER_HOME/configuration</code> directory:</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-osgi-framework-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 9. OSGi Framework Configuration Files</caption>
+<colgroup>
+<col style="width: 33%;">
+<col style="width: 33%;">
+<col style="width: 33%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property File</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Location</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>config.ini</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures <a href="#configuring-framework-properties">OSGi framework properties</a>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME/configuration</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bundles.info</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures <a href="#configuring-framework-bundles">OSGi framework bundles</a>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME/configuration/org.eclipse.equinox.simpleconfigurator</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java-server.profile</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-framework-profile">OSGi framework profile</a>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME/configuration</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-framework-properties"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_configuring_osgi_framework_properties">Configuring OSGi Framework Properties</h4>
+<div class="paragraph">
+<p>You specify the framework properties in the <code>$SERVER_HOME/configuration/config.ini</code> file. The
+properties most relevant to users are described in the following table.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>We strongly recommend that you update only the
+properties below; updating other properties could cause Virgo
+to fail.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-framework-properties-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 10. Framework Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.startup.wait.limit</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the amount of time, in seconds, after which various operations time out out while trying to start the kernel.
+ The default value is 180.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.suppress.heap.dumps</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Set to 'false' by default this property will prevent heap dumps being contributed to dumps taken during a
+ First Failure Data Capture (FFDC) event. When the heap dumps are produced they will be located along with
+ the other dump artifacts in the <code>$SERVER_HOME/serviceability/dump/</code> folder.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.java.profile</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the profile to use using a <code>file:</code> URI with default value
+ <code>file:configuration/java-server.profile</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.bundlefile.limit</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies a limit on the number of jar files the framework will keep open.
+ The minimum value allowed is 10. Any value less than 10 will disable the bundle file limit, making the the number of jar files the framework keeps open unlimited.
+ By default the value is 100.
+ Increase the default value if you have many jar files in the bundle class path, expect a lot of file system operations etc.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-framework-bundles"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuring_osgi_framework_bundles">Configuring OSGi Framework Bundles</h4>
+<div class="paragraph">
+<p>You specify the framework bundles in the <code>$SERVER_HOME/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info</code> file. The syntax
+that is accepted for listing bundles there is:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre><bsn>,<version>,<jar-location>,<start-level>,<toStart?>
+bsn - the bundle's symbolic name string
+version - the bundle's version string
+jar-location - relative or absolute path to the jar file
+start-level - a digit indicating the bundle's start level
+toStart? - true or false value indicating whether a bundle should be started or not</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Here’s an example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>org.eclipse.virgo.util.osgi,3.1.0.BUILD-20111031165127,plugins/org.eclipse.virgo.util.osgi_3.1.0.BUILD-20111031165127.jar,4,true</pre>
+</div>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>We strongly recommend that you don’t remove bundles already present in your bundles.info file as that may break your server. Add bundles here only if absolutely necessary.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-framework-profile"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuring_osgi_framework_profile">Configuring OSGi Framework Profile</h4>
+<div class="paragraph">
+<p>You specify the framework profile in the <code>$SERVER_HOME/configuration/java6-server.profile</code> file. The
+properties most relevant to users are described in the following table.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>We advise you not to change the framework profile unless you are sure you know exactly what
+you are doing; updating the profile could cause Virgo to fail.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-framework-profile-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 11. Framework Profile Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.osgi.framework.bootdelegation</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This property specifies the packages which are loaded by delegation to the application class loader.
+ Bundles can load classes belonging to these packages without importing the packages.
+ The <code>.<strong></code> wildcard matches any package suffix. <code>java.</strong></code> is always
+ boot delegated and must not be specified in this property.
+</p><p class="tableblock"> A common reason for adding packages to this property is to run Virgo under a performance profiler.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.osgi.framework.system.packages</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This property specifies the packages which are exported by the system bundle.
+ Although the system bundle is typically imported into the User Region, any additional packages will not be
+ visible in the User Region unless you also import them using the <code>packagedImports</code> property.
+ See <a href="#configuring-user-region">Configuring the User Region</a> for instructions.
+</p><p class="tableblock"> It is very occasionally necessary to extend the set, for example when configuring email logging appenders since the
+ implementation of <code>javax.mail</code> is intimately related to the implementation of
+ <code>javax.activation</code>.
+</p><p class="tableblock"> To make the corresponding classes available for loading, the relevant JAR file(s) should be placed in
+ <code>$SERVER_HOME/lib</code> so that they will be added to the application class path.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-framework-extensions"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_framework_extensions_and_fragments_on_the_system_bundle">Configuring Framework Extensions and Fragments on the System Bundle</h3>
+<div class="paragraph">
+<p>This section provides information about configuring framework extensions and fragments on the system bundle. Deployment of such bundles is not allowed in
+Virgo. This is because by refreshing or uninstalling them the system.bundle is also refreshed, which causes Virgo to crash.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This only applies for fragments on the system bundle. All other fragment bundles have no deployment restrictions.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Generally it’s best to avoid usage of such fragment bundles as they are a common OSGi framework issue and often require restarting the framework.
+However sometimes there are no other options and one has to use framework extensions or fragments on the system bundle.</p>
+</div>
+<div class="paragraph">
+<p>You can configure framework extensions and system bundle fragments as follows:</p>
+</div>
+<div class="paragraph">
+<p><strong>1.</strong> Place your fragment bundle in the <code>/plugins</code> directory of your Virgo installation.
+Lets say we have bundle with</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>symbolic name: *testFragment*, version: *1.0.0* and filename: *testFragmentBinary_1.0.0.jar*</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><strong>2.</strong> Configure the <code>bundles.info</code> file in <code>/configuration/org.eclipse.equinox.simpleconfigurator</code> to include the
+just copied fragment or framework extension bundle.</p>
+</div>
+<div class="paragraph">
+<p>Add a line at the end of the <code>bundles.info</code> file similar to this one:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>testFragment,1.0.0,plugins/testFragmentBinary_1.0.0.jar,4,false*</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><strong>3.</strong> Configure the <code>org.eclipse.virgo.kernel.userregion.properties</code> file in <code>/configuration</code> folder to import the fragment bundle or framework extension in the User Region.</p>
+</div>
+<div class="paragraph">
+<p>Add to the <code>bundleImports</code> property a new line describing the fragment bundle using its symbolic name and version.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>bundleImports = org.eclipse.osgi;bundle-version="0",<emphasis role="bold">testFragment;bundle-version="0"*</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-serviceability"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_serviceability_and_diagnostics">Configuring Serviceability and Diagnostics</h3>
+<div class="paragraph">
+<p>The serviceability features of Virgo allow you to gather and view data and information that you can then use to diagnose problems and failures. Serviceability data includes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Service dumps: Contain a snapshot of all the important state from the running Virgo instance when an internal failure or thread deadlock is detected.
+You configure service dumps for Virgo using the <a href="#configuring-serviceability-medic">org.eclipse.virgo.medic.properties</a> file in the <code>$SERVER_HOME/configuration</code> directory. This file also includes some additional logging configuration.</p>
+</li>
+<li>
+<p>Event logs and server/application (trace) logging: Logging support in Virgo is based on <a href="http://logback.qos.ch/">Logback</a>. This means that you have complete control over the format of log output and have the complete range of Logback’s appenders available for your use.
+You configure logging for Virgo using the <a href="#configuring-serviceability-logback">serviceability.xml</a> file in the <code>$SERVER_HOME/configuration</code> directory. This file is essentially the Logback <code>logback.xml</code> (or <code>logback-test.xml</code>) configuration file but renamed for Virgo.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For additional conceptual information about the serviceability subsystem, see <a href="#serviceability">Serviceability and Diagnostics</a>" />.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-serviceability-medic"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_the_org_eclipse_virgo_medic_properties_file">The org.eclipse.virgo.medic.properties File</h4>
+<div class="paragraph">
+<p>The <code>$SERVER_HOME/configuration/org.eclipse.virgo.medic.properties</code> file configures Virgo service dumps and whether you want to capture <code>System.out</code> and <code>System.err</code> output to your application’s trace file.
+The following table describes the properties you can include in the <code>$SERVER_HOME/configuration/org.eclipse.virgo.medic.properties</code> file. This file configures serviceability properties that Virgo includes in addition to those supplied by the Logback, configured in the <code>serviceability.xml</code> file.</p>
+</div>
+<div class="paragraph">
+<p><a id="medic-properties-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 12. Serviceability Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>dump.root.directory</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the directory to which Virgo writes the service dumps. The directory name is relative to <code>$SERVER_HOME</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log.wrapSysOut</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether you want to capture <code>System.out</code> output from your applications to the application trace file. The output is logged by Virgo’s root logger, which captures <code>INFO</code> level and above.
+ Valid values for this property are <code>true</code> to capture <code>System.out</code> output, or <code>false</code> to disable the capture.
+ For more information, see <a href="#sysout-and-syserr">System.out and System.err</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log.wrapSysErr</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether you want to capture <code>System.err</code> output from your applications to the application trace file. The output is logged by Virgo’s root logger, which captures <code>INFO</code> level and above.
+ Valid values for this property are <code>true</code> to capture <code>System.err</code> output, or <code>false</code> to disable the capture.
+ For more information, see <a href="#sysout-and-syserr">System.out and System.err</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log.jul.consoleHandler</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether you want to use the <code>ConsoleHandler</code> of Java Util Logging. The default JVM configuration uses the handler to write logs to <code>System.err</code>.
+ Valid values for this property are <code>true</code> to enable <code>ConsoleHandler</code> output, or <code>false</code> to disable it. The default value is <code>false</code>.
+ For more information, see <a href="http://download.oracle.com/javase/6/docs/technotes/guides/logging/overview.html">Java Logging Overview</a>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-serviceability-logback"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_the_serviceability_xml_file">The serviceability.xml File</h4>
+<div class="paragraph">
+<p>Logging support in Virgo is based on <a href="http://logback.qos.ch/">Logback</a>, which is a successor of the log4j project. The Logback logging framework is faster, more reliable, and easier to use than log4j and certain other logging systems.
+You configure logging for Virgo using the <code>$SERVER_HOME/configuration/serviceability.xml</code> file. This file is the standard Logback <code>logback.xml</code> or <code>logback-test.xml</code> configuration file, but renamed for Virgo.
+The following listing shows the default <code>serviceability.xml</code> file in a freshly-installed Virgo; see the text after the listing for a brief overview of the file:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><configuration>
+
+ <jmxConfigurator />
+
+ <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>
+
+ <appender name="SIFTED_LOG_FILE" class="ch.qos.logback.classic.sift.SiftingAppender">
+ <discriminator>
+ <Key>applicationName</Key>
+ <DefaultValue>virgo-server</DefaultValue>
+ </discriminator>
+ <sift>
+ <appender name="${applicationName}_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>serviceability/logs/${applicationName}/log.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <FileNamePattern>serviceability/logs/${applicationName}/log_%i.log</FileNamePattern>
+ <MinIndex>1</MinIndex>
+ <MaxIndex>4</MaxIndex>
+ </rollingPolicy>
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <MaxFileSize>10MB</MaxFileSize>
+ </triggeringPolicy>
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-5level %-28.28thread %-64.64logger{64} %X{medic.eventCode} %msg %ex%n</Pattern>
+ </encoder>
+ </appender>
+ </sift>
+ </appender>
+
+ <appender name="LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>serviceability/logs/log.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <FileNamePattern>serviceability/logs/log_%i.log</FileNamePattern>
+ <MinIndex>1</MinIndex>
+ <MaxIndex>4</MaxIndex>
+ </rollingPolicy>
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <MaxFileSize>10MB</MaxFileSize>
+ </triggeringPolicy>
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-5level %-28.28thread %-64.64logger{64} %X{medic.eventCode} %msg %ex%n</Pattern>
+ </encoder>
+ </appender>
+
+ <appender name="EVENT_LOG_STDOUT" class="org.eclipse.virgo.medic.log.logback.ReroutingAwareConsoleAppender">
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-28.28thread <%X{medic.eventCode}> %msg %ex%n</Pattern>
+ </encoder>
+ </appender>
+
+ <appender name="EVENT_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>serviceability/eventlogs/eventlog.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <FileNamePattern>serviceability/eventlogs/eventlog_%i.log</FileNamePattern>
+ <MinIndex>1</MinIndex>
+ <MaxIndex>4</MaxIndex>
+ </rollingPolicy>
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <MaxFileSize>10MB</MaxFileSize>
+ </triggeringPolicy>
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-28.28thread <%X{medic.eventCode}> %msg %ex%n</Pattern>
+ </encoder>
+ </appender>
+
+ <logger level="INFO" additivity="false" name="org.eclipse.virgo.medic.eventlog.localized">
+ <appender-ref ref="EVENT_LOG_STDOUT" />
+ <appender-ref ref="EVENT_LOG_FILE" />
+ </logger>
+
+ <logger level="INFO" additivity="false" name="org.eclipse.virgo.medic.eventlog.default">
+ <appender-ref ref="SIFTED_LOG_FILE" />
+ <appender-ref ref="LOG_FILE" />
+ </logger>
+
+ <root level="INFO">
+ <appender-ref ref="SIFTED_LOG_FILE" />
+ <appender-ref ref="LOG_FILE" />
+ </root>
+
+</configuration></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Logback allows Virgo to use logger, appender, and encoder (layout) objects to log messages according to message type and level and to format these messages and define where they are written. The default <code>serviceability.xml</code> file shown above includes four appenders and three loggers (two user and one root.)</p>
+</div>
+<div class="paragraph">
+<p>The main information to get from this file is that Virgo writes log messages to four different locations that map to the four appenders:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>jmxConfigurator</code> provides a possibility to configure logback via JMX. For more information see <a href="http://logback.qos.ch/manual/jmxConfig.html">JMX Configurator</a> documentation.</p>
+</li>
+<li>
+<p>The <code>contextListener</code> propagates the changes made to the levels of logback loggers to Java Util Logging (JUL). For more information see <a href="http://logback.qos.ch/manual/configuration.html#LevelChangePropagator">LevelChangePropagator</a> documentation.</p>
+</li>
+<li>
+<p>The <code>SIFTED_LOG_FILE</code> appender logs both global and application-specific messages to the <code>$SERVER_HOME/serviceability/logs/</code><strong><code>applicationName</code></strong><code>/log.log</code> file, where <strong><code>applicationName</code></strong> refers to the name of the application. The log messages for Virgo itself are logged to the <code>$SERVER_HOME/serviceability/logs/virgo-server/log.log</code> file. Because this appender creates different log files for each application, it is called a <strong>sifting appender</strong>.
+The default behaviour of these trace files is that, once <code>log.log</code> reaches a 10Mb limit, it rolls into a series of files named
+<code>log_</code><strong>i</strong><code>.log</code> where <strong>i</strong> ranges from 1 to 4, and logging continues in
+a new <code>log.log</code> file. This is called its <strong>rolling policy</strong>.</p>
+<div class="literalblock">
+<div class="content">
+<pre> The `<Pattern>` element defines the format of each log message; messages include the timestamp, the thread that generated the log message, the context-specific event code, and a stack trace of the exception, if any. For example:
+`[2008-05-15 09:09:46.940] server-dm-2 org.apache.coyote.http11.Http11Protocol I Initializing Coyote HTTP/1.1 on http-48080`</pre>
+</div>
+</div>
+</li>
+<li>
+<p>The <code>LOG_FILE</code> appender is very similar to the first one, but it logs <strong>all</strong> log messages to the <code>$SERVER_HOME/serviceability/log/log.log</code> file rather than sifting application-specific messages to their own log file. The rolling policy and message format for this appender is similar to that of the <code>SIFTED_LOG_FILE</code> appender.</p>
+</li>
+<li>
+<p>The <code>EVENT_LOG_STDOUT</code> appender does not log messages to a file, but rather to the console window from which you started Virgo. For example:
+<code>[2010-10-25 16:20:49.367] Thread-3 <WE0000I> Starting web bundle 'org.eclipse.virgo.apps.admin.web' version '2.1.0.RELEASE' with context path '/admin'.</code></p>
+</li>
+<li>
+<p>The <code>EVENT_LOG_FILE</code> appender logs only important events to the <code>$SERVER_HOME/serviceability/eventlogs/eventlog.log</code> file, and thus the volume of information is much lower than with the first two appenders. The rolling policy for the event log is the same as with the first two appenders, but the format of the messages is similar to that of the <code>EVENT_LOG_STDOUT</code> appender.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The loggers and root logger specify the level of log that is written for each of the referenced appenders.</p>
+</div>
+<div class="paragraph">
+<p>Typically, the default logging configuration as specified by the <code>serviceability.xml</code> file is adequate for all Virgo environments. However, if you want to customize logging further, you can edit this file as well as the <code>org.eclipse.virgo.medic.properties</code>. See the <a href="http://logback.qos.ch/manual/index.html">logback documentation</a> for detailed information about the architecture and the configuration of Logback.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_local_provisioning_repository">Configuring the Local Provisioning Repository</h3>
+<div class="paragraph">
+<p>You configure the locations that Virgo includes in its provisioning repository
+by editing the <code>org.eclipse.virgo.repository.properties</code> file in the <code>$SERVER_HOME/configuration</code> directory.</p>
+</div>
+<div class="paragraph">
+<p>When you specify a property in the file, use the format <code>repository-name.property=value</code>, where:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>repository-name</code> refers to the name of the local repository.</p>
+</li>
+<li>
+<p><code>property</code> refers to the name of a particular property.</p>
+</li>
+<li>
+<p><code>value</code> refers to the value of the property.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For example, <code>ext.type=external</code> specifies that the <code>type</code> property of the repository
+with name <code>ext</code> is <code>external</code>.</p>
+</div>
+<div class="paragraph">
+<p>The <code>chain</code> property specifies the order in which Virgo searches the individual repositories
+when it looks for dependencies.
+The <code>chain</code> property uses the names of the individual repositories as specified in the individual repository properties;
+for example, in the property <code>ext.type=external</code>, the name of the repository is <code>ext</code>.</p>
+</div>
+<div class="paragraph">
+<p>The default repository configuration for a newly installed Virgo instance is as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">ext.type=external
+ext.searchPattern=repository/ext/{artifact}
+
+usr.type=watched
+usr.watchDirectory=repository/usr
+
+chain=ext,usr</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The default configuration shown above has two searchpaths corresponding to the two default sub-directories of the <code>$SERVER_HOME/repository</code> directory created when you first install Virgo: <code>ext</code> and <code>usr</code>. Virgo searches each of these individual repositories when locating entries for inclusion in the repository.</p>
+</div>
+<div class="paragraph">
+<p>The <code>chain</code> property shows the order in which Virgo searches the individual repositories: first <code>ext</code> and then <code>usr</code>.</p>
+</div>
+<div class="paragraph">
+<p>The following table lists all the available properties that you can use to configure an individual repository.
+Individual repositories as well as the repository search chain are configured in the file
+<code>$SERVER_HOME/configuration/org.eclipse.virgo.repository.properties</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="repository-options-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 13. Repository Properties</caption>
+<colgroup>
+<col style="width: 33%;">
+<col style="width: 33%;">
+<col style="width: 33%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.type</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the type of path. You can set this property to one of the following three valid values:
+* <code>external</code>: Specifies that this path points to a number of directories that satisfy a given search pattern
+and are local to the current Virgo instance.
+Use the <code>searchPattern</code> property to specify the directory search pattern.
+* <code>watched</code>: Specifies that this path points to a single directory, local to the current Virgo instance.
+Virgo regularly scans watched repositories so it automatically picks up any changes to the artifacts in the directory at runtime.
+Virgo also scans its local watched repositories when deploying any artifact.
+Use the <code>watchDirectory</code> property to specify the watched directory
+and the <code>watchInterval</code> property to specify how often Virgo checks the directory.
+* <code>remote</code>: Specifies that the path points to a remotely-hosted repository,
+hosted by a remote instance of Virgo for Apache Tomcat.
+Use the <code>uri</code> property to specify the full URI of the remote repository.
+You can also specify the optional <code>indexRefreshInterval</code> property.
+</p><p class="tableblock">See <a href="#configuring-repository-watched-versus-external">Watched or External Repository?</a>
+for additional information about when to configure watched or external repositories for your particular environment.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>no default</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.searchPattern</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the pattern that an external repository uses when deciding which local directories it should search
+ when identifying artifacts. Use this property together with <strong><code>repository-name</code></strong><code>.type=external</code>.
+ See <a href="#configuring-provisioning-repository-search-paths">Search Paths: Additional Information</a>
+ for detailed information about specifying a search pattern.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>no default</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.watchDirectory</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the single directory of a watched repository.
+ You can specify either an absolute or relative pathname for the directory.
+ If you specify a relative pathname, it is relative to the root of the Virgo installation (<code>$SERVER_HOME</code>).
+ Use this property together with <strong><code>repository-name</code></strong><code>.type=watched</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>no default</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.watchInterval</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the interval in seconds between checks of a watched directory by a watched repository.
+ Use this property together with <strong><code>repository-name</code></strong><code>.type=watched</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>5</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.uri</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the URI of the hosted repository to which a remote repository connects.
+ The value of this property takes the following format:
+ <code>http://</code><strong><code>host</code></strong><code>:</code><strong><code>port</code></strong><code>/org.eclipse.virgo.apps.repository/</code><strong><code>remote-repository-name</code></strong>
+ where:
+* <strong><code>host</code></strong> refers to the computer on which the remote VTS
+instance hosts the remote repository.
+* <strong><code>port</code></strong> refers to a Tomcat listener port of the remote VTS
+instance which hosts the remote repository.
+* <strong><code>remote-repository-name</code></strong> refers to the name of the remote repository,
+as specified in the <code>org.eclipse.virgo.apps.repository.properties</code> file of the remote VTS instance.
+</p><p class="tableblock">Use this property together with <strong><code>repository-name</code></strong><code>.type=remote</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>no default</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.indexRefreshInterval</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the interval in seconds between checks by a remote repository that
+ its local copy of the hosted repository index is up-to-date
+ (a remote repository acts as a proxy for a hosted repository and thus it holds a local copy of the hosted repository’s index).
+</p><p class="tableblock"> Use this property together with <strong><code>repository-name</code></strong><code>.type=remote</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>5</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-repository-watched-versus-external"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_should_i_configure_a_watched_or_external_repository">Should I Configure a Watched or External Repository?</h4>
+<div class="paragraph">
+<p>The main difference between a watched and an external repository is that Virgo regularly scans watched directories
+and automatically picks up any changed artifacts,
+while Virgo scans external directories only at startup, and then only if there is no cached index available.
+This means that Virgo always performs a scan of an external repository when you start the server
+with the <code>-clean</code> (as this deletes the index) and only scans during a normal startup if the index isn’t there because,
+for example, this is the first time you start the server.</p>
+</div>
+<div class="paragraph">
+<p>There is a performance cost associated with using a watched repository due to Virgo using resources
+to scan the directory at the configured interval.
+The cost is small if the watched repository contains just a few artifacts; however,
+the performance cost increases as the number of artifacts increases.
+Note that Virgo re-scans its local watched repositories when deploying any artifact, so the scanning interval
+can be configured to be relatively long.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre> For this reason, we recommend that you put most of your dependencies in external repositories,
+even when in development mode.
+If you make any changes to the artifacts in the external repositories,
+remember to restart {virgo-name} with the `-clean` option so that the server picks up any changes.
+Use watched directories for artifacts that you are prototyping, actively updating, or when adding new dependencies
+so that {virgo-name} quickly and easily picks them up.
+To increase performance even during development, however, you can use an external repository for most of your dependencies,
+in particular the ones that are fairly static.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In production environments, where dependencies should not change,
+we recommend that you use <strong>only</strong> external repositories.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-search-paths"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_search_paths_additional_information">Search Paths: Additional Information</h4>
+<div class="paragraph">
+<p>The <strong><code>repository-name</code></strong><code>.searchPattern</code> and
+<strong><code>repository-name</code></strong><code>.watchDirectory</code> properties specify search paths
+for external and watched repositories, respectively,
+that define a physical location that Virgo searches when looking for a library or bundle dependency.
+If a search path is relative, its location is relative to the root of the installation,
+in other words, the <code>$SERVER_HOME</code> directory.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-search-paths-wildcards"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_wildcards">Using Wildcards</h4>
+<div class="paragraph">
+<p>Search paths specified with the <strong><code>repository-name</code></strong><code>.searchPattern</code> property
+provide support for wildcards.
+In the entries above, the path segments surrounded by curly braces,
+for example <code>{bundle}</code> and <code>{library}</code>,
+are wildcards entries for a directory with any name.
+Allowing wildcards to be named in this way is intended to improve the readability of search path configuration.</p>
+</div>
+<div class="paragraph">
+<p>In addition to supporting the above-described form of wildcards, Virgo also supports Ant-style paths,
+that is <code>*</code> and <code>**</code> can be used to represent any directory and
+any series of directories, respectively.
+For example, <code>repository/usr/{bundle}</code> and <code>repository/usr/*</code>
+are equivalent.</p>
+</div>
+<div class="paragraph">
+<p>A common usage of the <code>**</code> wildcard is to allow dependencies stored in a directory structure of varying depth,
+such as a local Maven repository, to be provisioned by the Virgo.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-using-system-properties"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_system_properties">Using System Properties</h4>
+<div class="paragraph">
+<p>You can use system properties when specifying the values of the <strong><code>repository-name</code></strong><code>.searchPattern</code>,
+<strong><code>repository-name</code></strong><code>.watchDirectory</code>,
+<strong><code>repository-name</code></strong><code>.watchInterval</code>,
+<strong><code>repository-name</code></strong><code>.uri</code>,
+and <strong><code>repository-name</code></strong><code>.indexRefreshInterval</code>
+properties.
+You reference system properties as <code>${system.property.name}</code>;
+for example, a search path of <code>${user.home}/repository/bundles</code> references the
+<code>repository/bundles</code> directory in the user’s home directory.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-examples"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_example_repository_configurations">Example Repository Configurations</h4>
+<div class="paragraph">
+<p>The following examples provide sample configuration that could be used for some common use cases.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-examples-ivy"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_add_an_ivy_cache_repository">Add an Ivy cache repository</h4>
+<div class="paragraph">
+<p>The following example shows how to add an external repository whose location is actually an Ivy cache.
+<strong>Note that Ivy repositories can contain bundles which will conflict with the normal operation of Virgo, so care should
+be exercised when adding such an external repository.</strong></p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">ext.type=external
+ext.searchPattern=repository/ext/{artifact}
+
+usr.type=watched
+usr.watchDirectory=repository/usr
+
+ivy-repo.type=external
+ivy-repo.searchPattern=${user.home}/.ivy2/cache/{org}/{name}/{version}/{bundle}.jar
+
+chain=ext,usr,ivy-repo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-provisioning-repository-examples-maven"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_add_a_maven_local_repository">Add a Maven local repository</h4>
+<div class="paragraph">
+<p>The following example shows how to add an external repository whose location is actually a Maven repository.
+<strong>Note that Maven repositories can contain bundles which will conflict with the normal operation of Virgo, so care should
+be exercised when adding such an external repository.</strong></p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">ext.type=external
+ext.searchPattern=repository/ext/{artifact}
+
+usr.type=watched
+usr.watchDirectory=repository/usr
+
+maven-repo.type=external
+maven-repo.searchPattern=${user.home}/.m2/repository/**/{bundle}.jar
+
+chain=ext,usr,maven-repo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-repository-examples-remote-watched"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_add_remote_and_watched_repositories">Add remote and watched repositories</h4>
+<div class="paragraph">
+<p>The following example shows the default <code>org.eclipse.virgo.repository.properties</code> file
+from a freshly-installed Virgo instance, but then updated to include new remote and watched repositories.
+Both of these repositories are part of the repository chain.</p>
+</div>
+<div class="paragraph">
+<p>The remote repository is called <code>remote-repo</code>.
+The URI of the hosted repository from which <code>remote-repo</code> gets its artifacts is
+<code><a href="http://my-host:8080/org.eclipse.virgo.apps.repository/my-hosted-repo" class="bare">http://my-host:8080/org.eclipse.virgo.apps.repository/my-hosted-repo</a></code>;
+this means that there is a VTS instance running on host <code>my-host</code>
+whose Tomcat server listens at the default port, <code>8080</code>,
+and this server instance hosts a repository called <code>my-hosted-repo</code>,
+configured in the <code>org.eclipse.virgo.apps.repository.properties</code> file of the remote server instance.
+The remote repository checks for changes in the hosted repository every 30 seconds.</p>
+</div>
+<div class="paragraph">
+<p>The watched repository is called <code>watched-repo</code> and the directory that holds the artifacts
+is <code>repository/watched</code>,
+relative to the installation directory of the VTS instance.
+The server checks for changes in this watched repository every 5 seconds.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-txt" data-lang="txt">ext.type=external
+ext.searchPattern=repository/ext/{artifact}
+
+usr.type=watched
+usr.watchDirectory=repository/usr
+
+remote-repo.type=remote
+remote-repo.uri=http://my-host:8080/org.eclipse.virgo.apps.repository/my-hosted-repo
+remote-repo.indexRefreshInterval=30
+
+watched-repo.type=watched
+watched-repo.watchedDirectory=repository/watched
+watched-repo.watchedInterval=5
+
+chain=ext,usr,remote-repo,watched-repo</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-hosted-repo"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_a_hosted_repository">Configuring a Hosted Repository</h3>
+<div class="paragraph">
+<p>You configure a VTS instance to host a repository
+by editing the <code>$SERVER_HOME/configuration/org.eclipse.virgo.apps.repository.properties</code> file;
+remote clients can then access the artifacts in this hosted repository and use them locally.</p>
+</div>
+<div class="paragraph">
+<p>When you specify a property in the file, use the format <code>repository-name.property=value</code>, where:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>repository-name</code> refers to the name of the hosted repository.</p>
+</li>
+<li>
+<p><code>property</code> refers to the name of a particular property.</p>
+</li>
+<li>
+<p><code>value</code> refers to the value of the property.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For example, <code>my-hosted-repo.type=external</code> specifies that the <code>type</code> property
+of the <code>my-hosted-repo</code> repository is <code>external</code>.</p>
+</div>
+<div class="paragraph">
+<p>The following table lists the properties that you can include in the <code>org.eclipse.virgo.apps.repository.properties</code> file.</p>
+</div>
+<div class="paragraph">
+<p><a id="hosted-repository-properties-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 14. Hosted Repository Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.type</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the type of path of the hosted repository.
+ All paths are local to the current VTS instance.
+ You can set this property to one of the following valid values:
+* <code>external</code>: Specifies that this path points to a number of directories that satisfy a given search pattern.
+Use the <code>searchPattern</code> property to specify the directory search pattern.
+* <code>watched</code>: Specifies that this path points to a single directory.
+Virgo regularly scans watched repositories so it automatically picks up any changes to the artifacts in the directory at runtime.
+Use the <code>watchDirectory</code> property to specify the actual watched directory and the <code>watchInterval</code> property
+to specify how often VTS checks the directory.
+</p><p class="tableblock">See <a href="#configuring-repository-watched-versus-external">Watched or External Repository?</a>
+for additional information about when to configure watched or external repositories for your particular environment.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.searchPattern</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the pattern that an external hosted repository uses when deciding which
+ local directories it should search when identifying artifacts.
+ Use this property when <code>repository-name.type=external</code>.
+ See <a href="#configuring-provisioning-repository-search-paths">Search Paths: Additional Information</a>
+ for detailed information about specifying a search pattern.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.watchDirectory</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the single directory of a watched hosted repository.
+ You can specify either an absolute or relative pathname for the directory.
+ If you specify a relative pathname, it is relative to the root of the VTS installation (<code>$SERVER_HOME</code>).
+ Use this property when <code>repository-name.type=watched</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><code>repository-name</code></strong><code>.watchInterval</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the interval in seconds between checks of a watched directory by a watched hosted repository.
+ This property is optional. Use this property when <code>repository-name.type=watched</code>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following sample shows a <code>org.eclipse.virgo.apps.repository.properties</code> file with a single external repository
+called <code>my-hosted-repo</code> with search pattern <code>$SERVER_HOME/repository/hosted/*</code>.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>my-hosted-repo.type=external
+my-hosted-repo.searchPattern=repository/hosted/*</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See <a href="#configuring-repository-examples-remote-watched">Example of watched and remote repositories</a>
+for details on how a local repository can remotely access the artifacts in this hosted repository.</p>
+</div>
+<div class="paragraph">
+<p>anchor:configuring-kernel</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_kernel_and_user_region">Configuring the Kernel and User Region</h3>
+<div class="paragraph">
+<p>This section provides information about configuring the Virgo kernel and the User Region.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-kernel-properties"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_configuring_the_kernel">Configuring the Kernel</h4>
+<div class="paragraph">
+<p>To change any of the kernel properties, provide the new value to the startup script. The following table describes all properties.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-kernel-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 15. Kernel Configuration Properties</caption>
+<colgroup>
+<col style="width: 33%;">
+<col style="width: 33%;">
+<col style="width: 33%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property (prefixed by <code>org.eclipse.virgo</code>)</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.kernel.home</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the location of the Virgo Kernel.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.kernel.config</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the location of the Virgo Kernel and User Region <a href="#configuring-kernel-files">configuration files</a>.
+ The location of the configuration files can also be specified using
+ <a href="#starting-stopping-configuration-directory">[starting-stopping-configuration-directory]</a> <code>-configDir</code> startup parameter].</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$SERVER_HOME/configuration</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.kernel.domain</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the <a href="http://download.oracle.com/javase/6/docs/api/javax/management/ObjectName.html">JMX domain</a> that should be
+ used by the Virgo Kernel.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.kernel.startup.wait.limit</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the amount of time, in seconds, after which various operations time out out while trying to start the kernel.
+ See <a href="#configuring-framework-properties">Configuring OSGi Framework Properties</a> for the recommended way
+ to configure this parameter.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>180</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-kernel-files"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuration_files">Configuration Files</h4>
+<div class="paragraph">
+<p>The configuration of the Virgo Kernel and User Region by default is located in the <code>$SERVER_HOME/configuration</code> directory:</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-kernel-files-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 16. Kernel Configuration Files</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property File</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures <a href="#configuring-deployment">deployment</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.userregion.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-user-region">User Region</a> of Virgo.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.users.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-authentication">users that are allowed to access</a> the Admin Console, and roles to which they map.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.jmxremote.access.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-authentication">permissions for users</a> that are allowed to access the Admin Console.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.authentication.config</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the <a href="#configuring-authentication">Java Authentication and Authorization Service (JAAS)</a> for the Tomcat server users.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.console.ssh.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the kernel SSH console. See <a href="#admin-shell-enable">Enabling the Equinox Console</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.console.telnet.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the kernel telnet console. See <a href="#admin-shell-enable">Enabling the Equinox Console</a>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-deployment"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuring_deployment">Configuring Deployment</h4>
+<div class="paragraph">
+<p>You can configure various properties of deployment: the pickup directory into which you copy applications for hot-deployment, the deployment timeout,
+and whether or not bundles are unpacked during deployment.</p>
+</div>
+<div class="paragraph">
+<p>To change any of these properties, edit the <code>deployer.XXX</code> properties of the <code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.properties</code> file. The following table describes these properties.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-deployment-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 17. Deployment Configuration Properties</caption>
+<colgroup>
+<col style="width: 33%;">
+<col style="width: 33%;">
+<col style="width: 33%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployer.pickupDirectory</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the absolute or relative path to the pickup directory to which you copy applications for hot-deployment.
+ Relative paths are relative to <code>$SERVER_HOME</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>./pickup</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployer.timeout</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the amount of time, in seconds, after which Virgo times out while trying to deploy an artifact.
+ If you want to disable deployment timeout, specify <code>0</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>300</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployer.scanIntervalMillis</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the scan interval, in milliseconds, used to survey the pickup directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deployer.unpackBundles</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Determines whether or not bundles (with file extension <code>.jar</code> or <code>.war</code>) are unpacked
+ during deployment. The value must be either <code>true</code> or <code>false</code>.
+</p><p class="tableblock"> If you want to deploy bundles packed, specify <code>false</code>.
+ This option can help alleviate a known issue with <a href="#long-work-paths">long work directory paths under Windows</a>.
+</p><p class="tableblock"> Note that web applications may behave differently depending on whether they are deployed packed or unpacked.
+ Certain servlet API methods return <code>null</code> when a web application is deployed packed.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>WABHeaders</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This kernel property is only relevant for Virgo Nano Full. For the corresponding property in Virgo for Apache Tomcat, see <a href="#configuring-web">Configuring the Web Integration Layer</a>.
+</p><p class="tableblock"> Specifies how Web Application Bundle manifest headers are processed.
+ See "Web Application Manifest Processing" in the
+ <a href="../../virgo-programmer-guide/html/index.html">Programmer Guide</a> for details.
+</p><p class="tableblock"> A value of <code>strict</code> causes Virgo Nano Full to interpret certain headers in strict compliance with
+ the OSGi Web Applications specification if they are not specified.
+</p><p class="tableblock"> A value of <code>defaulted</code> causes Virgo Nano Full to set certain headers to default values if they are not specified.
+ <strong>This value is provided as a migration aid and may not be supported in future releases.</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>strict</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The following listing displays the default configuration distributed with Virgo; only relevant sections of the <code>org.eclipse.virgo.kernel.properties</code> file are shown.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>deployer.timeout=300
+deployer.pickupDirectory=pickup
+deployer.scanIntervalMillis=1000</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>So the default deployment timeout is 300 seconds, the default pickup directory is <code>$SERVER_HOME/pickup</code> and the default scan interval is <code>1000</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-user-region"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuring_the_user_region">Configuring the User Region</h4>
+<div class="paragraph">
+<p>The User Region is the subsystem of Virgo that
+supports deployed applications, both your own user applications and
+those of the server itself, such as the Admin Console. The User Region
+is deliberately isolated from the kernel, which protects the kernel from interference by applications.</p>
+</div>
+<div class="paragraph">
+<p>You configure the User Region by updating properties in the
+<code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.userregion.properties</code>
+file; these properties are described in the following table.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>We strongly recommend that you update only the
+<code>initialArtifacts</code>
+property; updating other properties could cause
+Virgo to fail. These properties are documented for your
+information.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-user-region-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 18. User Region Configuration Properties</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>baseBundles</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the hard-coded list of bundles that Virgo installs directly into the User Region.
+ Virgo does not perform any automatic dependency satisfaction for these bundles; in other words, you only get the bundles
+ in the list and nothing more.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bundleImports</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the bundles in the kernel that Virgo imports into the User Region so that they are visible to bundles in the User Region.
+ This property supports an optional <code>bundle-version</code> attribute which specifies a version range.
+ By default only the system bundle is imported.
+</p><p class="tableblock"> Note that packages exported by these bundles are <strong>not</strong> automatically made available in the User Region: these must be specified using the
+ <code>packageImports</code> property.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>packageImports</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the packages in the kernel that Virgo imports into the User Region so that they are in turn available to be
+ imported by bundles in the User Region.
+ This property supports a <code>.<strong></code> wildcard which is expanded based on the packages available in the kernel
+ when the User Region is created.
+ For example, <code>org.eclipse.virgo.util.</strong></code> will import all packages that start with
+ <code>org.eclipse.virgo.util.</code> (but <strong>not</strong> the package <code>org.eclipse.virgo.util</code>
+ which would need to be specified separately to be imported).
+</p><p class="tableblock"> The property also supports matching attributes such as <code>version</code>, <code>bundle-symbolic-name</code>,
+ <code>bundle-version</code>, and user-defined attributes. This can be used to import all the packages of a bundle imported using the
+ <code>bundleImports</code> property.
+ For example the following imports all the packages of the system bundle:
+</p><p class="tableblock">…​.
+packageImports=*;bundle-symbolic-name="org.eclipse.osgi",\
+…​
+…​.
+ Note that if a package is specified more than once in <code>packageImports</code>, the last occurrence is used and the earlier
+ occurrences are ignored.
+ For this reason, it is recommended that imports specifying matching attributes are placed earlier in the list than other imports so that
+ if an import is specified with and without matching attributes, the form without the matching attributes is used.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>serviceImports</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the services in the kernel that are imported into the User Region so they are available to bundles in the User Region.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>serviceExports</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the services in the User Region that are exported to the kernel so they are available to bundles in the kernel.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>initialArtifacts</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the artifacts that Virgo deploys into the User Region when the server starts.
+ Virgo performs dependency satisfaction when it deploys these artifacts.
+ This means that you only need to list the top-level artifacts that you care about; Virgo automatically installs,
+ from the repository, any other artifacts upon which they depend.
+</p><p class="tableblock"> The artifacts are specified as a comma separated list of URI strings of the form:
+</p><p class="tableblock">…​.
+repository:type/name[/version
+…​.
+</p><p class="tableblock"> where <code>type</code> is the artifact type (e.g. "plan", "par", "bundle",
+ "configuration"), <code>name</code> is the (symbolic) name of the artifact, and, optionally,
+ <code>version</code> is the version of the artifact.
+ If <code>version</code> is omitted and there is at least one artifact in the repository with the given type and name, then the
+ artifact with the highest version is selected.
+ So, for example, the following entries are valid:
+…​.
+initialArtifacts=…​,\
+ repository:plan/APlan,\
+ repository:bundle/ABundle/1.0
+…​.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-user-region-consoles"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configurating_user_region_consoles">Configurating User Region Consoles</h4>
+<div class="paragraph">
+<p>The configuration of the User Region consoles is located by default in the <code>$SERVER_HOME/repository/ext</code> directory:</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-user-region-consoles-table"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 19. User Region Console Configuration Files</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.console.ssh.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the User Region SSH console. See <a href="#admin-shell-enable">Enabling the Equinox Console</a>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>osgi.console.telnet.properties</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures the User Region telnet console. See <a href="#admin-shell-enable">Enabling the Equinox Console</a>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><a id="configuring-authentication"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_authentication">Configuring Authentication</h3>
+<div class="paragraph">
+<p>Virgo uses the <a href="http://java.sun.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html">Java Authentication and Authorization Service (JAAS)</a>
+framework to authenticate the administration user that connects to Web
+Servers using the Admin Console. This section describes
+how the authentication mechanism is configured by default, and the
+files that you need to update if you want to change the administration
+user, change their password, and so on.</p>
+</div>
+<div class="paragraph">
+<p>The <code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.authentication.config</code> file configures the underlying authentication technology for Virgo. The short file consists of the following entries:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>virgo-kernel {
+ org.eclipse.virgo.kernel.authentication.KernelLoginModule REQUIRED;
+};
+equinox_console {
+ org.eclipse.virgo.kernel.authentication.KernelLoginModule REQUIRED;
+};</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The entry named <code>virgo-kernel</code> corresponds to the <code><Realm></code> element in the <code>$SERVER_HOME/configuration/tomcat-server.xml</code> file that configures the JAAS authentication mechanism for the <code>Catalina</code> service of the <a href="#configuring-tomcat">Tomcat servlet container</a>. The <code>virgo-kernel</code> entry specifies that the JAAS LoginModule that Virgo uses to authenticate users is <code>org.eclipse.virgo.kernel.authentication.KernelLoginModule</code> and that this <code>KernelLoginModule</code> is required to "succeed" in order for authentication to be considered successful. The <code>KernelLoginModule</code> succeeds only if the name and password supplied by the user are the ones it expects. The default administration username/password pair for VTS is <code>admin/springsource</code>.</p>
+</div>
+<div class="paragraph">
+<p>The entry named <code>equinox_console</code> controls ssh authentication for the Virgo shell. It also uses the <code>KernelLoginModule</code>.</p>
+</div>
+<div class="paragraph">
+<p>You configure the administration user in the <code>org.eclipse.virgo.kernel.users.properties</code> file. The default file for a freshly installed Virgo is as follows:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>##################
+# User definitions
+##################
+user.admin=springsource
+
+##################
+# Role definitions
+##################
+role.admin=admin</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The administration user that connect to the Admin Console must have the
+<code>admin</code>
+role. The preceding file shows how, by default, the
+<code>admin</code>
+role is assigned the
+<code>admin</code>
+user with password
+<code>springsource</code>.</p>
+</div>
+<div class="paragraph">
+<p>If you want to change the administration user, update the <code>org.eclipse.virgo.kernel.users.properties</code> file. For example, if you want the <code>juliet</code> user, with password <code>supersecret</code>, to be the new adminstration user, update the file as shown:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>##################
+# User definitions
+##################
+user.juliet=supersecret
+
+##################
+# Role definitions
+##################
+role.admin=juliet</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Be sure to restart Virgo after you make this change for it to take effect.</p>
+</div>
+<div class="paragraph">
+<p>The final file involved in Virgo authentication is <code>$SERVER_HOME/configuration/org.eclipse.virgo.kernel.jmxremote.access.properties</code>. This file specifies the JMX access privileges that the administration user has; by default they are read and write, as shown in the following listing:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>admin=readwrite</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The only other value you can enter is
+<code>readonly</code>, which means that the adminstration user would only be able to <strong>view</strong>
+information using the Admin Console.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-tomcat"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_embedded_tomcat_servlet_container">Configuring the Embedded Tomcat Servlet Container</h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Virgo Nano uses the default Gemini Web configuration. The details described below may still apply.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Virgo
+embeds an OSGi-enhanced version of the <a href="http://tomcat.apache.org">Tomcat Servlet Container</a>
+in order to provide support for deploying Java EE WARs and OSGi <strong>Web Application Bundles</strong>.
+You configure the embedded Servlet container using the standard Apache Tomcat configuration. The main difference is that the configuration file is called <filename>tomcat-server.xml</filename> rather than <code>server.xml</code>. As with the other Virgo configuration files, the <code>tomcat-server.xml</code> file is located in the <code>$SERVER_HOME/configuration</code> directory.
+Another difference is that not all standard Apache Tomcat configuration is supported in Virgo for Apache Tomcat: the restrictions are described in the
+remainder of this section.</p>
+</div>
+<div class="paragraph">
+<p>Here’s an extract of the default configuration distributed with the VTS.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">---
+<?xml version='1.0' encoding='utf-8'?>
+<Server port="8005" shutdown="SHUTDOWN">
+ <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
+ <Listener className="org.apache.catalina.core.JasperListener" />
+ <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+ <Listener className="org.eclipse.virgo.web.tomcat.ServerLifecycleLoggingListener"/>
+ <Service name="Catalina">
+ <Connector port="8080" protocol="HTTP/1.1"
+ connectionTimeout="20000"
+ redirectPort="8443" />
+ <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
+ maxThreads="150" scheme="https" secure="true"
+ clientAuth="false" sslProtocol="TLS"
+ keystoreFile="configuration/keystore"
+ keystorePass="changeit"/>
+ <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
+ <Engine name="Catalina" defaultHost="localhost">
+ <Realm className="org.apache.catalina.realm.JAASRealm" appName="virgo-kernel"
+ userClassNames="org.eclipse.virgo.kernel.authentication.User"
+ roleClassNames="org.eclipse.virgo.kernel.authentication.Role"/>
+ <Host name="localhost" appBase="webapps"
+ unpackWARs="false" autoDeploy="false"
+ deployOnStartup="false" createDirs="false">
+ <Valve className="org.apache.catalina.valves.AccessLogValve" directory="serviceability/logs/access"
+ prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
+ <Valve className="org.eclipse.virgo.web.tomcat.ApplicationNameTrackingValve"/>
+ </Host>
+ </Engine>
+ </Service>
+</Server>
+----</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="overview-tomcat-servlet-container"></a></p>
+</div>
+<div class="sect3">
+<h4 id="_description_of_the_default_apache_tomcat_configuration">Description of the Default Apache Tomcat Configuration</h4>
+<div class="paragraph">
+<p>The following bullets describe the main elements and attributes in the default <code>tomcat-server.xml</code> file; for details about updating this file to further configure the embedded Apache Tomcat server, see the <a href="http://tomcat.apache.org/tomcat-7.0-doc/config/index.html">Apache Tomcat Configuration Reference</a>.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">Relative paths</div>
+<div class="paragraph">
+<p>If the configured path to a directory or file does not represent an absolute path, Virgo typically interprets it as a path relative to the <filename>$SERVER_HOME</filename> directory.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The root element of the <code>tomcat-server.xml</code> file is <code><Server></code>. The attributes of this element represent the characteristics of the entire embedded Tomcat servlet container. The <code>shutdown</code> attribute specifies the command string that the shutdown port number receives via a TCP/IP connection in order to shut down the servlet container. The <code>port</code> attribute specifies the TCP/IP port number that listens for a shutdown message.</p>
+</li>
+<li>
+<p>The <code><Listener></code> XML elements specify the list of lifecycle listeners that monitor and manage the embedded Tomcat servlet container. Each listener class is a Java Management Extensions (JMX) MBean that listens to a specific component of the servlet container and has been programmed to do something at certain lifecycle events of the component, such as before starting up, after stopping, and so on.
+The first four <code><Listener></code> elements configure standard Tomcat lifecycle listeners. The listener implemented by the <code>org.eclipse.virgo.web.tomcat.ServerLifecycleLoggingListener</code> class is specific to Virgo for Apache Tomcat and manages server lifecycle logging.</p>
+</li>
+<li>
+<p>The <code><Service></code> XML element groups together one or more connectors and a single engine. Connectors define a transport mechanism, such as HTTP, that clients use to to send and receive messages to and from the associated service. There are many transports that a client can use, which is why a <code><Service></code> element can have many <code><Connector></code> elements. The engine then defines how these requests and responses that the connector receives and sends are in turn handled by the servlet container; you can define only a single <code><Engine></code> element for any given <code><Service></code> element.
+The sample <code>tomcat-server.xml</code> file above includes three <code><Connector></code> elements: one for the HTTP transport, one for the HTTPS transport, and one for the AJP transport. The file also includes a single <code><Engine></code> element, as required.</p>
+</li>
+<li>
+<p>The first connector listens for HTTP requests at the <code>8080</code> TCP/IP port. The connector, after accepting a connection from a client, waits for a maximum of 20000 milliseconds for a request URI; if it does not receive one from the client by then, the connector times out. If this connector receives a request from the client that requires the SSL transport, the servlet container automatically redirects the request to port <code>8443</code>.</p>
+</li>
+<li>
+<p>The second connector is for HTTPS requests. The TCP/IP port that users specify as the secure connection port is <code>8443</code>. Be sure that you set the value of the <code>redirectPort</code> attribute of your non-SSL connectors to this value to ensure that users that require a secure connection are redirected to the secure port, even if they initially start at the non-secure port. The <code>SSLEnabled</code> attribute specifies that SSL is enabled for this connector. The <code>secure</code> attribute ensures that a call to <code>request.isSecure()</code> from the connecting client always returns <code>true</code>. The <code>scheme</code> attribute ensures that a call to <code>request.getScheme()</code> from the connecting client always returns <code>https</code> when clients use this connector.
+The <code>maxThreads</code> attribute specifies that the servlet container creates a maximum of 150 request processing threads,
+which determines the maximum number of simultaneous requests that can be handled.
+The <code>clientAuth</code> attribute specifies that the servlet container does not require a certificate chain
+unless the client requests a resource protected by a security constraint that uses CLIENT-CERT authentication.
+The <code>keystoreFile</code> attribute specifies the name of the file that contains the servlet container’s
+private key and public certificate used in the SSL handshake, encryption, and decryption.
+You use an alias and password to access this information.
+In the example, this file is <code>$SERVER_HOME/configuration/keystore</code>.
+The <code>keystorePass</code> attributes specify the password used to access the keystore.</p>
+</li>
+<li>
+<p>The third AJP Connector element represents a Connector component that communicates with a web connector via the AJP protocol.</p>
+</li>
+<li>
+<p>The engine has a logical name of <code>Catalina</code>;
+this is the name used in all log and error messages so you can easily identify problems.
+The value of the <code>defaultHost</code> attribute refers to the name of a <code><Host></code>
+child element of <code><Engine></code>;
+this host processes requests directed to host names on this servlet container.</p>
+</li>
+<li>
+<p>The <code><Realm></code> child element of <code><Engine></code> represents a database of
+users, passwords, and mapped roles used for authentication in this service. Virgo Web Server uses an implementation of the Tomcat 6 Realm interface that authenticates users through the Java Authentication and Authorization Service (JAAS) framework which is provided as part of the standard J2SE API.
+With the JAASRealm, you can combine practically any conceivable security realm with Tomcat’s container managed authentication. For details, see <a href="http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html">Realm Configuration</a>.</p>
+</li>
+<li>
+<p>The <code><Host></code> child element represents a virtual host,
+which is an association of a network name for a server (such as <code>www.mycompany.com</code>) with the particular
+server on which Catalina is running.
+The servlet container unpacks Web applications into a directory hierarchy if they are deployed as WAR files.
+Note that multiple <code><Host></code> elements are not supported in Virgo for Apache Tomcat.</p>
+</li>
+<li>
+<p>Finally, the <code>org.apache.catalina.valves.AccessLogValve</code> valve creates log files
+in the same format as those created by standard web servers.
+The servlet container creates the log files in the <code>$SERVER_HOME/serviceability/logs/access</code> directory.
+The log files are prefixed with the string <code>localhost_access_log.</code>, have a suffix of <code>.txt</code>,
+use a standard format for identifying what should be logged, and do not include DNS lookups of the IP address of the remote host.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="configuring-tomcat-connectors"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_connector_configuration">Connector Configuration</h4>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat supports the configuration of any connector supported by Apache Tomcat.
+See the default configuration above for syntax examples, and for further details of the configuration properties
+supported for various <code><Connector></code> implementations,
+consult the official <a href="http://tomcat.apache.org/tomcat-7.0-doc/config/http.html">Tomcat HTTP Connector</a> documentation.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="title">Configuring SSL for Tomcat</div>
+<div class="paragraph">
+<p>The Virgo for Apache Tomcat distribution includes a preconfigured <code>$SERVER_HOME/configuration/keystore</code>
+file that contains a single self-signed SSL Certificate.
+The password for this <filename>keystore</filename> file is <code>changeit</code>.
+This <filename>keystore</filename> file is intended for testing purposes only.
+For detailed instructions on how to configure Tomcat’s SSL support,
+consult the official <a href="http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html">Tomcat SSL Configuration HOW-TO</a>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a id="configuring-tomcat-clustering"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_cluster_configuration">Cluster Configuration</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat supports standard Apache Tomcat cluster configuration.
+By default, clustering of the embedded servlet container is disabled,
+and the default configuration does not include any clustering information.
+See <a href="http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html">Tomcat Clustering/Session Replication HOW-TO</a>
+for detailed information about enabling and configuring clustering.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-default-web-xml"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_default_web_xml_configuration">Default web.xml Configuration</h4>
+<div class="paragraph">
+<p>Java Servlet specification enables web applications to provide deployment descriptor (<code>web.xml</code>) in the <code>WEB-INF</code> directory.
+Apache Tomcat introduces a default <code>web.xml</code> which is similar to web application’s <code>web.xml</code>, but provides configurations that are applied to all web applications.
+When deploying a web application, Apache Tomcat uses the default <code>web.xml</code> file as a base configuration.
+If the web application provides its own configurations via <code>web.xml</code> (the one located in the web application’s <code>WEB-INF</code>) or annotations, they overwrite the default ones.
+In Virgo for Apache Tomcat you can also provide default configurations for all web applications.
+If you want to change/extend the default configurations, you can provide the default <code>web.xml</code> file located in the <code>VTS_HOME/configuration</code> directory.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Be careful when changing/extending the default <code>web.xml</code> as this will affect all web applications.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Here’s an extract of the default configuration distributed with the VTS.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ version="3.0">
+
+ <servlet>
+ <servlet-name>default</servlet-name>
+ <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>0</param-value>
+ </init-param>
+ <init-param>
+ <param-name>listings</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>jsp</servlet-name>
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+ <init-param>
+ <param-name>fork</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <init-param>
+ <param-name>xpoweredBy</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <load-on-startup>3</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>default</servlet-name>
+ <url-pattern>/</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jsp</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jspx</url-pattern>
+ </servlet-mapping>
+
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+
+ <mime-mapping>
+ <extension>abs</extension>
+ <mime-type>audio/x-mpeg</mime-type>
+ </mime-mapping>
+ ......
+ <mime-mapping>
+ <extension>ppt</extension>
+ <mime-type>application/vnd.ms-powerpoint</mime-type>
+ </mime-mapping>
+
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ </welcome-file-list>
+
+</web-app></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The following bullets describe the main elements in the default <code>web.xml</code> file.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The <code><Servlet></code> XML element declares a given servlet and its configurations. The sample <code>web.xml</code> file above includes two <Servlet> elements.
+The default servlet serves static resources and processes the requests that are not mapped to any servlet.
+For details about default servlet configuration, see the <a href="http://tomcat.apache.org/tomcat-7.0-doc/default-servlet.html">Apache Tomcat Default Servlet Reference.</a>.</p>
+</li>
+<li>
+<p>The jsp servlet serves the requests to JavaServer Pages. It is mapped to the URL pattern "<strong>.jsp" and "</strong>.jspx".
+For details about jsp servlet configuration, see the <a href="http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html">Apache Tomcat Jasper 2 JSP Engine.</a>.</p>
+</li>
+<li>
+<p>The <code><servlet-mapping></code> XML element specifies the mapping between the servlet and URL pattern.</p>
+</li>
+<li>
+<p>The <code><session-config></code> XML element defines the session configuration for one web application.
+The sample <code>web.xml</code> file above specifies that the session timeout for all web applications will be 30 minutes by default.</p>
+</li>
+<li>
+<p>The <code><mime-mapping></code> XML element defines a mapping between a filename extension and a mime type.
+When serving static resources, a "Content-Type" header will be generated based on these mappings.</p>
+</li>
+<li>
+<p>The <code><welcome-file-list></code> XML element specifies a list of welcome files.
+When a request URI refers to a directory, the default servlet looks for a "welcome file" within that directory.
+If the "welcome file" exists it will be served, otherwise 404 status or directory listing will be returned, depending on the default servlet configuration.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="configuring-tomcat-contexts"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_context_configuration">Context Configuration</h4>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat supports standard Apache Tomcat web application context configuration.
+The <a href="http://tomcat.apache.org/tomcat-7.0-doc/config/index.html">Apache Tomcat Configuration Reference</a> has a section on
+<a href="http://tomcat.apache.org/tomcat-7.0-doc/config/context.html">The Context Container</a> which describes the mechanism that
+is used in VTS for searching context configuration files and details the context configuration properties.</p>
+</div>
+<div class="paragraph">
+<p>Context configuration files may be placed in the following locations,
+where <code>[enginename]</code> is the name of Tomcat’s engine ('Catalina' by default) and <code>[hostname]</code> names
+a virtual host ('localhost' by default), both of which are configured in <code>tomcat-server.xml</code>:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>$SERVER_HOME/configuration/context.xml</code> provides the default context configuration file for all web applications.</p>
+</li>
+<li>
+<p>The <code>$SERVER_HOME/configuration/[enginename]/[hostname]</code> directory may contain:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>The default context configuration for all web applications of a given virtual host in the file <code>context.xml.default</code>.</p>
+</li>
+<li>
+<p>Individual web applications' context configuration files as described in the Apache Tomcat Configuration Reference.
+For example, the context for a web application with
+context path <code>foo</code> may be configured in <code>foo.xml</code>.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Note that the following context configuration features are not supported in Virgo for Apache Tomcat:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Custom class loaders.</p>
+</li>
+<li>
+<p>Specifying the context path. This is specified using the <code>Web-ContextPath</code> header in the web application’s
+<code>MANIFEST.MF</code> file.</p>
+</li>
+<li>
+<p>Specifying the document base directory.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="configuring-jsp-compilation"></a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_jsp_compilation">JSP Compilation</h4>
+<div class="paragraph">
+<p>By default Apache Tomcat compiles JSP files in web applications agains Java 1.6.
+In order to enable JSP compilation against Java 1.7 for your web application,
+additional init parameters (<code>compilerSourceVM</code> and <code>compilerTargetVM</code>) should be added for the <code>org.apache.jasper.servlet.JspServlet</code> configuration.
+For details about <code>org.apache.jasper.servlet.JspServlet</code> configuration, see the <a href="http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html">Apache Tomcat Jasper 2 JSP Engine</a>.
+<code>org.apache.jasper.servlet.JspServlet</code> configuration can be provided with the web application’s web.xml.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"><?xml version="1.0" encoding="ISO-8859-1"?>
+<servlet>
+ <servlet-name>jsp</servlet-name>
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+ <init-param>
+ <param-name>compilerSourceVM</param-name>
+ <param-value>1.7</param-value>
+ </init-param>
+ <init-param>
+ <param-name>compilerTargetVM</param-name>
+ <param-value>1.7</param-value>
+ </init-param>
+ <init-param>
+ <param-name>fork</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <init-param>
+ <param-name>xpoweredBy</param-name>
+ <param-value>false</param-value>
+ </init-param>
+ <load-on-startup>3</load-on-startup>
+</servlet>
+<servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jsp</url-pattern>
+ <url-pattern>*.jspx</url-pattern>
+ </servlet-mapping></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><a id="configuring-web"></a></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_web_integration_layer">Configuring the Web Integration Layer</h3>
+<div class="paragraph">
+<p>Virgo for Apache Tomcat integrates an OSGi-enhanced version of the <a href="http://tomcat.apache.org/">Tomcat Servlet Container</a>
+in order to provide support for deploying Java EE WARs and OSGi <strong>Web Application Bundles</strong>.</p>
+</div>
+<div class="paragraph">
+<p>For Virgo for Apache Tomcat you
+configure the behaviour of the Web Integration Layer using the properties file called <code>org.eclipse.virgo.web.properties</code>.
+The <code>org.eclipse.virgo.web.properties</code> file is located in the <code>$SERVER_HOME/repository/ext</code> directory.</p>
+</div>
+<div class="paragraph">
+<p>The following table describes the properties.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-web-integration-layer"></a></p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 20. Web Integration Layer Properties</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 60%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Property</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>WABHeaders</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies how Web Application Bundle manifest headers are processed.
+ See "Web Application Manifest Processing" in the
+ <a href="../../virgo-programmer-guide/html/index.html">Programmer Guide</a> for details.
+</p><p class="tableblock"> A value of <code>strict</code> causes VTS to interpret certain headers in strict compliance with
+ the OSGi Web Applications specification if they are not specified.
+</p><p class="tableblock"> A value of <code>defaulted</code> causes VTS to set certain headers to default values if they are not specified.
+ This was how VTS behaved prior to version 3.
+ <strong>This value is provided as a migration aid and may not be supported in future releases.</strong>
+ A warning event log message (WE0006W) is generated if this value is specified.
+</p><p class="tableblock"> The Virgo Jetty Server will always operate in <code>strict</code> mode.
+</p><p class="tableblock"> Virgo Nano Full does not have a Web Integration Layer, but has a corresponding kernel property.
+ See <a href="#configuring-deployment">Configuring Deployment</a>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>strict</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>There is no Web Integration Layer in Virgo Jetty Server. The relevant configuration is described in
+<a href="#configuring-jetty">Configuring the Embedded Jetty Servlet Container</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="configuring-jetty"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_embedded_jetty_servlet_container">Configuring the Embedded Jetty Servlet Container</h3>
+<div class="paragraph">
+<p>Virgo Jetty Server supports <strong>Web Application Bundles</strong>, but does not provide support for Java EE WARs.</p>
+</div>
+<div class="paragraph">
+<p>The Virgo Jetty Server contains a standard Jetty configuration file at <code>SERVER_HOME/jetty/etc/jetty.xml</code>.
+This has been tailored to the Eclipse Virgo. To make modifications please refer to the
+<a href="http://wiki.eclipse.org/Jetty/Howto/Configure_Jetty#Using_Jetty_XML">Jetty documentation</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="log-codes"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_event_log_codes">Event log codes</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a id="event-log-codes-format"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_format_of_the_event_log_codes">Format of the event log codes</h3>
+<div class="paragraph">
+<p>Event log codes issued by Virgo have the general syntax
+<code><XXnnnnL></code> where:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 14%;">
+<col style="width: 85%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>XX</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">is a two-letter code (upper-case) identifying the area of the Virgo code which issued the log message;</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>nnnn</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">is a four-digit message number; and</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>L</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">is a single-letter (upper-case) code identifying the level of the message.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The two-letter codes are (this list is not complete):</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 14%;">
+<col style="width: 85%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AG</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.agent.dm</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>DE</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.deployer.core</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HD</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.deployer.hot</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>HR</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.apps.repository.core</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>KE</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.core</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>KS</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.services</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>OF</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.osgi</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>RP</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.repository</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>TC</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.web.tomcat</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>UR</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.kernel.userregion</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>WE</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.eclipse.virgo.web.core</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The four-digit numbers identify the message text (with placeholders for inserted values). These are not listed here, but can be discovered by examining the files called
+<code>EventLogMessages.properties</code>, found in the relevant packages.</p>
+</div>
+<div class="paragraph">
+<p>The single-digit level code is one of:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<colgroup>
+<col style="width: 14%;">
+<col style="width: 85%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>E</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Error level: enabled if level is <code>ERROR</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>W</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Warning level: enabled if level is <code>WARNING</code> or above.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>I</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Info level: enabled if level is <code>INFO</code> or above.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>D</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug level: enabled if level is <code>DEBUG</code> or above.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>T</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Trace level: always enabled.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>There are never two messages with the same prefix and number, but with different levels.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_known_issues">Known Issues</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This section describes known issues that you might run into, along with corresponding workarounds.</p>
+</div>
+<div class="paragraph">
+<p>For the full list of known issues, see <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;order=Importance;classification=RT;product=Virgo">Virgo bugs in Eclipse Bugzilla</a>.
+The bugs are organised by component as well as by release.
+You can also use bugzilla to enter a new issue if you cannot find an existing issue that describes the problem you are running into, but it’s probably worth asking on the <a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=159">Virgo community forum</a> first.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-firewall-timeout"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_timeout_during_startup_due_to_firewall_settings">Timeout During Startup Due to Firewall Settings</h3>
+<div class="paragraph">
+<p>Virgo will fail to start correctly if it is prevented from
+connecting to needed ports by the firewall. Typically this manifests
+as error <code>SPPM0003E</code> . Configuring the firewall to
+allow Virgo process to bind to the necessary ports will prevent
+this error from occurring.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-startup-timeout"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_timeout_during_startup_due_to_insufficient_resources">Timeout During Startup Due to Insufficient Resources</h3>
+<div class="paragraph">
+<p>Virgo will fail to start correctly if it is running on slow hardware or
+on a system with insufficient resources. Typically this manifests as error <code>KE0004E</code> .
+Configuring the <a href="#configuring-kernel-properties">startup wait limit</a> will provide
+Virgo with more time for initialisation.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-perm-gen-sun-vm"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_outofmemoryerror_permgen_space_running_on_sun_jvm">OutOfMemoryError: PermGen Space Running on Sun JVM</h3>
+<div class="paragraph">
+<p>As a result of Sun Java bug
+<a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4957990">4957990</a>,
+the Virgo may consume more PermGen space than expected when running with the
+server HotSpot compiler. This problem may be resolved by configuring the
+<code>JAVA_OPTS</code> environment variable to specify an increased
+<code>MaxPermSize</code>, for example <code>-XX:MaxPermSize=128M</code>.</p>
+</div>
+<div class="paragraph">
+<p><a id="alternate-serviceability-work"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_alternate_code_serviceability_code_and_code_work_code_directories">Alternate <code>serviceability</code> and <code>work</code> Directories</h3>
+<div class="paragraph">
+<p>Although an alternate <code>configuration</code> directory may be specified on startup, there is no way to specify
+alternate <code>serviceability</code> or <code>work</code> directories. This is covered by
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=307737">bug 307737</a> which also describes a workaround.</p>
+</div>
+<div class="paragraph">
+<p><a id="windows-deletion"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_problem_deleting_installation_directory_under_windows">Problem Deleting Installation Directory under Windows</h3>
+<div class="paragraph">
+<p>Sometimes Microsoft Windows won’t let you delete the Virgo Server installation directory, typically because of long paths
+inside the <code>work</code> directory.</p>
+</div>
+<div class="paragraph">
+<p>You can return the Virgo instance to a clean state by stopping Virgo if necessary and then running the startup script with the options
+<code>-clean -noStart</code>, after which you should be able to delete the installation directory.
+See <a href="#cleaning-without-starting">Cleaning Virgo for Apache Tomcat without Starting it</a> for more information.</p>
+</div>
+<div class="paragraph">
+<p><a id="long-work-paths"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_long_work_directory_paths_under_windows">Long Work Directory Paths under Windows</h3>
+<div class="paragraph">
+<p>Problems can arise under Windows when long paths are created in the <code>work</code> directory as artefacts are deployed.</p>
+</div>
+<div class="paragraph">
+<p>You can shorten some of these paths by preventing bundles from being unpacked during deployment.
+See <a href="#configuring-deployment">Configuring Deployment</a> for more information.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-jetty-restrictions"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_virgo_jetty_server_restrictions">Virgo Jetty Server Restrictions</h3>
+<div class="paragraph">
+<p>When using the Virgo Jetty Server the Hosted Repository application and the Snaps modular web technology are not supported.</p>
+</div>
+<div class="paragraph">
+<p><a id="known-issues-shutdown-logs-shell"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_shutdown_log_messages_in_telnet_shell">Shutdown Log Messages in Telnet Shell</h3>
+<div class="paragraph">
+<p>When you use the <code>shutdown</code> shell command to stop Virgo Server for Apache Tomcat, the shutdown log messages appear in the shell terminal instead of in the terminal in which Virgo runs.
+See <a href="#admin-shell-enable">Enabling Equinox Console</a> for more information. This is covered also by <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=351533">bug 351533</a>.</p>
+</div>
+<div class="paragraph">
+<p><a id="furtherreading"></a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_further_reading">Further Reading</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a href="../../virgo-programmer-guide/html/index.html">Programmer Guide</a></p>
+</div>
+<div class="paragraph">
+<p><a href="http://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/">Spring Framework Reference Documentation</a></p>
+</div>
+<div class="paragraph">
+<p><a href="http://www.osgi.org/Specifications/HomePage">Blueprint Container Specification</a>(in the OSGi 4.2 and 5.0 Enterprise Specifications)</p>
+</div>
+<div class="paragraph">
+<p><a href="http://logback.qos.ch/manual">The Logback Manual</a></p>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2017-02-23 21:06:43 +01:00
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/download/index.php b/download/index.php
index f3d7f75..89bd789 100644
--- a/download/index.php
+++ b/download/index.php
@@ -1,12 +1,12 @@
<?php
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
- require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
- $App = new App();
- $Nav = new Nav();
- $Menu = new Menu();
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+ $App = new App();
+ $Nav = new Nav();
+ $Menu = new Menu();
include($App->getProjectCommon());
-
+
/*******************************************************************************
* Copyright (c) 2009, 2015 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
@@ -15,10 +15,10 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Christopher Frost
- *
+ *
*******************************************************************************/
- # Begin: page-specific settings. Change these.
+ # Begin: page-specific settings. Change these.
$pageTitle = "Virgo - Release Downloads";
$pageKeywords = "Eclipse, EclipseRT, Virgo, OSGi, Downloads";
$pageAuthor = "Christopher Frost";
@@ -27,18 +27,31 @@
?>
<div id="midcolumn">
-
+
<!-- <p id='announcement'>
</p> -->
<h2>Virgo Releases</h2>
<p>
- Sample applications can be found on the <a href="http://www.eclipse.org/virgo/samples">Samples</a> page. All downloads are
- provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation Software User Agreement</a>
+ Sample applications can be found on the <a href="http://www.eclipse.org/virgo/samples">Samples</a> page. All downloads are
+ provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation Software User Agreement</a>
unless otherwise specified.
</p>
<div id='accordion'>
+ <h4><a href="#">3.7.0.RELEASE</a></h4>
+ <div>
+ <ul>
+ <li><a href='release-notes/3.7.0.RELEASE.php' target='_self'>View Release Notes</a>. (<a href="release-notes/3.7.0_approved_ip_log.html">Approved IP log</a>)</li>
+ <li><strong>Virgo Server for Apache Tomcat</strong> - <a href='http://www.eclipse.org/downloads/download.php?file=/virgo/release/VP/3.7.0.RELEASE/virgo-tomcat-server-3.7.0.RELEASE.zip' target='_self'>Download</a></li>
+ <li><strong>Virgo Jetty Server</strong> - <a href='http://www.eclipse.org/downloads/download.php?file=/virgo/release/VP/3.7.0.RELEASE/virgo-jetty-server-3.7.0.RELEASE.zip' target='_self'>Download</a> </li>
+ <li><strong>Virgo Kernel</strong> - <a href='http://www.eclipse.org/downloads/download.php?file=/virgo/release/VP/3.7.0.RELEASE/virgo-kernel-3.7.0.RELEASE.zip' target='_self'>Download</a></li>
+ <li><strong>Virgo Nano</strong> - <a href='http://www.eclipse.org/downloads/download.php?file=/virgo/release/VP/3.7.0.RELEASE/virgo-nano-3.7.0.RELEASE.zip' target='_self'>Download</a></li>
+ <li><strong>Virgo Snaps</strong> - <a href='http://www.eclipse.org/downloads/download.php?file=/virgo/release/VS/3.7.0.RELEASE/snaps-3.7.0.RELEASE.zip' target='_self'>Download</a></li>
+ <li><strong>Virgo Update Site</strong> - <a href='http://download.eclipse.org/virgo/updatesite/3.7.0.RELEASE' target='_self'>http://download.eclipse.org/virgo/updatesite/3.7.0.RELEASE</a></li>
+ </ul>
+ </div>
+
<h4><a href="#">3.6.4.RELEASE</a></h4>
<div>
<ul>
@@ -53,7 +66,7 @@
<li><strong>Virgo Update Site</strong> - <a href='http://download.eclipse.org/virgo/updatesite/3.6.4.RELEASE' target='_self'>http://download.eclipse.org/virgo/updatesite/3.6.4.RELEASE</a></li>
</ul>
</div>
-
+
<h4><a href="#">3.5.0.RELEASE</a></h4>
<div>
<ul>
@@ -68,7 +81,7 @@
<li><strong>Virgo Update Site</strong> - <a href='http://download.eclipse.org/virgo/updatesite/3.5.0.RELEASE' target='_self'>http://download.eclipse.org/virgo/updatesite/3.5.0.RELEASE</a></li>
</ul>
</div>
-
+
<h4><a href="#">3.0.3.RELEASE</a></h4>
<div>
<ul>
@@ -95,7 +108,7 @@
<div>
<h2>Virgo Bundlor Releases</h2>
<p>
- All downloads are provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation Software User Agreement</a>
+ All downloads are provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation Software User Agreement</a>
unless otherwise specified.
</p>
@@ -109,16 +122,16 @@
</ul>
</div>
</div>
-
+
<h2>Development Milestones</h2>
<p>
- Development milestones are available for <a href="http://www.eclipse.org/virgo/download/milestones.php">download</a>.
+ Development milestones are available for <a href="http://www.eclipse.org/virgo/download/milestones.php">download</a>.
</p>
-
+
</div>
<?
$html = ob_get_clean();
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
+?>
diff --git a/download/release-notes/3.7.0.RELEASE.php b/download/release-notes/3.7.0.RELEASE.php
new file mode 100644
index 0000000..b072df2
--- /dev/null
+++ b/download/release-notes/3.7.0.RELEASE.php
@@ -0,0 +1,55 @@
+<?php
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+ require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+ $App = new App();
+ $Nav = new Nav();
+ $Menu = new Menu();
+ include($App->getProjectCommon());
+
+/*******************************************************************************
+ * Copyright (c) 2017 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Florian Waibel
+ *
+ *******************************************************************************/
+
+ # Begin: page-specific settings. Change these.
+ $pageTitle = "Virgo - Release Notes";
+ $pageKeywords = "Eclipse, EclipseRT, Virgo, OSGi, Downloads";
+ $pageAuthor = "Florian Waibel";
+
+ ob_start();
+?>
+
+<div id="midcolumn">
+
+ <h3>3.7.0.RELEASE - Release Notes</h3>
+
+ <p>
+ Finally - the <a href="http://wiki.eclipse.org/Virgo/Future#Release_Branding">Steel</a> (3.7.0) release of Virgo.
+ It contains the following upgrades/changes:
+ <ul>
+ <li>Spring Framework 4.2.9.RELEASE</li>
+ <li>Gemini Blueprint 2.0.0.RELEASE</li>
+ <li>Gemini Web 3.0.0.RELEASE</li>
+ <li>Tomcat 8.5.11</li>
+ <li>Equinox 3.9.1 (Kepler SR2)</li>
+ <li>Several optimizations regarding configuration, startup scripts and the documentation</li>
+ </ul>
+ </p>
+
+ <h4>Other fixes</h4>
+ <p>A list of bugs and enhancements included in the last slice (from RC01) towards the release is available <a href="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=5139738&classification=RT&query_format=advanced&target_milestone=3.7.0.RELEASE&product=Virgo" target="_self">here</a>.</p>
+
+</div>
+
+<?
+ $html = ob_get_clean();
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/download/release-notes/3.7.0_approved_ip_log.html b/download/release-notes/3.7.0_approved_ip_log.html
new file mode 100644
index 0000000..0f60a19
--- /dev/null
+++ b/download/release-notes/3.7.0_approved_ip_log.html
@@ -0,0 +1,2672 @@
+
+<!-- saved from url=(0055)https://dev.eclipse.org/ipzilla/attachment.cgi?id=15339 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>IP Log for Virgo</title>
+
+ <style>
+ table {width:100%;border:1px solid;border-collapse:collapse;black}
+ th {background:#7A79A7}
+ td, th {border-color:#7A79A7;padding:3px;text-align:left;vertical-align:top}
+ tr.odd {background:#D8D8D8}
+ </style>
+</head><body>
+<div><h1>IP Log for Virgo</h1><div><p>This IP Log provides a snapshot in time of the intellectual property state of the entire project. It is not intended to be a 100% accurate reflection of any particular release. The Virgo <a href="https://projects.eclipse.org/projects/rt.virgo/releases/3.7.0">3.7.0</a> release is designated <a href="https://projects.eclipse.org/ip-due-diligence-type/type-license-compatibility-certification">Type A - License Compatibility Certification</a>.</p></div><div><h2>Projects</h2><ul><li><a href="https://projects.eclipse.org/projects/rt.virgo">Virgo</a></li>
+</ul></div><div><h2>Licenses</h2><ul><li>Eclipse Public License 1.0</li>
+</ul></div><div><h2>Third-Party Code</h2><div><h3>License-Certified Dependencies</h3><table class="table table-hover table-striped table-bordered sticky-enabled">
+ <thead><tr><th>CQ</th><th>Third-Party Code</th><th>License</th><th>Use</th> </tr></thead>
+<tbody>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12556">12556</a></td><td width="40%">Apache Tomcat 8.<wbr>5.<wbr>11 </td><td width="30%">Apache License, 2.0, Common Development and Distribution License 1.0</td><td width="20%">unmodified binary</td> </tr>
+</tbody>
+</table>
+</div><div><h3>Pre-Req Dependencies</h3><table class="table table-hover table-striped table-bordered sticky-enabled">
+ <thead><tr><th>CQ</th><th>Third-Party Code</th><th>License</th><th>Use</th> </tr></thead>
+<tbody>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3932">3932</a></td><td width="40%">Javax Activation 1.<wbr>1</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3940">3940</a></td><td width="40%">Javax Portlet 2.<wbr>0.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3941">3941</a></td><td width="40%">Javax Annotation 1.<wbr>0.<wbr>0</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3942">3942</a></td><td width="40%">Java Transaction (JTA) Version: 1.<wbr>1 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3943">3943</a></td><td width="40%">Java Servlet API Version: 2.<wbr>5 + jsp_2_0.<wbr>xsd (see CQ2075) </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3944">3944</a></td><td width="40%">EJB 3.<wbr>0 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3945">3945</a></td><td width="40%">javax.<wbr>servlet.<wbr>jsp Version: 2.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3947">3947</a></td><td width="40%">Java Unified Expression Language Version: 1.<wbr>0 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3948">3948</a></td><td width="40%">osgi.<wbr>cmpn-4.<wbr>2.<wbr>0.<wbr>200905081232 - Version: FINAL </td><td width="30%">Apache License, 2.0</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3953">3953</a></td><td width="40%">SpringFramework Amazon Web Services (AWS) Ivy Build.<wbr>jar Version: 1.<wbr>0.<wbr>8.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3954">3954</a></td><td width="40%">Apache Ivy 2.<wbr>1.<wbr>0 (Subset)</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3955">3955</a></td><td width="40%">Apache Commons Codec Version: 1.<wbr>3 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3956">3956</a></td><td width="40%">Apache httpclient Version: 3.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3957">3957</a></td><td width="40%">Apache Commons Logging Jar Version: 1.<wbr>1.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3958">3958</a></td><td width="40%">jets3t.<wbr>jar Version: 0.<wbr>7.<wbr>3</td><td width="30%">Apache License, 2.0, New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3984">3984</a></td><td width="40%">Apache Ant Version: 1.<wbr>7.<wbr>0 </td><td width="30%">Apache License, 2.0</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3987">3987</a></td><td width="40%">Commons IO Version: 1.<wbr>4 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3988">3988</a></td><td width="40%">Tomcat 6.<wbr>0.<wbr>20 with modifications for dm Server Version: 6.<wbr>0.<wbr>20.<wbr>S2-r5956</td><td width="30%">Apache License, 2.0</td><td width="20%">modified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3989">3989</a></td><td width="40%">SLF4J jul-to-slf4j Version: 1.<wbr>5.<wbr>10 </td><td width="30%">MIT License with no endorsement clause </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3990">3990</a></td><td width="40%">SLF4J No-op Binding Version: 1.<wbr>5.<wbr>10</td><td width="30%">MIT license with "no endorsement" clause</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3991">3991</a></td><td width="40%">SLF4J API Version: 1.<wbr>5.<wbr>10 </td><td width="30%">MIT license, + MIT License with "no endorsement" clause </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3992">3992</a></td><td width="40%">SLF4J log4j-over-slf4j Version: 1.<wbr>5.<wbr>10 </td><td width="30%">Apache License, 2.0 </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3993">3993</a></td><td width="40%">SLF4J jcl-over-slf4j Version: 1.<wbr>5.<wbr>10 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3995">3995</a></td><td width="40%">JPA (Javax Persistence Jar) Version: 1.<wbr>0 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4001">4001</a></td><td width="40%">Subset of Apache Velocity DocBook framework Version: 1.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4003">4003</a></td><td width="40%">Spring Framework AOP Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4004">4004</a></td><td width="40%">ASM 2.<wbr>2.<wbr>3</td><td width="30%">New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4005">4005</a></td><td width="40%">Spring Framework Aspects Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4006">4006</a></td><td width="40%">Spring Framework Beans Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4007">4007</a></td><td width="40%">Spring Framework Context Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4008">4008</a></td><td width="40%">Spring Framework Context Support Version: 3.<wbr>0.<wbr>0 (Includes Mimes.<wbr>Types)</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4009">4009</a></td><td width="40%">Spring Framework Core Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4010">4010</a></td><td width="40%">Spring Framework Expression Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4011">4011</a></td><td width="40%">Spring Framework JDBC Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4012">4012</a></td><td width="40%">Spring Framework JMS Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4013">4013</a></td><td width="40%">Spring Framework ORM Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4014">4014</a></td><td width="40%">Spring Framework OXM Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4015">4015</a></td><td width="40%">Spring Framework Transaction Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4016">4016</a></td><td width="40%">Spring Framework Web Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4017">4017</a></td><td width="40%">Spring Framework Web Portlet Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4018">4018</a></td><td width="40%">Spring Framework Web Servlet Version: 3.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4021">4021</a></td><td width="40%">saaj-api-1.<wbr>3.<wbr>jar Version: 1.<wbr>3 from Glassfish </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4023">4023</a></td><td width="40%">javax.<wbr>xml.<wbr>stream stax-api Version: 1.<wbr>0.<wbr>1</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4025">4025</a></td><td width="40%">Apache Commons Codec Version: 1.<wbr>3 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4026">4026</a></td><td width="40%">JMS Version: 1.<wbr>1 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4028">4028</a></td><td width="40%">Apache Commons Fileupload Jar Version: 1.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4029">4029</a></td><td width="40%">jaxrpc.<wbr>jar Version: 1.<wbr>1.<wbr>0 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4030">4030</a></td><td width="40%">Apache HttpClient 3.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4032">4032</a></td><td width="40%">Apache Jakarta Standard Taglib API: jstl.<wbr>jar Version: 1.<wbr>1.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4033">4033</a></td><td width="40%">AOP Alliance Version: 1.<wbr>0 </td><td width="30%">Public Domain</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4035">4035</a></td><td width="40%">mail.<wbr>jar Version: v1.<wbr>4 mail.<wbr>jar Version: v1.<wbr>4 (Subset: Excludes files from demo folder with restricted licenses)</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4036">4036</a></td><td width="40%">javax.<wbr>xml.<wbr>bind (JAXB API) Version: 2.<wbr>1.<wbr>7</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4086">4086</a></td><td width="40%">logback classic Version: 0.<wbr>9.<wbr>18 (Custom)</td><td width="30%">Apache License, 2.0</td><td width="20%">modified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4087">4087</a></td><td width="40%">logback core Version: 0.<wbr>9.<wbr>18 </td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4106">4106</a></td><td width="40%">org.<wbr>springframework.<wbr>osgi.<wbr>core Version: 1.<wbr>2.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4107">4107</a></td><td width="40%">org.<wbr>springframework.<wbr>osgi.<wbr>extender Version: 1.<wbr>2.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4108">4108</a></td><td width="40%">org.<wbr>springframework.<wbr>osgi.<wbr>io Version: 1.<wbr>2.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4114">4114</a></td><td width="40%">DoJo Version: 1.<wbr>4.<wbr>2 (Subset)</td><td width="30%">BSD, Python, MIT, Unicode, Apache 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4129">4129</a></td><td width="40%">JUnit Version: 4.<wbr>7 (including 2 Hamcrest files) </td><td width="30%">Common Public License 1.0, BSD Style</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4132">4132</a></td><td width="40%">Easymock Version: 2.<wbr>3 </td><td width="30%">MIT license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4140">4140</a></td><td width="40%">commons-collections-3.<wbr>2.<wbr>jar Version: 3.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4146">4146</a></td><td width="40%">asm Version: 3.<wbr>1 </td><td width="30%">New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4157">4157</a></td><td width="40%">JUnit Version: 3.<wbr>8.<wbr>2 </td><td width="30%">Common Public License 1.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4159">4159</a></td><td width="40%">bcel Version: 5.<wbr>1 </td><td width="30%">Apache Software License 1.1</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4163">4163</a></td><td width="40%">Apache Commons Lang Version: 2.<wbr>4 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4164">4164</a></td><td width="40%">Apache Commons Logging Jar Version: 1.<wbr>1.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4166">4166</a></td><td width="40%">xalan.<wbr>jar Version: 2.<wbr>7.<wbr>0 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4167">4167</a></td><td width="40%">Apache Xerces Version: 2.<wbr>8.<wbr>1 </td><td width="30%">Apache License, 2.0, W3C License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4168">4168</a></td><td width="40%">resolver.<wbr>jar Version: 1.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4185">4185</a></td><td width="40%">org.<wbr>quartz Version: 1.<wbr>6.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4186">4186</a></td><td width="40%">slf4j-api Version: 1.<wbr>5.<wbr>6 </td><td width="30%">MIT license, + MIT License with no endorsement clause</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4188">4188</a></td><td width="40%">osgi.<wbr>compendium Version: 4.<wbr>1.<wbr>0.<wbr>build-200702212030 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4189">4189</a></td><td width="40%">osgi.<wbr>core Version: 4.<wbr>1.<wbr>0.<wbr>build-200702212030 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4193">4193</a></td><td width="40%">org.<wbr>springframework.<wbr>dmServer.<wbr>testtool.<wbr>incoho.<wbr>domain Version: 1.<wbr>0.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4229">4229</a></td><td width="40%">ASM Version: 1.<wbr>5.<wbr>3 </td><td width="30%">New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4345">4345</a></td><td width="40%">net.<wbr>sf.<wbr>cglib Version: 2.<wbr>2</td><td width="30%">Apache License, 2.0, New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4346">4346</a></td><td width="40%">Apache Jakarta Commons BeanUtils Version: 1.<wbr>7 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4347">4347</a></td><td width="40%">Apache Jakarta Commons Digester Version: 1.<wbr>8 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4348">4348</a></td><td width="40%">org.<wbr>apache.<wbr>commons.<wbr>discovery Version: 0.<wbr>4</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4349">4349</a></td><td width="40%">Apache Commons Lang Version: 2.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4350">4350</a></td><td width="40%">myfaces-impl-1.<wbr>2.<wbr>2 jar plus shared-impl 3.<wbr>0.<wbr>2 jar (Subset: MINUS *.<wbr>xsd and *.<wbr>dtd files) </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4351">4351</a></td><td width="40%">Add JavaServer Faces Schemas and DTDs to XML Catalog Version: 1.<wbr>2 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4352">4352</a></td><td width="40%">myfaces-api-1.<wbr>2.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4353">4353</a></td><td width="40%">dom4j Version: 1.<wbr>6.<wbr>1 </td><td width="30%">Custom license based on Apache 1.1</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4375">4375</a></td><td width="40%">Logback Classic Version: 0.<wbr>9.<wbr>24</td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4376">4376</a></td><td width="40%">LogBack Core Version: 0.<wbr>9.<wbr>24</td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4377">4377</a></td><td width="40%">SLF4J API Version: 1.<wbr>6.<wbr>1</td><td width="30%">MIT license, MIT license with no endorsement clause</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4378">4378</a></td><td width="40%">SLF4J No-op Binding implementation Version: 1.<wbr>6.<wbr>1</td><td width="30%">MIT license, + MIT License with no endorsement clause</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4379">4379</a></td><td width="40%">SLF4J jul-to-slf4j Version: 1.<wbr>6.<wbr>1 </td><td width="30%">MIT license with "no endorsement" clause</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4394">4394</a></td><td width="40%">SLF4J jcl-over-slf4j Version: 1.<wbr>6.<wbr>1 </td><td width="30%">Apache License, 2.0 </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4395">4395</a></td><td width="40%">jsch Version: 0.<wbr>1.<wbr>42</td><td width="30%">New BSD license</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4396">4396</a></td><td width="40%">SLF4J log4j-over-slf4j Version: 1.<wbr>6.<wbr>1 </td><td width="30%">Apache License, 2.0 </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4398">4398</a></td><td width="40%">Tomcat 6.<wbr>0.<wbr>29 with modifications for Virgo</td><td width="30%">Apache License, 2.0</td><td width="20%">modified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4462">4462</a></td><td width="40%">javassist Version: 3.<wbr>13.<wbr>0.<wbr>GA</td><td width="30%">Mozilla Public License 1.1 (MPL)</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4673">4673</a></td><td width="40%">Spring Framework AOP Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4674">4674</a></td><td width="40%">Spring Framework Aspects Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4675">4675</a></td><td width="40%">Spring Framework Beans Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4676">4676</a></td><td width="40%">Spring Framework Context Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4677">4677</a></td><td width="40%">Spring Framework Context Support Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4678">4678</a></td><td width="40%">Spring Framework Core Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4679">4679</a></td><td width="40%">Spring Framework Expression Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4680">4680</a></td><td width="40%">Spring Framework JDBC Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4681">4681</a></td><td width="40%">Spring Framework JMS Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4682">4682</a></td><td width="40%">Spring Framework ORM Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4683">4683</a></td><td width="40%">Spring Framework OXM Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4684">4684</a></td><td width="40%">Spring Framework Transaction Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4685">4685</a></td><td width="40%">Spring Framework Web Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4686">4686</a></td><td width="40%">Spring Framework Web Portlet Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4687">4687</a></td><td width="40%">Spring Framework Web Servlet Version: 3.<wbr>0.<wbr>5.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4709">4709</a></td><td width="40%">Apache Commons Command Line Interface CLI Version: 1.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4719">4719</a></td><td width="40%">Maven Plugin API Version: 3.<wbr>0 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4739">4739</a></td><td width="40%">janino Version: 2.<wbr>6.<wbr>1 </td><td width="30%">New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4831">4831</a></td><td width="40%">rome Version: 0.<wbr>9 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4832">4832</a></td><td width="40%">Apache Commons Logging Jar Version: 1.<wbr>1.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4833">4833</a></td><td width="40%">log4j Version: 1.<wbr>2.<wbr>15 (Subset - see all comments) </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4834">4834</a></td><td width="40%">asm Version: 3.<wbr>2 (excluding *.<wbr>gz files identified in comment4) </td><td width="30%">New BSD license</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4835">4835</a></td><td width="40%">Apache Jakarta Commons BeanUtils Version: 1.<wbr>7 (does not include dependent libs) </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4836">4836</a></td><td width="40%">JDom Version: 1.<wbr>0 (top level source code only) </td><td width="30%">JDom License (based on Apache 1.1 Style License) </td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5086">5086</a></td><td width="40%">Tomcat 6.<wbr>0.<wbr>32 with modifications for Virgo Version: 6.<wbr>0.<wbr>32.<wbr>S2-r1673 *Subset*</td><td width="30%">Apache License, 2.0</td><td width="20%">modified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5095">5095</a></td><td width="40%">Tomcat 7.<wbr>0.<wbr>12 Subset </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5123">5123</a></td><td width="40%">Glassfish servlet-api Version: 3.<wbr>1-b33 </td><td width="30%">CDDL, Apache 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5125">5125</a></td><td width="40%">jsp-api Version: 2.<wbr>2.<wbr>1-b02 </td><td width="30%">CDDL, Apache 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5127">5127</a></td><td width="40%">Java Unified Expression Language Version: 2.<wbr>2 </td><td width="30%">CDDL, Apache 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5129">5129</a></td><td width="40%">javax.<wbr>annotation Version: 1.<wbr>1 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5175">5175</a></td><td width="40%">SAT4J Version: 2.<wbr>3.<wbr> </td><td width="30%">Eclipse Public License (MIT Style License for Two Files) </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5251">5251</a></td><td width="40%">javax.<wbr>servlet.<wbr>jsp.<wbr>jstl api Version: 1.<wbr>2 </td><td width="30%">Common Development and Distribution License, Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5409">5409</a></td><td width="40%">Apache Felix Gogo Version: 0.<wbr>8.<wbr>0 (Command, Shell and Runtime ) </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5411">5411</a></td><td width="40%">org.<wbr>apache.<wbr>mina.<wbr>core Version: 2.<wbr>0.<wbr>2 ( Subset) </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5420">5420</a></td><td width="40%">javax.<wbr>servlet.<wbr>jsp.<wbr>jstl implementation Version: 1.<wbr>2 </td><td width="30%">Common Development and Distribution License, Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5422">5422</a></td><td width="40%">OSGi Service Platform Core Companion Code Version: 4.<wbr>3.<wbr>0.<wbr>201102171602 FINAL </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5423">5423</a></td><td width="40%">JDom Version: 1.<wbr>1.<wbr>1 </td><td width="30%">JDom License (based on Apache 1.1 Style License)</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5431">5431</a></td><td width="40%">Apache SSHD Version: 0.<wbr>5.<wbr>0 Subset </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5433">5433</a></td><td width="40%">Unified Expression Version: Language (EL) el-api.<wbr>jar Version 2.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5434">5434</a></td><td width="40%">Glassfish JavaMail API Version: 1.<wbr>4.<wbr>1 (Subset: Excludes files from demo folder with restricted licenses) </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5435">5435</a></td><td width="40%">Apache Geronimo Java Transaction API (JTA) 1.<wbr>1_spec Version: 1.<wbr>1.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5436">5436</a></td><td width="40%">jsp-2.<wbr>1-glassfish Version: SJSAS-2_1_1-B31G-19_Oct_2009 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5474">5474</a></td><td width="40%">Raphael Version: 2.<wbr>0.<wbr>1</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5475">5475</a></td><td width="40%">jolokia Version: 1.<wbr>0.<wbr>2 *Subset*</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5477">5477</a></td><td width="40%">Spring JS ResourceServlet (Java File)</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5540">5540</a></td><td width="40%">Tomcat 7.<wbr>0.<wbr>21 SUBSET </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5594">5594</a></td><td width="40%">logback-classic Version: 0.<wbr>9.<wbr>28 </td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5825">5825</a></td><td width="40%">Tomcat configuration file (subset - 1 file) Version: 7.<wbr>0.<wbr>21 </td><td width="30%">Apache License, 2.0</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5993">5993</a></td><td width="40%">json-simple Version: 1.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6009">6009</a></td><td width="40%">org.<wbr>springframework.<wbr>aop Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6011">6011</a></td><td width="40%">org.<wbr>springframework.<wbr>aspects Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6012">6012</a></td><td width="40%">org.<wbr>springframework.<wbr>beans Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6013">6013</a></td><td width="40%">org.<wbr>springframework.<wbr>context Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6014">6014</a></td><td width="40%">org.<wbr>springframework.<wbr>context.<wbr>support Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6015">6015</a></td><td width="40%">org.<wbr>springframework.<wbr>core Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6016">6016</a></td><td width="40%">org.<wbr>springframework.<wbr>expression Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6017">6017</a></td><td width="40%">org.<wbr>springframework.<wbr>jdbc Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6018">6018</a></td><td width="40%">org.<wbr>springframework.<wbr>jms Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6019">6019</a></td><td width="40%">org.<wbr>springframework.<wbr>orm Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6020">6020</a></td><td width="40%">org.<wbr>springframework.<wbr>oxm Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6021">6021</a></td><td width="40%">org.<wbr>springframework.<wbr>transaction Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6022">6022</a></td><td width="40%">org.<wbr>springframework.<wbr>web Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6023">6023</a></td><td width="40%">org.<wbr>springframework.<wbr>web.<wbr>portlet Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6024">6024</a></td><td width="40%">org.<wbr>springframework.<wbr>web.<wbr>servlet Version: 3.<wbr>1.<wbr>0.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6087">6087</a></td><td width="40%">openejb Version: 4.<wbr>0.<wbr>0-beta-2 *Subset*</td><td width="30%">Apache License, 2.0, W3C, CDDL, BSD</td><td width="20%">modified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6089">6089</a></td><td width="40%">openwebbeans Version: 1.<wbr>1.<wbr>3 Subset</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6090">6090</a></td><td width="40%">atinject (Package javax.<wbr>inject) Version: 1.<wbr>0 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6092">6092</a></td><td width="40%">cdi-api Version: 1.<wbr>0 (Context and Dependency Injection API from JSR 299)</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6093">6093</a></td><td width="40%">ejb-api Version: 3.<wbr>1.<wbr>1</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6095">6095</a></td><td width="40%">Bean Validation API Version: 1.<wbr>0.<wbr>0 GA </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6100">6100</a></td><td width="40%">Java Open Transaction Manager (JOTM) 2.<wbr>1.<wbr>9 *Subset*</td><td width="30%">New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6101">6101</a></td><td width="40%">Apache Commons DBCP Version: 1.<wbr>4</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6102">6102</a></td><td width="40%">Apache Commons Pool 1.<wbr>6 Version: 1.<wbr>6</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6107">6107</a></td><td width="40%">JCA 1.<wbr>6 Version: 1.<wbr>6</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6145">6145</a></td><td width="40%">Java Authorization Contract for Containers Version: 3.<wbr>0.<wbr>1.<wbr>0</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6157">6157</a></td><td width="40%">xbean Version: 3.<wbr>9 *Subset*</td><td width="30%">Apache License, 2.0</td><td width="20%">modified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6158">6158</a></td><td width="40%">scannotation Version: 1.<wbr>0.<wbr>2 *Subset*</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6159">6159</a></td><td width="40%">bval Version: 0.<wbr>3</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6162">6162</a></td><td width="40%">wsdl4j Version: 1.<wbr>6.<wbr>2 </td><td width="30%">Common Public License 1.0 </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6163">6163</a></td><td width="40%">geronimo-j2ee-management_1.<wbr>0_spec-1.<wbr>0 Version: 1.<wbr>0.<wbr> </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6164">6164</a></td><td width="40%">JAX-RS (JSR311) API Version: 1.<wbr>1.<wbr>1 </td><td width="30%">Common Development and Distribution License, + 1 file partial ASL </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6182">6182</a></td><td width="40%">Apache Derby Version: 10.<wbr>5.<wbr>1.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6183">6183</a></td><td width="40%">Apache Commons Lang Version: 2.<wbr>6</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6189">6189</a></td><td width="40%">Java Server Faces 2.<wbr>1.<wbr>6 Version: 2.<wbr>1.<wbr>6</td><td width="30%">Common Development and Distribution License</td><td width="20%">modified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6221">6221</a></td><td width="40%">geronimo-connector Version: 3.<wbr>1.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6222">6222</a></td><td width="40%">geronimo-transaction Version: 3.<wbr>1.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6223">6223</a></td><td width="40%">geronimo-osgi-locator Version: 1.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6224">6224</a></td><td width="40%">geronimo-osgi-registry Version: 1.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6226">6226</a></td><td width="40%">geronimo-jaspic Version: 1.<wbr>0_spec </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6227">6227</a></td><td width="40%">Apache Jakarta Commons BeanUtils Version: 1.<wbr>8 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6232">6232</a></td><td width="40%">SLF4J log4j-over-slf4j Version: 1.<wbr>6.<wbr>4 </td><td width="30%">Apache License, 2.0 </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6233">6233</a></td><td width="40%">maven-plugin-api Version: 3.<wbr>0.<wbr>4 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6246">6246</a></td><td width="40%">Jetty servlet-api Version: 3.<wbr>0 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6247">6247</a></td><td width="40%">jsp-impl Version 2.<wbr>2.<wbr>2-b06 </td><td width="30%">CDDL, Apache 2.0 </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6293">6293</a></td><td width="40%">Apache Tomcat 7.<wbr>0.<wbr>26 Version: 7.<wbr>0.<wbr>26 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6398">6398</a></td><td width="40%">JQuery Version: 1.<wbr>7.<wbr>2 (Includes Sizzle Component)</td><td width="30%">MIT</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6399">6399</a></td><td width="40%">JQuery UI Version: 1.<wbr>8.<wbr>18</td><td width="30%">MIT License</td><td width="20%">unmodified source</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6402">6402</a></td><td width="40%">Apache Felix Gogo Version: 0.<wbr>10.<wbr>0 (Command, Shell and Runtime) Version: 0.<wbr>10.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6509">6509</a></td><td width="40%">Logback Classic Version: 1.<wbr>0.<wbr>3</td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6510">6510</a></td><td width="40%">Logback Core Version: 1.<wbr>0.<wbr>3</td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6519">6519</a></td><td width="40%">Logback Core Version: 1.<wbr>0 </td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6520">6520</a></td><td width="40%">Logback Classic Version: 1.<wbr>0 </td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6527">6527</a></td><td width="40%">logback core Version: 0.<wbr>9.<wbr>28</td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6592">6592</a></td><td width="40%">SLF4J API Version: 1.<wbr>6.<wbr>4 </td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6593">6593</a></td><td width="40%">SLF4J jcl-over-slf4j Version: 1.<wbr>6.<wbr>4 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6594">6594</a></td><td width="40%">SLF4J jul-to-slf4j Version: 1.<wbr>6.<wbr>4 </td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6595">6595</a></td><td width="40%">SLF4J log4j-over-slf4j Version: 1.<wbr>6.<wbr>4 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6634">6634</a></td><td width="40%">Apache Tomcat 7.<wbr>0.<wbr>29 Version: 7.<wbr>0.<wbr>29 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6640">6640</a></td><td width="40%">slf4j nop Version: 1.<wbr>6.<wbr>4</td><td width="30%">MIT License</td><td width="20%">unmodified source</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6646">6646</a></td><td width="40%">gradle wrapper Version: 1.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6827">6827</a></td><td width="40%">Apache Tomcat Version: 7.<wbr>0.<wbr>32 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6842">6842</a></td><td width="40%">Apache Derby Version: 10.<wbr>8.<wbr>2.<wbr>2 *Subset* </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6878">6878</a></td><td width="40%">Logback Core Version: 1.<wbr>0.<wbr>7 </td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6879">6879</a></td><td width="40%">Logback Classic Version: 1.<wbr>0.<wbr>7 </td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6880">6880</a></td><td width="40%">SLF4J API Version: 1.<wbr>7.<wbr>2 </td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6881">6881</a></td><td width="40%">SLF4J jcl-over-slf4j Version: 1.<wbr>7.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6882">6882</a></td><td width="40%">SLF4J jul-to-slf4j Version: 1.<wbr>7.<wbr>2 </td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6883">6883</a></td><td width="40%">SLF4J log4j-over-slf4j Version: 1.<wbr>7.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6927">6927</a></td><td width="40%">slf4j nop Version: 1.<wbr>7.<wbr>2 </td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6948">6948</a></td><td width="40%">OSGi Enterprise Specification APIs Version: 4.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6949">6949</a></td><td width="40%">Java Unified Expression Language Reference Implementation Version: 2.<wbr>2.<wbr>1-b05 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6950">6950</a></td><td width="40%">geronimo mail Version: 1.<wbr>4 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7024">7024</a></td><td width="40%">Apache Tomcat Version: 7.<wbr>0.<wbr>35 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7145">7145</a></td><td width="40%">openwebbeans (Subset) Version: 1.<wbr>1.<wbr>7</td><td width="30%">Apache License 2.0</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7146">7146</a></td><td width="40%">BVal Version: 0.<wbr>5</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7147">7147</a></td><td width="40%">Java Server Faces Version: 2.<wbr>1.<wbr>18</td><td width="30%">Common Development and Distribution License</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7149">7149</a></td><td width="40%">XBean (Subset) Version: 3.<wbr>12</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7150">7150</a></td><td width="40%">Javassist Version: 3.<wbr>17.<wbr>1.<wbr>GA</td><td width="30%">Mozilla Public License 1.1 (MPL), Apache 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7151">7151</a></td><td width="40%">Apache Commons Lang Version: 3.<wbr>1.<wbr>0 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7152">7152</a></td><td width="40%">asm Version: 3.<wbr>2 (excluding *.<wbr>gz files identified in comment4) </td><td width="30%">New BSD license</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7162">7162</a></td><td width="40%">OpenEJB (Subset) Version: 4.<wbr>5.<wbr>2</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7699">7699</a></td><td width="40%">Mozilla Rhino Version: 1.<wbr>7R4 </td><td width="30%">Mozilla Public License 2.0 (MPL), New BSD licens</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7707">7707</a></td><td width="40%">Apache Tomcat Version: 7.<wbr>0.<wbr>47 </td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7898">7898</a></td><td width="40%">JSch Version: 0.<wbr>1.<wbr>50 </td><td width="30%">New BSD License</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7908">7908</a></td><td width="40%">Apache Ivy Version: 2.<wbr>3.<wbr>0</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7970">7970</a></td><td width="40%">Spring Framework guide \"Uploading Files\" (CODE Component Only)</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8195">8195</a></td><td width="40%">Apache Tomcat Version: 7.<wbr>0.<wbr>53 </td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8473">8473</a></td><td width="40%">org.<wbr>springframework.<wbr>aop Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8474">8474</a></td><td width="40%">org.<wbr>springframework.<wbr>aspects Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8475">8475</a></td><td width="40%">org.<wbr>springframework.<wbr>beans Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8476">8476</a></td><td width="40%">org.<wbr>springframework.<wbr>context Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8477">8477</a></td><td width="40%">org.<wbr>springframework.<wbr>context.<wbr>support Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8479">8479</a></td><td width="40%">org.<wbr>springframework.<wbr>core Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8480">8480</a></td><td width="40%">org.<wbr>springframework.<wbr>expression Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8481">8481</a></td><td width="40%">org.<wbr>springframework.<wbr>jdbc Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8482">8482</a></td><td width="40%">org.<wbr>springframework.<wbr>jms Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8483">8483</a></td><td width="40%">org.<wbr>springframework.<wbr>orm Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8484">8484</a></td><td width="40%">org.<wbr>springframework.<wbr>oxm Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8485">8485</a></td><td width="40%">org.<wbr>springframework.<wbr>transaction Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8489">8489</a></td><td width="40%">org.<wbr>springframework.<wbr>web Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8490">8490</a></td><td width="40%">org.<wbr>springframework.<wbr>web.<wbr>portlet Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8491">8491</a></td><td width="40%">org.<wbr>springframework.<wbr>web.<wbr>servlet Version: 3.<wbr>2.<wbr>10.<wbr>RELEASE</td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8540">8540</a></td><td width="40%">Gradle Wrapper Version: 2.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8667">8667</a></td><td width="40%">Apache Tomcat Version: 7.<wbr>0.<wbr>55 </td><td width="30%">Apache License 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=9080">9080</a></td><td width="40%">Apache Tomcat 7.<wbr>0.<wbr>56 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=9555">9555</a></td><td width="40%">httpcomponent Core 4.<wbr>3.<wbr>3 Version: 4.<wbr>3.<wbr>3 </td><td width="30%">Apache License, 2.0, Public Domain</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=9556">9556</a></td><td width="40%">Apache HttpComponents Client 4.<wbr>3.<wbr>6 Version: 4.<wbr>3.<wbr>6 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified source and binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=9841">9841</a></td><td width="40%">Apache Tomcat 7.<wbr>0.<wbr>61 </td><td width="30%">Apache License, 2.0, Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10244">10244</a></td><td width="40%">org.<wbr>springframework.<wbr>aop Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10245">10245</a></td><td width="40%">springframework.<wbr>aspect Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10246">10246</a></td><td width="40%">org.<wbr>springframework.<wbr>beans Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10247">10247</a></td><td width="40%">org.<wbr>springframework.<wbr>context Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10248">10248</a></td><td width="40%">org.<wbr>springframework.<wbr>context.<wbr>support Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10249">10249</a></td><td width="40%">org.<wbr>springframework.<wbr>core Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0, New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10250">10250</a></td><td width="40%">org.<wbr>springframework.<wbr>expression Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10251">10251</a></td><td width="40%">org.<wbr>springframework.<wbr>jdbc Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10252">10252</a></td><td width="40%">org.<wbr>springframework.<wbr>jms Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10253">10253</a></td><td width="40%">org.<wbr>springframework.<wbr>messaging Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10254">10254</a></td><td width="40%">org.<wbr>springframework.<wbr>orm Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10255">10255</a></td><td width="40%">org.<wbr>springframework.<wbr>oxm Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10256">10256</a></td><td width="40%">org.<wbr>springframework.<wbr>test Version: 4.<wbr>2.<wbr>1 *SUBSET*</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10257">10257</a></td><td width="40%">org.<wbr>springframework.<wbr>transaction Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10258">10258</a></td><td width="40%">org.<wbr>springframework.<wbr>web Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10259">10259</a></td><td width="40%">org.<wbr>springframework.<wbr>webmvc Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10260">10260</a></td><td width="40%">org.<wbr>springframework.<wbr>webmvc.<wbr>portlet Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10261">10261</a></td><td width="40%">org.<wbr>springframework.<wbr>websocket Version: 4.<wbr>2.<wbr>1.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10288">10288</a></td><td width="40%">commons-codec:commons-codec Version: 1.<wbr>10 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10520">10520</a></td><td width="40%">SLF4J API Module (slf4j-api-1.<wbr>7.<wbr>13) Version 1.<wbr>7.<wbr>13</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10627">10627</a></td><td width="40%">Spring Framework guide \\\"Building a RESTful Web Service\\\" (CODE Component Only) Version: unknown /<wbr> 0edc8e5084920d0a68e808728a623ab9730b31aa</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10652">10652</a></td><td width="40%">Logback Core Version: 1.<wbr>1.<wbr>3</td><td width="30%">Eclipse Public License 1.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10963">10963</a></td><td width="40%">org.<wbr>springframework.<wbr>aop Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10964">10964</a></td><td width="40%">org.<wbr>springframework.<wbr>aspect Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10965">10965</a></td><td width="40%">org.<wbr>springframework.<wbr>beans Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10966">10966</a></td><td width="40%">org.<wbr>springframework.<wbr>context Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10967">10967</a></td><td width="40%">org.<wbr>springframework.<wbr>context.<wbr>support Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10968">10968</a></td><td width="40%">org.<wbr>springframework.<wbr>core Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0, New BSD License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10969">10969</a></td><td width="40%">org.<wbr>springframework.<wbr>expression Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10970">10970</a></td><td width="40%">org.<wbr>springframework.<wbr>jdbc Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10971">10971</a></td><td width="40%">org.<wbr>springframework.<wbr>jms Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10972">10972</a></td><td width="40%">org.<wbr>springframework.<wbr>messaging Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10973">10973</a></td><td width="40%">org.<wbr>springframework.<wbr>orm Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10974">10974</a></td><td width="40%">org.<wbr>springframework.<wbr>oxm Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10975">10975</a></td><td width="40%">org.<wbr>springframework.<wbr>test Version: 4.<wbr>2.<wbr>4 *SUBSET*</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10976">10976</a></td><td width="40%">org.<wbr>springframework.<wbr>transaction Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10977">10977</a></td><td width="40%">org.<wbr>springframework.<wbr>web Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10978">10978</a></td><td width="40%">org.<wbr>springframework.<wbr>webmvc Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10979">10979</a></td><td width="40%">org.<wbr>springframework.<wbr>webmvc.<wbr>portlet Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10980">10980</a></td><td width="40%">org.<wbr>springframework.<wbr>websocket Version: 4.<wbr>2.<wbr>4.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11004">11004</a></td><td width="40%">SLF4J jcl-over-slf4j Version: 1.<wbr>7.<wbr>13</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11005">11005</a></td><td width="40%">SLF4J jul-to-slf4j Version: 1.<wbr>7.<wbr>13</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11006">11006</a></td><td width="40%">SLF4J log4j-over-slf4j Version: 1.<wbr>7.<wbr>13</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11007">11007</a></td><td width="40%">SLF4J slf4j-nop Version: 1.<wbr>7.<wbr>13</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11067">11067</a></td><td width="40%">Logback Classic Module (logback-classic-1.<wbr>1.<wbr>3.<wbr>jar) Version: 1.<wbr>1.<wbr>3 </td><td width="30%">Eclipse Public License 1.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11168">11168</a></td><td width="40%">Gradle Wrapper Version: 2.<wbr>10 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11189">11189</a></td><td width="40%">Apache Commons IO Version: 2.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11190">11190</a></td><td width="40%">Apache Commons FileUpload Version: 1.<wbr>3.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11206">11206</a></td><td width="40%">json-simple Version: 1.<wbr>1.<wbr>1 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11207">11207</a></td><td width="40%">jolokia Version: 1.<wbr>3.<wbr>3</td><td width="30%">Apache License, 2.0, Public Domain (One File) </td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11208">11208</a></td><td width="40%">Spring Framework guide \"Accessing Data with MongoDB\" (Code component only) Version: unknown /<wbr> 392cbde0516f84b4074f1438cafdf9ce6adf6d49</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11209">11209</a></td><td width="40%">Spring Framework guide \"Serving Web Content with Spring MVC\" (Code component only) Version: unknown /<wbr> 859d5df9c19addc1a26c5a25d5259ac9852d67f5</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11210">11210</a></td><td width="40%">Spring Framework guide \"Messaging with RabbitMQ\" (Code component only) Version: unknown /<wbr> 7d4082ddcb03a0a4c38b3540276c69cc39c2cc68</td><td width="30%">Apache License, 2.0</td><td width="20%">modified source</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11903">11903</a></td><td width="40%">ASM Version: 5.<wbr>1 </td><td width="30%">New BSD License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=11992">11992</a></td><td width="40%">Gradle Wrapper Version: 3.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12072">12072</a></td><td width="40%">Apache Tomcat 8.<wbr>5.<wbr>5 </td><td width="30%">Apache License, 2.0, Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12462">12462</a></td><td width="40%">slf4j-api Version: 1.<wbr>7.<wbr>22</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12463">12463</a></td><td width="40%">slf4j-jcl Version: 1.<wbr>7.<wbr>22</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12464">12464</a></td><td width="40%">slf4j-log4j Version: 1.<wbr>7.<wbr>22</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12465">12465</a></td><td width="40%">SLF4J jul-to-slf4j Version: 1.<wbr>7.<wbr>22</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12487">12487</a></td><td width="40%">org.<wbr>springframework.<wbr>aspects Version: 4.<wbr>2.<wbr>9</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12488">12488</a></td><td width="40%">org.<wbr>springframework.<wbr>aop Version: 4.<wbr>2.<wbr>9</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12489">12489</a></td><td width="40%">org.<wbr>springframework.<wbr>beans Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12490">12490</a></td><td width="40%">org.<wbr>springframework.<wbr>context.<wbr>support Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12491">12491</a></td><td width="40%">org.<wbr>springframework.<wbr>context Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12492">12492</a></td><td width="40%">org.<wbr>springframework.<wbr>core Version 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0, New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12493">12493</a></td><td width="40%">org.<wbr>springframework.<wbr>expression Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12494">12494</a></td><td width="40%">org.<wbr>springframework.<wbr>jdbc Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12495">12495</a></td><td width="40%">org.<wbr>springframework.<wbr>jms Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12496">12496</a></td><td width="40%">org.<wbr>springframework.<wbr>messaging Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12497">12497</a></td><td width="40%">org.<wbr>springframework.<wbr>orm Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12498">12498</a></td><td width="40%">org.<wbr>springframework.<wbr>oxm Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12499">12499</a></td><td width="40%">org.<wbr>springframework.<wbr>transaction Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12500">12500</a></td><td width="40%">org.<wbr>springframework.<wbr>web Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12501">12501</a></td><td width="40%">org.<wbr>springframework.<wbr>webmvc.<wbr>portlet Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12502">12502</a></td><td width="40%">org.<wbr>springframework.<wbr>webmvc Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12503">12503</a></td><td width="40%">org.<wbr>springframework.<wbr>websocket Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12504">12504</a></td><td width="40%">org.<wbr>springframework.<wbr>test Version: 4.<wbr>2.<wbr>9.<wbr>RELEASE *SUBSET*</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12507">12507</a></td><td width="40%">Logback Core 1.<wbr>1.<wbr>8</td><td width="30%">Eclipse Public License 1.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12508">12508</a></td><td width="40%">logback-classic 1.<wbr>1.<wbr>8</td><td width="30%">Eclipse Public License 1.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12541">12541</a></td><td width="40%">commons-fileupload Version: 1.<wbr>3.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12542">12542</a></td><td width="40%">commons-collections 3.<wbr>2.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12543">12543</a></td><td width="40%">JSP Standard Tag Library Version 1.<wbr>2.<wbr>5-b03</td><td width="30%">Common Development and Distribution License 1.1, Apache 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12544">12544</a></td><td width="40%">javax.<wbr>servlet.<wbr>jsp.<wbr>jstl api Version: 1.<wbr>2.<wbr>1</td><td width="30%">Common Development and Distribution License 1.1, Apache 2.0 License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12546">12546</a></td><td width="40%">Java Transaction API Version: 1.<wbr>2 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12547">12547</a></td><td width="40%">javax.<wbr>mail Version: 1.<wbr>5.<wbr>5 </td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12565">12565</a></td><td width="40%">Javax.<wbr>interceptor API Version: 1.<wbr>2</td><td width="30%">Common Development and Distribution License 1.1</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12625">12625</a></td><td width="40%">commons-logging-1.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12626">12626</a></td><td width="40%">JSP 2.<wbr>3 FINAL (API 2.<wbr>3.<wbr>1 & Impl 2.<wbr>3.<wbr>2) </td><td width="30%">CDDL, Apache 2.0</td><td width="20%">unmodified binary</td> </tr>
+</tbody>
+</table>
+</div><div><h3>Exempt Pre-Req Dependencies</h3><table class="table table-hover table-striped table-bordered sticky-enabled">
+ <thead><tr><th>CQ</th><th>Third-Party Code</th><th>License</th><th>Use</th> </tr></thead>
+<tbody>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4838">4838</a></td><td width="40%">Spring IDE Version: 2.<wbr>5.<wbr>2</td><td width="30%">Eclipse Public License</td><td width="20%">unmodified source and binary</td> </tr>
+</tbody>
+</table>
+</div><div><h3>Works-With Dependencies</h3><table class="table table-hover table-striped table-bordered sticky-enabled">
+ <thead><tr><th>CQ</th><th>Third-Party Code</th><th>License</th><th>Use</th> </tr></thead>
+<tbody>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4136">4136</a></td><td width="40%">com.<wbr>mchange.<wbr>v2.<wbr>c3p0 Version: 0.<wbr>9.<wbr>1.<wbr>2</td><td width="30%">GNU Library or 'Lesser' General Public License (LGPL)</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4138">4138</a></td><td width="40%">oracle.<wbr>toplink.<wbr>essentials Version: 2.<wbr>0.<wbr>0.<wbr>b41-beta2</td><td width="30%">Common Development and Distribution License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4139">4139</a></td><td width="40%">org.<wbr>antlr Version: 3.<wbr>0.<wbr>1</td><td width="30%">New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4141">4141</a></td><td width="40%">Apache Commons Pool Version: 1.<wbr>3</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4142">4142</a></td><td width="40%">xalan 2.<wbr>7.<wbr>1 top level jar Version: 2.<wbr>7.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4143">4143</a></td><td width="40%">xerces 2.<wbr>9.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4144">4144</a></td><td width="40%">serializer.<wbr>jar Version: 2.<wbr>7.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4145">4145</a></td><td width="40%">JUnit Version: 4.<wbr>5</td><td width="30%">New BSD license (Hamcrest Core), Common Public License 1.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4147">4147</a></td><td width="40%">CSS Version: SAC</td><td width="30%">Apache License, 2.0, W3C License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4148">4148</a></td><td width="40%">\"works with\" test dependency on Spring 2.<wbr>5.<wbr>6 Version: 2.<wbr>5.<wbr>6</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4149">4149</a></td><td width="40%">\"works with\" dependency on Spring 2.<wbr>5.<wbr>6.<wbr>SEC01 Version: 2.<wbr>5.<wbr>6.<wbr>SEC01</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4151">4151</a></td><td width="40%">com.<wbr>dumbster.<wbr>smtp Version: 1.<wbr>6.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4154">4154</a></td><td width="40%">com.<wbr>mysql.<wbr>jdbc Version: 5.<wbr>1.<wbr>6</td><td width="30%">GNU General Public License (GPL) v2 + FLOSS exception</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4160">4160</a></td><td width="40%">org.<wbr>apache.<wbr>commons.<wbr>codec Version: 1.<wbr>4.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4161">4161</a></td><td width="40%">org.<wbr>apache.<wbr>commons.<wbr>collections Version: 3.<wbr>2.<wbr>1</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4162">4162</a></td><td width="40%">apache commons dbcp Version: 1.<wbr>2.<wbr>2 </td><td width="30%">Apache License, 2.0</td><td width="20%">modified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4165">4165</a></td><td width="40%">org.<wbr>apache.<wbr>regexp Version: 1.<wbr>5.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4169">4169</a></td><td width="40%">org.<wbr>apache.<wbr>xmlcommons Version: 1.<wbr>3.<wbr>3/<wbr>1.<wbr>3.<wbr>4</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4170">4170</a></td><td width="40%">org.<wbr>cyberneko.<wbr>html Version: 1.<wbr>9.<wbr>11/<wbr>1.<wbr>9.<wbr>13</td><td width="30%">Apache Software License 1.1</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4182">4182</a></td><td width="40%">org.<wbr>hsqldb Version: 1.<wbr>8.<wbr>0.<wbr>9</td><td width="30%">New BSD license</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4190">4190</a></td><td width="40%">Spring Web Flow Booking sample Version: 2.<wbr>0.<wbr>8</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4191">4191</a></td><td width="40%">org.<wbr>h2 Version: 1.<wbr>0.<wbr>71</td><td width="30%">Eclipse Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4309">4309</a></td><td width="40%">com.<wbr>sun.<wbr>facelets Version: 1.<wbr>1.<wbr>14 (**see comment 5)</td><td width="30%">CDDL, W3C License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4312">4312</a></td><td width="40%">freemarker Version: 2.<wbr>3.<wbr>15 (**see comment11)</td><td width="30%">BSD-style license (mix of BSD and Apache 1.1), CDDL</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4371">4371</a></td><td width="40%">\"works with\" dependency on org.<wbr>hibernate Version: 3.<wbr>2.<wbr>6.<wbr>ga</td><td width="30%">GNU Library or 'Lesser' General Public License (LGPL)</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5525">5525</a></td><td width="40%">Freemarker Version: 2.<wbr>3.<wbr>18</td><td width="30%">BSD-style license (mix of BSD and Apache 1.1), CDDL, Apache 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7126">7126</a></td><td width="40%">\\\"works with\\\" dependency on hibernate Version: 4.<wbr>1.<wbr>0</td><td width="30%">GNU Lesser General Public License</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=8541">8541</a></td><td width="40%">Pax Exam Version: 4.<wbr>1.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">unmodified binary</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12540">12540</a></td><td width="40%">slf4j-nop version 1.<wbr>7.<wbr>22 and Later</td><td width="30%">MIT License</td><td width="20%">unmodified binary</td> </tr>
+</tbody>
+</table>
+</div><div><h3>Unused Approved Dependencies</h3><table class="table table-hover table-striped table-bordered sticky-enabled">
+ <thead><tr><th>CQ</th><th>Third-Party Code</th><th>License</th><th>Use</th> </tr></thead>
+<tbody>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3998">3998</a></td><td width="40%">Apache Felix ConfigAdmin Version: 1.<wbr>2.<wbr>4</td><td width="30%">Apache License, 2.0</td><td width="20%">Obsolete: was used in the past but is not longer used</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3999">3999</a></td><td width="40%">Apache Felix Log Service Version: 1.<wbr>0.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">Obsolete: was used in the past but is not longer used</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4000">4000</a></td><td width="40%">Apache Felix EventAdmin Version: 1.<wbr>0.<wbr>0</td><td width="30%">Apache License, 2.0</td><td width="20%">Obsolete: was used in the past but is not longer used</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4024">4024</a></td><td width="40%">javax.<wbr>xml.<wbr>ws (Jaxws API) Version: 2.<wbr>1.<wbr>1</td><td width="30%">Common Development and Distribution License</td><td width="20%">Unused: not currently in use, but may be used in a future release</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4034">4034</a></td><td width="40%">Apache SSHD Version: 0.<wbr>3.<wbr>0 (Subset) </td><td width="30%">Apache License, 2.0, New BSD license, MIT license</td><td width="20%">Obsolete: was used in the past but is not longer used</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4075">4075</a></td><td width="40%">Tomcat configuration files (subset - 3 files) Version: 6.<wbr>0.<wbr>18 </td><td width="30%">Apache License, 2.0</td><td width="20%">Obsolete: was used in the past but is not longer used</td> </tr>
+ <tr><td width="10%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4134">4134</a></td><td width="40%">org.<wbr>springframework.<wbr>js Version: 2.<wbr>0.<wbr>8</td><td width="30%">Apache License, 2.0</td><td width="20%">Obsolete: was used in the past but is not longer used</td> </tr>
+</tbody>
+</table>
+</div></div><div><h2>Committers</h2><div><h3>Past and Present</h3><table class="table table-hover table-striped table-bordered sticky-enabled">
+ <thead><tr><th>Name</th><th>Affiliation</th><th>Active</th><th>Inactive</th> </tr></thead>
+<tbody>
+ <tr><td width="35%">Andy Wilkinson</td><td width="35%">SpringSource, Inc aka VmWare now GoPivotal</td><td width="15%">03/03/2010</td><td width="15%">09/28/2011</td> </tr>
+ <tr><td width="35%">Ben Hale</td><td width="35%">SpringSource, Inc aka VmWare now GoPivotal</td><td width="15%">03/03/2010</td><td width="15%">09/28/2011</td> </tr>
+ <tr><td width="35%">Borislav Kapukaranov</td><td width="35%">SAP SE</td><td width="15%">12/09/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Christian Dupuis</td><td width="35%">Pivotal Software, Inc.</td><td width="15%">03/03/2010</td><td width="15%">09/11/2015</td> </tr>
+ <tr><td width="35%">Christopher Frost</td><td width="35%">Pivotal Software, Inc.</td><td width="15%">03/03/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Daniel Marthaler</td><td width="35%"></td><td width="15%">09/12/2016</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Dmitry Sklyut</td><td width="35%"></td><td width="15%">12/13/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Florian Waibel</td><td width="35%">Innoopract GmbH</td><td width="15%">11/14/2011</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Glyn Normington</td><td width="35%">Pivotal Software, Inc.</td><td width="15%">03/03/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">GianMaria Romanato</td><td width="35%"></td><td width="15%">09/28/2015</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Hristo Iliev</td><td width="35%">SAP SE</td><td width="15%">12/09/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Leo Dos Santos</td><td width="35%">Tasktop</td><td width="15%">03/03/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Lazar Kirchev</td><td width="35%">SAP SE</td><td width="15%">12/02/2011</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Martin Lippert</td><td width="35%">Pivotal Software, Inc.</td><td width="15%">12/02/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Miles Parker</td><td width="35%">Tasktop</td><td width="15%">02/07/2012</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Steffen Pingel</td><td width="35%">Tasktop</td><td width="15%">03/03/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Steve Powell</td><td width="35%">Pivotal Software, Inc.</td><td width="15%">03/03/2010</td><td width="15%">--</td> </tr>
+ <tr><td width="35%">Violeta Georgieva</td><td width="35%">Pivotal Software, Inc.</td><td width="15%">12/09/2010</td><td width="15%">--</td> </tr>
+</tbody>
+</table>
+</div></div><div><h2>Contributions</h2><div><h3>Contributors and Their Contributions</h3><table class="table table-hover table-striped table-bordered sticky-enabled">
+ <thead><tr><th>Ref</th><th>Size</th><th>Date</th><th>Description</th> </tr></thead>
+<tbody>
+ <tr><td colspan="4"><b>Ahsen Jaffer</b> (1 contribution)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=dacb6e3309c79565c64cc1a7cab1345cf675bd21">dacb6e</a></td><td>79 lines</td><td>05/01/2014</td><td>424872 Improves scalability of StandardBundleInstallArtifact</td> </tr>
+ <tr><td colspan="4"><b>Alex Antonov</b> (1 contribution)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=1056e5341b16a6deeed191216560a394421a4e5c">1056e5</a></td><td>63 lines</td><td>10/15/2012</td><td>385343: use Virgo Bundlor instead of that from SpringSource</td> </tr>
+ <tr><td colspan="4"><b>Assia Djambazova</b> (3 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=ae4e3cc06c81b4dac363c78764ae8ecd2acb2601">ae4e3c</a></td><td>4 lines</td><td>09/27/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353490">Bug 353490</a>: Deployment ofbig artifacts in pickup fails on Windows OS.<wbr> Windows OS updates file's size and last modified flag in a different way than Unix OS, because of this additional check is added to FileSystemChecker class.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=cf8fc0b9fb2562f292de6269fa5c5ef47a6a5e46">cf8fc0</a></td><td>4 lines</td><td>09/27/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353490">Bug 353490</a>: Deployment ofbig artifacts in pickup fails on Windows OS.<wbr> Windows OS updates file's size and last modified flag in a different way than Unix OS, because of this additional check is added to FileSystemChecker class.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/353490">353490</a></td><td>1,138 bytes</td><td>09/16/2011</td><td>Virgo fails deployment of big WAR files
+Attachment 203491: Patch for deployment of big archives</td> </tr>
+ <tr><td colspan="4"><b>Christopher Frost</b> (1 contribution)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=88b1fcc47055e8645625d7a4f20431ec97147d60">88b1fc</a></td><td>4 lines</td><td>04/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td colspan="4"><b>ctranxuan@gmail.com</b> (5 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=e741789016d2a599ef822896c1051142f081f91a">e74178</a></td><td>285 lines</td><td>11/07/2011</td><td>360024 Adding a plugin file to ensure the Maven can consume the maven plugin</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=5640fe4245c3f05f52382f86779d05ecd1b05e82">5640fe</a></td><td>13 lines</td><td>11/07/2011</td><td>362405 Adding patch to support bigger version numbers</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/360024">360024</a></td><td>3,470 bytes</td><td>10/29/2011</td><td>Maven reports that Virgo Bundlor does not have plugin descriptor
+Attachment 206168: pom file that helps to build bundlor for 1.<wbr>1.<wbr>0.<wbr>M01</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/360024">360024</a></td><td>10,250 bytes</td><td>10/29/2011</td><td>Maven reports that Virgo Bundlor does not have plugin descriptor
+Attachment 206169: The missing plugin.<wbr>xml file in question for 1.<wbr>1.<wbr>0.<wbr>M01</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/362405">362405</a></td><td>2,286 bytes</td><td>10/29/2011</td><td>Bundlor does not support version numbers like 23.<wbr>1.<wbr>49.<wbr>SNAPSHOT
+Attachment 206167: Patch to fix the bug (source + unit test)</td> </tr>
+ <tr><td colspan="4"><b>Daniel Kojic</b> (1 contribution)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.root.git/commit?id=0695508cfd445b78ddfe97e650c1f5ad34997efa">069550</a></td><td>7 lines</td><td>03/10/2016</td><td>489327 Replaces dependency to local snapshot of Bundlor plugin with coords to the 0.<wbr>2 version an Gradle Plugins</td> </tr>
+ <tr><td colspan="4"><b>Daniel Marthaler</b> (3 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.root.git/commit?id=7102b5dcc188db783c5803502200b5d51271f300">7102b5</a></td><td>7 lines</td><td>03/09/2016</td><td>489321 Adds eclipse.<wbr>jdt sourceCompatibility and targetCompatibility 1.<wbr>7 to match the settings used during build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=ad1b5b4c8dc15c0d178aa687783938eb890228a1">ad1b5b</a></td><td>64 lines</td><td>03/10/2016</td><td>489374 Removes Eclipse meta information from several oev.<wbr>web bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.root.git/commit?id=4cea318017e17c667d42ad86f7bff2dce4e0b499">4cea31</a></td><td>2 lines</td><td>03/10/2016</td><td>489374 Removes Eclipse meta information from several oev.<wbr>web bundles</td> </tr>
+ <tr><td colspan="4"><b>Daniël van 't Ooster</b> (1 contribution)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/342571">342571</a></td><td>4,386 bytes</td><td>06/06/2011</td><td>reduce virgo ide startup memory use
+Attachment 197382: Updated patch</td> </tr>
+ <tr><td colspan="4"><b>David Normington</b> (1 contribution)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/351066">351066</a></td><td>284 bytes</td><td>07/04/2011</td><td>OSGi Explorer (Comment)</td> </tr>
+ <tr><td colspan="4"><b>Dmitry Sklyut</b> (17 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=4bcc97b1d1dbbd5e69d0d1d2d01c99bdc9129a79">4bcc97</a></td><td>8 lines</td><td>07/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319984">Bug 319984</a>: export Logback packages with Logback version and avoid using woven Logback (as it is no longer woven)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=1a678d1f06564dd36583d2d4f4bba2377c098394">1a678d</a></td><td>450 lines</td><td>07/20/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320387">Bug 320387</a>: bring snaps up to date with Virgo 2.<wbr>1.<wbr>0.<wbr>M02-incubation</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=40de9793325529b222e4091510796481a8bed77f">40de97</a></td><td>106 lines</td><td>07/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320505">Bug 320505</a>: prevent snap binding to wrong bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=5ee99f945baa1aa1375761bb87d73153a7bac29e">5ee99f</a></td><td>77 lines</td><td>08/12/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322533">Bug 322533</a> - Bring snaps up to date with Virgo at 2.<wbr>1.<wbr>0.<wbr>M03-incubation</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7c06ccd77ef17868710c90e0d3ea7988ac17b3bf">7c06cc</a></td><td>4 lines</td><td>11/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330828">Bug 330828</a>: bundleInstallArtifactTreeFactory service registered once too often</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/311547">311547</a></td><td>11,635 bytes</td><td>07/21/2010</td><td>Asynchronous start up during restarts
+Attachment 174926: Fix for deployer recover log patch.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/319984">319984</a></td><td>2,983 bytes</td><td>07/15/2010</td><td>medic.<wbr>core exports logback packages with wrong version
+Attachment 174398: patch for this issue</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320387">320387</a></td><td>1,491 bytes</td><td>07/20/2010</td><td>[snaps] bring snaps up to date with Virgo 2.<wbr>1.<wbr>0.<wbr>M02-incubator
+Attachment 174742: Updates version of dependencies and version of build system.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320387">320387</a></td><td>550 bytes</td><td>07/20/2010</td><td>[snaps] bring snaps up to date with Virgo 2.<wbr>1.<wbr>0.<wbr>M02-incubator
+Attachment 174743: Update version of virgo-build</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320387">320387</a></td><td>555 bytes</td><td>07/20/2010</td><td>[snaps] bring snaps up to date with Virgo 2.<wbr>1.<wbr>0.<wbr>M02-incubator
+Attachment 174744: Proper version of virgo-build</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320387">320387</a></td><td>20,528 bytes</td><td>07/20/2010</td><td>[snaps] bring snaps up to date with Virgo 2.<wbr>1.<wbr>0.<wbr>M02-incubator
+Attachment 174745: Updated version of components used in unit/<wbr>integration tests</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320387">320387</a></td><td>41,900 bytes</td><td>07/20/2010</td><td>[snaps] bring snaps up to date with Virgo 2.<wbr>1.<wbr>0.<wbr>M02-incubator
+Attachment 174746: Updated version of components used in unit/<wbr>integration tests (2)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320387">320387</a></td><td>1,096 bytes</td><td>07/20/2010</td><td>[snaps] bring snaps up to date with Virgo 2.<wbr>1.<wbr>0.<wbr>M02-incubator
+Attachment 174747: Updated prefix used in logging.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320505">320505</a></td><td>5,967 bytes</td><td>07/21/2010</td><td>[snaps] Snap binds to any host if SnapFactory is published prior to host ServletContext
+Attachment 174850: this is a test for the issue</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320505">320505</a></td><td>3,012 bytes</td><td>07/21/2010</td><td>[snaps] Snap binds to any host if SnapFactory is published prior to host ServletContext
+Attachment 174851: This is a proposed fix</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/322533">322533</a></td><td>24,819 bytes</td><td>08/12/2010</td><td>Bring snaps up to date with 2.<wbr>1.<wbr>0.<wbr>M03 virgo
+Attachment 176468: update versions of dependencies</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/330828">330828</a></td><td>1,210 bytes</td><td>11/22/2010</td><td>bundleInstallArtifactTreeFactory osgi service is registered twice in kernel.<wbr>deployer
+Attachment 183580: patch</td> </tr>
+ <tr><td colspan="4"><b>Eduardo Fernández</b> (1 contribution)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.root.git/commit?id=48f82d9f28d1176b0b24918d62445c956e9442cd">48f82d</a></td><td>9 lines</td><td>02/01/2017</td><td>511423 - Improve BUILD.<wbr>md documentation</td> </tr>
+ <tr><td colspan="4"><b>Florian Waibel (Innoopract GmbH)</b> (18 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=dfdc5db78de789d98abe613ad56f3b4756ea23cb">dfdc5d</a></td><td>703 lines</td><td>07/20/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320382">Bug 320382</a>: virgoising dm server 'slices' to virgo 'snaps'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=185b36ba4e4094b42f13ce89c3d83588df83f6e0">185b36</a></td><td>28 lines</td><td>08/05/2010</td><td>Add tests for package attribute names.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=3f082d736ce985cec4956471cbe8aa46f916425c">3f082d</a></td><td>28 lines</td><td>08/05/2010</td><td>Add tests for package attribute names.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=5b73e31ba60ec7d4fb896b032a83f0eda78f6c42">5b73e3</a></td><td>85 lines</td><td>08/05/2010</td><td>Add tests and lexer for package attribute names.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=ff688582407992157d85eda5a7def780afa9c840">ff6885</a></td><td>85 lines</td><td>08/05/2010</td><td>Add tests and lexer for package attribute names.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=35a8cb0ea0125de205d8b02a769817c14ea5191b">35a8cb</a></td><td>136 lines</td><td>09/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=357473">Bug 357473</a>: add tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=28633df0f7973d13e74a2d02c250c0263962a6db">28633d</a></td><td>129 lines</td><td>09/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=357473">Bug 357473</a>: add tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=42d62d5f8e5dd3564bad384119004d254d939636">42d62d</a></td><td>1,704 lines</td><td>10/21/2011</td><td>ASSIGNED - <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358697">Bug 358697</a>: [Subsystems] DAG interface and implementation https:/<wbr>/<wbr>bugs.<wbr>eclipse.<wbr>org/<wbr>bugs/<wbr>show_bug.<wbr>cgi?id=358697 - DirectedAcyclicGraph and GraphNode ready for contribution.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=5a0afb416fee4f5d123059424b032c1c528704fd">5a0afb</a></td><td>54 lines</td><td>10/21/2011</td><td>ASSIGNED - <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358697">Bug 358697</a>: [Subsystems] DAG interface and implementation https:/<wbr>/<wbr>bugs.<wbr>eclipse.<wbr>org/<wbr>bugs/<wbr>show_bug.<wbr>cgi?id=358697 - Added the appropriate license header to new files.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/318863">318863</a></td><td>1,884 bytes</td><td>07/30/2010</td><td>Adopt R3.<wbr>4 Attribute and Directive name syntax (Was: Deployer fails with split packages)
+Attachment 175550: 1/<wbr>4</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/318863">318863</a></td><td>1,895 bytes</td><td>07/30/2010</td><td>Adopt R3.<wbr>4 Attribute and Directive name syntax (Was: Deployer fails with split packages)
+Attachment 175551: 2/<wbr>4</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/318863">318863</a></td><td>4,420 bytes</td><td>07/30/2010</td><td>Adopt R3.<wbr>4 Attribute and Directive name syntax (Was: Deployer fails with split packages)
+Attachment 175552: 3/<wbr>4</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/318863">318863</a></td><td>1,801 bytes</td><td>07/30/2010</td><td>Adopt R3.<wbr>4 Attribute and Directive name syntax (Was: Deployer fails with split packages)
+Attachment 175553: 4/<wbr>4</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/320382">320382</a></td><td>135,006 bytes</td><td>07/20/2010</td><td>virgoising dm-server "slices" to virgo "snaps"
+Attachment 174738: Adapted virgoise.<wbr>sh script for slices/<wbr>snaps</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/357473">357473</a></td><td>1,767 bytes</td><td>09/13/2011</td><td>Improve test coverage for DeployerArtifact, DefaultArtifactObjectNameCreator and DeployerBundleArtifact
+Attachment 203237: Added kernel.<wbr>core to kernel.<wbr>model AspectJ inpath to enable @NotNull checks.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/357473">357473</a></td><td>6,797 bytes</td><td>09/13/2011</td><td>Improve test coverage for DeployerArtifact, DefaultArtifactObjectNameCreator and DeployerBundleArtifact
+Attachment 203238: Added tests for DeployerBundleArtifact.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/357473">357473</a></td><td>6,107 bytes</td><td>09/13/2011</td><td>Improve test coverage for DeployerArtifact, DefaultArtifactObjectNameCreator and DeployerBundleArtifact
+Attachment 203239: Added tests for DeployerArtifact.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/357473">357473</a></td><td>2,444 bytes</td><td>09/13/2011</td><td>Improve test coverage for DeployerArtifact, DefaultArtifactObjectNameCreator and DeployerBundleArtifact
+Attachment 203240: Added tests for DefaultArtifactObjectNameCreator.<wbr></td> </tr>
+ <tr><td colspan="4"><b>Glyn Normington</b> (3 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=86d300209bac6ed618b732c8aac51766d267a842">86d300</a></td><td>1 lines</td><td>04/23/2013</td><td>test ability to push with new email address</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=0c0c1c1017a735eb78958630c722f10e60c740c9">0c0c1c</a></td><td>5 lines</td><td>01/14/2014</td><td>425655: Avoid overriding JAVA_OPTS -Xmx setting</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=56b250cf5cbf0cd372ca2402f7a93a0384001dca">56b250</a></td><td>2 lines</td><td>01/16/2014</td><td>425655: Avoid overriding JAVA_OPTS -Xmx setting</td> </tr>
+ <tr><td colspan="4"><b>Glyn Normington</b> (1551 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=3f264674a4f807d5e90633b97025a5976a963167">3f2646</a></td><td>44,365 lines</td><td>04/20/2010</td><td>initial commit from dm Server Virgo util repo d56f9ae0b2908c7fc862c6e9b9c7331d166ab523</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=5976bc62c6946387d836fad4d4d965494143bf53">5976bc</a></td><td>3,749 lines</td><td>04/20/2010</td><td>initial commit from dm Server Virgo osgi-extensions 01ca2f096fc6683945f146414b2d79552b167606</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=d763e2348bf9f0278dc8d444c9f37c48c050f086">d763e2</a></td><td>6,432 lines</td><td>04/20/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=307651">Bug 307651</a>] initial check-in from dm Server Virgo osgi-test-stubs 3dbb1cd041b28fb2263a24629543142ec80b43ab</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=4ee99b44c518c79a2b427b123da4d5cffe8b0358">4ee99b</a></td><td>1,529 lines</td><td>04/20/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=307633">Bug 307633</a>] initial check-in from dm Server Virgo test repository ef5aaaa0f9a011549e182e091658f5594f6a39f3</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=1fe315346425dcdea73feebd431aba7ae2a75f61">1fe315</a></td><td>10,420 lines</td><td>04/20/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=307650">Bug 307650</a>] initial check-in from dm Server Virgo medic 0a647883a0176f60d8572f51c7eff591b7e408b6</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=83c941f667ce076ae273e1b169304bbdc5795212">83c941</a></td><td>4,074 lines</td><td>04/23/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=307629">Bug 307629</a>] initial check-in based on dm Server Virgo virgo-build at ecdc38e1579879690c2916569b12ad0ba5a6acc0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=a3f0f3e29519578065fa98e6a3878c254ca2e757">a3f0f3</a></td><td>1 lines</td><td>04/23/2010</td><td>link in virgo-build submodule</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=7eca5c752cf1dbe011beea79589925b3a6b65471">7eca5c</a></td><td>1 lines</td><td>04/23/2010</td><td>link in virgo-build submodule</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=5ea24ef3bb00daf48ee527ccab216a78a8631ca7">5ea24e</a></td><td>1 lines</td><td>04/23/2010</td><td>link in virgo-build submodule</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=55c28d4eb18c0e1dbf4d01d50247b0010a397ca2">55c28d</a></td><td>3 lines</td><td>04/23/2010</td><td>link in virgo-build submodule and add a missing class declaration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=640e4d68f685da55665064798f9d6e660daf9467">640e4d</a></td><td>1 lines</td><td>04/23/2010</td><td>link virgo-build submodule</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=4f667634d73d20979e42876467738ddbcf991669">4f6676</a></td><td>988 lines</td><td>04/26/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=307629">Bug 307629</a>] add docbook style files (CQ 4001)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=dadc3972d8bca3bd622a4e3a5517b6954d8b12b6">dadc39</a></td><td>2 lines</td><td>04/26/2010</td><td>test update</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=1caeac4a15d12f029a93fdd6faff31380b79890a">1caeac</a></td><td>1 lines</td><td>04/30/2010</td><td>add description file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=84c9bb92826f87e37a9ba2d2831d5851b5ce9de1">84c9bb</a></td><td>1 lines</td><td>04/30/2010</td><td>change correct description file in .<wbr>git directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=88ab0a415fc36012c5d4d8ae0ac5c0d84d6d6276">88ab0a</a></td><td>14,783 lines</td><td>05/05/2010</td><td>initial check-in from dm Server artifact-repository commit 8d06a851f759a2a66c4bf5813e21f7bb6887b86d</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5dfdbe75bdf1ba2476fe2e60e62e3454a3565de7">5dfdbe</a></td><td>87,064 lines</td><td>05/11/2010</td><td>initial checkin from dm Server kernel commit dffbc217a919cefba04886160ba820f2c6cf5f57 omitting build-kernel/<wbr>bin/<wbr>service</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=41957bdef840a63cb2ca90f0b245d1dc189e7e3e">41957b</a></td><td>2,130 lines</td><td>05/14/2010</td><td>initial checkin from dm Server performance-test repository commit 433290c63085fbcfed344af5df5c93e1251d07f3</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=2786e57465151af43487bb1d56c92dcf7f65afbb">2786e5</a></td><td>211 lines</td><td>05/14/2010</td><td>initial checkin from dm Server sample-osgi-examples repository commit 93e65ec015a02c8a4ff5f1e76fd0a60b67926dca</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=3b1af4081ad4e2e6e433746f365a9178d8fee993">3b1af4</a></td><td>3,128 lines</td><td>05/14/2010</td><td>initial checkin from dm Server kernel-tools repository commit ed98bf2ecf8afee3b53daeaabe31546295a8f4a8</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f9e83bf74243037c1c27ffd26fde019ff686521c">f9e83b</a></td><td>54 lines</td><td>05/14/2010</td><td>update version of Spring to match the version for which we have raised CQs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=b2d7f11a578c8167f5280b13e258049869d19a00">b2d7f1</a></td><td>107,299 lines</td><td>05/21/2010</td><td>initial checkin from dm Server apps repository commit f74e31b45849da6602b9c0100649c0f9960166e2</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=0d8b3b0c7cd7a10cf21bfa81aca492b580dd2311">0d8b3b</a></td><td>2 lines</td><td>05/27/2010</td><td>upgrade virgo build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=68bdb284f83300b07b1ae90e031d78731cd3ec02">68bdb2</a></td><td>529 lines</td><td>05/28/2010</td><td>initial checkin from dm Server kernel-system-verification-tests repository commit 128d1ef6b9001a58a80135fe51f5fa7525e22075</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6a12dbb5298d8a7e2b544548c0bbbdd51cb0dff6">6a12db</a></td><td>419 lines</td><td>06/01/2010</td><td>add default legal files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=dd8ec8bc6db75cabb49d962c8e362da2d9b59092">dd8ec8</a></td><td>388 lines</td><td>06/01/2010</td><td>add license, notice, and about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=19d0bd337ccf478d64acd3522cb002485d993b1f">19d0bd</a></td><td>27 lines</td><td>06/04/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312406">Bug 312406</a>: delete references to service wrapper</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=9e574902849250443f77c0426c50bce62937bf2b">9e5749</a></td><td>3,436 lines</td><td>06/04/2010</td><td>initial checkin from dm Server web-server repository commit 273e843bde10c5db6542a2bf98cbbea70eeaca58</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=8155b86c0407629e3e9c0dd7b60bb2ef8c5fbdee">8155b8</a></td><td>54 lines</td><td>06/04/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312406">Bug 312406</a>: delete service wrapper usage information</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c289f105ea104a7fa677abb1b2b4366312a0874a">c289f1</a></td><td>7 lines</td><td>06/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316018">Bug 316018</a>: delete extraneous bin directories</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=5d777f54969fa128f79eef43f50f873c43af5270">5d777f</a></td><td>4 lines</td><td>06/09/2010</td><td>update programmer guide screenshots to show Virgo rather than dm Server tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6d25701357ddcd1ed26e56a9407e0485e890693c">6d2570</a></td><td>878 lines</td><td>06/09/2010</td><td>improve about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=bf1374ce695533e19ea58ddf430e53ccdf38e615">bf1374</a></td><td>396 lines</td><td>06/10/2010</td><td>update user guide to use vsh Equinox console extension rather than kernel shell</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=b7fd9dad7d728b7ffe2e777afeb6a5ecc7c16351">b7fd9d</a></td><td>276 lines</td><td>06/10/2010</td><td>rationalise kernel and web server about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=938a33d93aaf8ca7e9ccd62ee0b65f53d140ea6b">938a33</a></td><td>5 lines</td><td>06/11/2010</td><td>add warning that the getting started guide needs updating for Virgo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=ca7ae037307d2aaf5b0ba8e6679e6ab7b2f88d62">ca7ae0</a></td><td>10 lines</td><td>06/11/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316405">Bug 316405</a>: upgrade web container</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=3bc842f138a2dd6e5c0765fb0e5b1a4d63273e68">3bc842</a></td><td>6,639 lines</td><td>06/14/2010</td><td>initial checkin from dm Server sample-greenpages repository commit 2216c74dd71e11f7cb59cde5c83987bc39e6724b</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=6027f1c4616aa152c09efeaf02c0c5b2cbee2506">6027f1</a></td><td>10,907 lines</td><td>06/14/2010</td><td>initial checkin from dm Server sample-formtags commit 2a9b6a3e9e78d2476200ee5aabd1b8c68ed3a6bc</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=d48e3474502eb97ffe2530150bea9855996d18d5">d48e34</a></td><td>1,632 lines</td><td>06/14/2010</td><td>initial checkin from dm Server sample-configuration-properties commit 47070cd13b5d38f7e1eeeaa281b85bf6b7bc1af7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=329143cc54543837f34d5786c53c29f76979283a">329143</a></td><td>109 lines</td><td>06/14/2010</td><td>Virgo updates prior to section 3.<wbr>5 of getting started guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=32259f3eacab087af6d11a5c7ae7ec31e6ff3ed5">32259f</a></td><td>22 lines</td><td>06/15/2010</td><td>update project facets, classpath, and PAR version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=3dad9d556f2b6c8b6bef7eba54becf3c31a7f07a">3dad9d</a></td><td>33 lines</td><td>06/15/2010</td><td>updates for Virgo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=50f21b9f52e92fb4503feccde3f43e46ba7c849d">50f21b</a></td><td>2 lines</td><td>06/15/2010</td><td>update warning</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=3a022f2f60c49009f349c128aa36a15d4a812cca">3a022f</a></td><td>4 lines</td><td>06/15/2010</td><td>fix syntax</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=228c843feda53268d384b5c7b9dbadfbdb84c838">228c84</a></td><td>2 lines</td><td>06/15/2010</td><td>link to page for greenpages download</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=619b6f37fc6588f5b574c1454d74070c72ef3632">619b6f</a></td><td>58 lines</td><td>06/18/2010</td><td>update remainder of getting started guide for Virgo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=53e45574f7973c25d79c36b5d0e0319fe8ea8ae3">53e455</a></td><td>2 lines</td><td>06/21/2010</td><td>update greenpages version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=2a717bd9587edc4108be030621a7276e32f03c7e">2a717b</a></td><td>18 lines</td><td>06/22/2010</td><td>optimise logging by avoiding cflowbelow and not logging entry/<wbr>exit for getters, setters, and in repository</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=ad6eff2ab856d066dd78b33834eecaac992d65e9">ad6eff</a></td><td>163 lines</td><td>06/22/2010</td><td>avoid infinite recursion during class loading during logging</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=5db21356262a7e5f916e296fa00cb6b0fe4ebceb">5db213</a></td><td>6 lines</td><td>06/22/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=26342bcf90e0f03973cb8ad397508271630f1ee9">26342b</a></td><td>70 lines</td><td>06/22/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=d559a58e13c3848cd1243b047bcb12c742f9fba3">d559a5</a></td><td>12 lines</td><td>06/22/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=09476bebb44fcf16b437440a53ca928c6fc2a5fb">09476b</a></td><td>48 lines</td><td>06/22/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=2ec65212986819ede66712e5b81ca14840f97a8e">2ec652</a></td><td>40 lines</td><td>06/22/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=19e317b18d5d22921522b883d80cbd33de6a885d">19e317</a></td><td>10 lines</td><td>06/22/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=e8bb4e4054dae39ba1d9c810c25226d11e2e6411">e8bb4e</a></td><td>2 lines</td><td>06/22/2010</td><td>complete ripple manually</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=0da00d81c5aa0adc32aa211676ae945f9527807a">0da00d</a></td><td>73 lines</td><td>06/23/2010</td><td>fix findbugs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=f439d9978b80bea0d62468b49a760227d8335d1a">f439d9</a></td><td>273 lines</td><td>06/24/2010</td><td>improve about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5cdabd547ae865a6748beaf6f604d6cbe51b9eb8">5cdabd</a></td><td>2 lines</td><td>06/24/2010</td><td>fix findbug</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=061f0cf89e955be6b13b41b03ad51eb8a6807c42">061f0c</a></td><td>1 lines</td><td>06/24/2010</td><td>avoid packaging .<wbr>git directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=646d9b33bf8a72d5721571536dd7e0e8fd9a4e79">646d9b</a></td><td>145 lines</td><td>06/24/2010</td><td>begin to change about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=8492f0b0a521c45132a5128300ac73b9a59458d9">8492f0</a></td><td>262 lines</td><td>06/25/2010</td><td>improve about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=5542d0a7f61c31b9a75a99e8e346931ed796656e">5542d0</a></td><td>776 lines</td><td>06/25/2010</td><td>re-arrange about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=d9e75f13e633f5eceed6c5196604650702c6edf5">d9e75f</a></td><td>1 lines</td><td>06/28/2010</td><td>DMS-2737: avoid class loading errors due to jsch failing when ivy is booting</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=714cd2ec95196e061699c9df5b4932ad8563c5ff">714cd2</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=4bb129024d4e863a4e4628771f4a3137c1649225">4bb129</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=42706505370c5ee0c652e740bf15c609aa370d3d">427065</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=9c5d277e13a0b2cabe096cf819bd9be174e7d381">9c5d27</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=32b5496925c0b9eb011afe348ca4c7aa24f2a045">32b549</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=fd5caef535b6f9a494331e36ccc9166c0e83ac27">fd5cae</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=1337f0080900347956111457749772097703a125">1337f0</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=8b4b48b2c202058f9bd140da63e264df8b14bbab">8b4b48</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a77377e24a71bf9ba144ad6ab0fd7871c33eb7be">a77377</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=217eb56dfd89574899678bd0959db4298a615a10">217eb5</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=6039e0de82d5565416593b418f54c7843473bc0f">6039e0</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=7aae513c36264aa5aa53180f3953f42d2f07beb6">7aae51</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=4402ab84c3734f1037555896272ea591c7d7ef8d">4402ab</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=93d2e2dba160603db3288ad21ddf047d81183381">93d2e2</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=81d4708f19b3de1abaffb491b1d0481791004213">81d470</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=45a3d2fb3ae5b063a5cb8658e6c66190ee456fc6">45a3d2</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=b61592baeeb75e56901068ca6f714e5927acb032">b61592</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=df5bc8e2233e84aa7a07ca72582e2d732d6004f7">df5bc8</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=2311b1d3ad9c121b8c1f9e7759bc057369c8268d">2311b1</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=4de705f2e7e5a1b22cd5ee27fe210e8a0945a407">4de705</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=669bbdd350389755f2f8f9af36c9a6dc93bf1052">669bbd</a></td><td>1 lines</td><td>06/28/2010</td><td>Fix another instance of class path</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=8556a44a0e263257d52e161ee189b45b29a4e2e9">8556a4</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=51768533cba4f96bddf2bc3532d1dcb770fc44b0">517685</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=6496669c6f2b2d0cd2bea7829bdf1bf3e426472b">649666</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=757e4c51e8abb45e419f99d849573d2dced0d791">757e4c</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=65a4f9376eb335665b6a8fcf13e7661c29de3687">65a4f9</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=1b93bd1e8b6f44483fbb486b2e9cdd9f4a66a87a">1b93bd</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=404e8629bac2dcd91b33775930eaf5fe31dc2236">404e86</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=f8db1ce125188ad350c587d41530a89417676e6d">f8db1c</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=dbbda97286c5763089f6727932d5f9122440c9e7">dbbda9</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=d8e0733b5852aed29e18ac230c18b03942e5a67c">d8e073</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=793df6b5c7988e17d5fb4b820d09f52ca99d3959">793df6</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=5966680192557e5cc12a765dcab5ace4b0bdfdc2">596668</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=5ce3465585ee9e691d3432ba4ae092b1762618e6">5ce346</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=6320186a933cd7a5f212b96dd2f6e6b7a4b8270b">632018</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=3a4529f1f739be36bcff93dd654fd2749a7d2c58">3a4529</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=93971833b3add733a2d818fdb6848ab15663098c">939718</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=01a9570ef9c58b7da97afc3daa571113d4f5ed60">01a957</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=4cb39b638947c9c00504df0d784452bbe45d955e">4cb39b</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=cb2c6f1235a17a46b3f9f35c8fd3a1c1fb354846">cb2c6f</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=27154db973cf539f3fc3466b6f8c6b370a673dd4">27154d</a></td><td>2 lines</td><td>06/28/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>15'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=1fedeab62d1faa570c6865c865ea7433ce0f31b7">1fedea</a></td><td>16 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=36aca32315125e34e40f54ebfc7253dbbb7e8453">36aca3</a></td><td>66 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=ea85081b084e931e9de618321b53f96401966e0b">ea8508</a></td><td>2 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=55e064b87ccac94d690b6089ca8e0626b5de766e">55e064</a></td><td>12 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=98c580010776e2428cddbb7078ef518b8cfc0084">98c580</a></td><td>4 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=9a546ea019f1580eee2fe4cb5691cbf50b187e05">9a546e</a></td><td>4 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=d8e0c49100c0c2a6377ab1bab627dd67d22eae0e">d8e0c4</a></td><td>4 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=061a1f9757eea1d3bce5d3e91a71c150649939fd">061a1f</a></td><td>16 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=0c72408c2b039344788bfe8c9a6f7589a3071128">0c7240</a></td><td>34 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=347038a2f214fbfd0e42a4223e4536daee266bb0">347038</a></td><td>16 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=349817ea85592d07b03a76f6c19948c5ff00931e">349817</a></td><td>8 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=4afdb4c8fc30c87252f277e895c864eb21ff7d89">4afdb4</a></td><td>8 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=b4b50f4d88d9dd5635a1276b71ecb0230d816610">b4b50f</a></td><td>12 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=e0c8df5a22ee298f25f5d412221d3267aaed1a15">e0c8df</a></td><td>20 lines</td><td>07/01/2010</td><td>add 'incubation' to all Bundle-Name headers</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8aa6a8c485f2d977ff98f573477fd67ea31e90db">8aa6a8</a></td><td>111 lines</td><td>07/02/2010</td><td>prevent undeploy deleting deployer owner artifacts when the artifact has already been deleted</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=d868603c41e1b1a98fea6aa34f4857e5c14df9bb">d86860</a></td><td>14 lines</td><td>07/05/2010</td><td>update web container</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=fb5329adb1af516006b9fd54b716bcceb5beb492">fb5329</a></td><td>2 lines</td><td>07/06/2010</td><td>package docs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=6fe9313cb2721098dbf7963f8334c74746dbfa27">6fe931</a></td><td>4 lines</td><td>07/06/2010</td><td>disable PDF publication</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=e50dff76e7f442266d5aa7eeea8ab62119a9463d">e50dff</a></td><td>15,399 lines</td><td>07/06/2010</td><td>initial checkin from dm Server snaps repository commit c5b0c7b3712c3ae1e32e082f4846e66942608a5c</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=6871b3746c19a621a6370512ca7127987235ba1d">6871b3</a></td><td>86 lines</td><td>07/06/2010</td><td>change to build cleanly with virgo build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=e99d5fe73282e0be308866d24634df2931efa7a4">e99d5f</a></td><td>11 lines</td><td>07/07/2010</td><td>improve doc-html target</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=9e68d0d563a3fff0fe8ec40bb0e696c1b1352ca8">9e68d0</a></td><td>12 lines</td><td>07/07/2010</td><td>improve doc-html target</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=71b298172de0a0321cc8669f9b5c94e0dd29b5a8">71b298</a></td><td>2 lines</td><td>07/07/2010</td><td>avoid building pdf documentation which runs into the fop hang</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=d6aef009ae199f01577bc009a9ae446e248354d2">d6aef0</a></td><td>11 lines</td><td>07/07/2010</td><td>zip docs for publishing</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=609ef8a61d9bd8e46c1f7ec3a6caaf7993de2691">609ef8</a></td><td>4 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=3f61a2e7a0131449ee271d774612767ba7545d74">3f61a2</a></td><td>14 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=2050143c9d4f0b55313129f6e573b4dcd80f2c90">205014</a></td><td>20 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=7b88d7e0d658ac75f4b2af1e3558567bb4aeb2cd">7b88d7</a></td><td>20 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=925fc36a4018a645e7825a0e5893ad3b05fd737c">925fc3</a></td><td>200 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=b3b584b2d39a3dd856e024939dd10a26191aa93b">b3b584</a></td><td>32 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=e938f5a9a7f9f3fe79ce7e9d33fbcf4fa51957e1">e938f5</a></td><td>86 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=29022d0187021a7a53165b31fab5a3dcbbc4fb29">29022d</a></td><td>80 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=b3494fc78bf727f45c55d4e25f8de335918b6490">b3494f</a></td><td>1,570 lines</td><td>07/07/2010</td><td>missed renamings pointed out by Florian Waibel</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=f31d1e6f55c14e9d11e3b0269e237528f1aa2b35">f31d1e</a></td><td>16 lines</td><td>07/07/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=3f4bdeda733311d2945601e1a3f0117abab3b0cd">3f4bde</a></td><td>22 lines</td><td>07/13/2010</td><td>read access to build area using http</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=a83f3cfe29ecb931baaaba00ebc1bbf8357f85f4">a83f3c</a></td><td>2 lines</td><td>07/13/2010</td><td>update virgo build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=a2c60fedb2c331268118ce22365d9ad933982b42">a2c60f</a></td><td>2 lines</td><td>07/13/2010</td><td>update virgo build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=d487b7d20909e2604c9875a084f677d00fe06d59">d487b7</a></td><td>2 lines</td><td>07/13/2010</td><td>update virgo build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=e9be50d24377319ff22c0dfa7506db071cc63240">e9be50</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=013f4c66765f2c0ed1234749fe0eb2a6c1be160d">013f4c</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=aa0f225b99bc22330bb1a13a48704cd84d5e33c8">aa0f22</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=383008a9e2f91739ec028f7b2ddc7e7e22177b1a">383008</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=8e764164f9262d76ef0fbcb4fafc0ccd64e299ad">8e7641</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=bf7c105cdebe7ac34ba8a76dbd9c84db004a02b4">bf7c10</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=412c0c78ef8096a577ed1a7b1e84ee585dfbfb9a">412c0c</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=99b77507f9860a54359ba1305f590e0ef6cb346e">99b775</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b0e4a61e468d0c12fe978c1186b102082d42f826">b0e4a6</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=c18fb8eb9b74ea0a935f5659e8f9e79b9e0894d7">c18fb8</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=494174f94a63ef89734928882c11ce0fa8de7427">494174</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=11951de12a3c301519511745017a05b032ced328">11951d</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=5c3e362fded31cf541bbf7da4f2f22a9fd672fde">5c3e36</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=429b81fc4c63185213b1b16aacd729ae55cc8661">429b81</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=fc3f20d03659ff5ac598ed6193d37c46ca8fd834">fc3f20</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=790ecbc4bbbb18ac44e633667b2ba942ef8b920b">790ecb</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=d33d955ec00c82d0d99e97e57850e84f4cceb712">d33d95</a></td><td>2 lines</td><td>07/13/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>23'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=2b4cb8d5b7f6095997cb40672f1625617cea5c3e">2b4cb8</a></td><td>2 lines</td><td>07/16/2010</td><td>avoid generating PDFs in ripples</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=0bcf7a870c92e84c636829f9cb2849f3a9ffff43">0bcf7a</a></td><td>6 lines</td><td>07/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=29c40dab6d3600b74f7fb78e7fdf3e964373a381">29c40d</a></td><td>70 lines</td><td>07/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=b4c3d75dd2bad783bfbce4d153f20653a04cea21">b4c3d7</a></td><td>12 lines</td><td>07/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=e9dfbf26efb0546c463bcac673b4e78a785b5929">e9dfbf</a></td><td>48 lines</td><td>07/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a17bcd5015eae02eb8cc1352e2ac5249e4e158af">a17bcd</a></td><td>40 lines</td><td>07/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=10f695be37fc866a04e651718687694fbdf080e7">10f695</a></td><td>12 lines</td><td>07/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=648e8be1a020ff79be6c2d686b1ee4b4583ddeec">648e8b</a></td><td>10 lines</td><td>07/16/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319955">Bug 319955</a>: update dependency on Gemini Web</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=5a7077de8e8c4d1dabbc3d0fac32177d4975c4ca">5a7077</a></td><td>6 lines</td><td>07/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=b5ef4875561b88ff6a400a1de5d3b8f7ff5c5e22">b5ef48</a></td><td>6 lines</td><td>07/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=026a0fa670f29d060be272c58c816add31da29f2">026a0f</a></td><td>24 lines</td><td>07/21/2010</td><td>fix classpath for test stubs references</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=985bf8103d7d9d4b689c55f72ed6d864970e0f7d">985bf8</a></td><td>88 lines</td><td>07/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320368">Bug 320368</a>: move ArtifactStorage to exported org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>install.<wbr>artifact package</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=007c9bdceb2e036d530ed6733db46641efe84a34">007c9b</a></td><td>2 lines</td><td>07/21/2010</td><td>re-instate v1.<wbr>23 of virgo build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=590fab84ef6921351693e8d4151534bb37c59664">590fab</a></td><td>176 lines</td><td>07/22/2010</td><td>avoid unnecessary 100 mS waits</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=eaaf8b080f09877eb9d9e7265854fa714590d85a">eaaf8b</a></td><td>2 lines</td><td>08/05/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319225">Bug 319225</a></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=d734d80a27ae39bb35318a60fa15d1be235a9771">d734d8</a></td><td>5 lines</td><td>09/02/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323609">Bug 323609</a>: avoid duplicating the default logging context unnecessarily</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=43b5479f3d45541fb3a4502cec4f82a11c986bf8">43b547</a></td><td>24 lines</td><td>09/02/2010</td><td>update default logging configuration (even though it seems not to be used)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=2f254390ff4137d27d4f67fe26fc3fb2ce455d41">2f2543</a></td><td>6 lines</td><td>09/02/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=496ee306f1779b363c6ada7b363e4c215802bf09">496ee3</a></td><td>70 lines</td><td>09/02/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=defb471926eeda686890b2f073941c92f8b4301c">defb47</a></td><td>12 lines</td><td>09/02/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=0f4f1b649ecc01d8978e546c6b3cb652013782fd">0f4f1b</a></td><td>48 lines</td><td>09/02/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=3c96c4836f2adf6c2a6e77876291b6e13949c94d">3c96c4</a></td><td>40 lines</td><td>09/02/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=eea02f7cbde3768b7b2cb4e60e1825334252613c">eea02f</a></td><td>12 lines</td><td>09/02/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=7d3d3fc864c074ee290d43a7b6e30a0ae8c73ccc">7d3d3f</a></td><td>4 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=18f2dba2aaeac4359ffd36a2540b56c4a578c4e3">18f2db</a></td><td>16 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=cf0d93f206a536051eb9c61f193070a7b0106b3d">cf0d93</a></td><td>20 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=7b0817df252d61337a5e0487af9714e4e7fe7bfe">7b0817</a></td><td>20 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fbaa9d7d474a3214689aa352d1c93b1cb91cc060">fbaa9d</a></td><td>200 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=1130e36bc847d0b77aaf42f135e71d02cacfa55b">1130e3</a></td><td>32 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=931750e96ec28b5374e64b4b80e4594987247583">931750</a></td><td>86 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=73192c9478232c3e20779d5f18b844c30e6692ff">73192c</a></td><td>76 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=c5ed7716bca54cd104decdd3a1431bda634db20a">c5ed77</a></td><td>16 lines</td><td>09/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=0e4bf901648e48d9d319546b6d77420a4901a481">0e4bf9</a></td><td>7 lines</td><td>09/03/2010</td><td>add comment to record understanding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=02882ddd1e989b73faf62b3eefe005b8b47c66f2">02882d</a></td><td>2 lines</td><td>09/03/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324049">Bug 324049</a>: fix broken link</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=078069c2a54bd65669ba2c2c769835ade37b9d65">078069</a></td><td>6 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=1ef6c0b1e266b511b80fdf7db6b2e6e307ee7cd4">1ef6c0</a></td><td>6 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=581dca57e8ef6ecc1934d145448d15da21442486">581dca</a></td><td>6 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=b2c600a6f72b8fdda33c437a4eb1f4cf998cd21e">b2c600</a></td><td>18 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=f752198f39403d6d9e55f35128e4ad7eee78138d">f75219</a></td><td>28 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=4abaf94848dfdfc066239813f7ded720c2e90e00">4abaf9</a></td><td>20 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5aa722c8e1a754d703ee5b50eac831e6d4d438f6">5aa722</a></td><td>246 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f91bfcd6f6df8424aff330d7532e55dba480081e">f91bfc</a></td><td>36 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=5fa2b8f84525f1e7553b92f24c3f33e2381ba32c">5fa2b8</a></td><td>96 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=1d58720a49f7cd9c2bacc066fb76b9e60d5aac3b">1d5872</a></td><td>88 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=45a81d9a3cdd953a20e110082503785a1d912853">45a81d</a></td><td>18 lines</td><td>09/07/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0af9eaba2b983c2573bda899e2f54044a1317cab">0af9ea</a></td><td>4 lines</td><td>09/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324210">Bug 324210</a>: move kernel osgi command bundle from lib to lib/<wbr>kernel</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8c87cc96608e54d0781947c145ae071850d8f3dd">8c87cc</a></td><td>2 lines</td><td>09/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324210">Bug 324210</a>: exclude launcher and Spring context support JARs from lib/<wbr>kernel</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=09ce966db87b570eb40f384094b86588749e6d4c">09ce96</a></td><td>1 lines</td><td>09/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324210">Bug 324210</a>: omit transaction JAR from lib</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6ad6e7ff96da3a05a8514a09021a7754de8622f3">6ad6e7</a></td><td>52 lines</td><td>09/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324210">Bug 324210</a>: move classpath JARs into lib/<wbr>launcher</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=9846bf24f63b7fbcfb93d3846de5e58e5f550128">9846bf</a></td><td>4 lines</td><td>09/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=ebbfea2909ddf429a224a254b5b3c2b2187d037f">ebbfea</a></td><td>36 lines</td><td>09/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6ce97e14590d1cf3e98a5015b95c1abccaa1b2a3">6ce97e</a></td><td>26 lines</td><td>09/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=9a32f01f2e98d817faabf0fa44527c23e54993a3">9a32f0</a></td><td>8 lines</td><td>09/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=5a2b4013d5b441433b3c3b75aa7a51b8486bc299">5a2b40</a></td><td>6 lines</td><td>09/10/2010</td><td>Hard code Hudson proxy info for testing purposes only</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=ba97cc05b61abed20030d45753788c457b489b57">ba97cc</a></td><td>2 lines</td><td>09/10/2010</td><td>Pull in virgo build which hard codes Hudson proxy settings for testing purposes only</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=f297855d21251dafb5bc80d2842cff3c30f9a533">f29785</a></td><td>2 lines</td><td>09/10/2010</td><td>Revert "Pull in virgo build which hard codes Hudson proxy settings for testing purposes only"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=bf675816d482e97d2d56079cda6d72a584e04bee">bf6758</a></td><td>6 lines</td><td>09/10/2010</td><td>Revert "Hard code Hudson proxy info for testing purposes only"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=efc94470e02137a8c983e6b8117c4ec08e4149f4">efc944</a></td><td>4 lines</td><td>09/13/2010</td><td>Remove duplicate build command.<wbr> Thanks to Hristo Illiev for spotting this.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=60dabca057671d14bcc066eea3b59ea7b7c20a41">60dabc</a></td><td>20 lines</td><td>09/15/2010</td><td>update build paths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b07b140b940478091098aefd6e58398726b60cbd">b07b14</a></td><td>61 lines</td><td>09/15/2010</td><td>more tests of Import-Bundle of a fragment bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f2a8d33f4b3af6c7f4f836fb3cc48a414ef9e9aa">f2a8d3</a></td><td>112 lines</td><td>09/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=325334">Bug 325334</a>: correct bundle and package version attributes when using Import-Bundle on a fragment</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=2bb30c2a747b18faef663c1cbecee48670f9d36b">2bb30c</a></td><td>100 lines</td><td>09/17/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319251">Bug 319251</a>: clarify the kernel in the user guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=dc3f0daac44edb1c5d0b4adf3037614f7cfc860c">dc3f0d</a></td><td>20 lines</td><td>09/17/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319251">Bug 319251</a>: clarify the kernel (minimally) in the programmer guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=743ca0fdfd33bcaef1cd4c6c7294fad9676c6308">743ca0</a></td><td>4 lines</td><td>09/20/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319369">Bug 319369</a>: rename service property name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=98e05b70a267699addfc11f331b0d6cc19645a53">98e05b</a></td><td>35 lines</td><td>09/20/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319369">Bug 319369</a>: rename service property but tolerate the old name for the 2.<wbr>1.<wbr>0 release</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4b8d48275c9c3306fd1e95747490c6bd846afc98">4b8d48</a></td><td>16 lines</td><td>09/20/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319369">Bug 319369</a>: rename service property in tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5ea02972d6653474f0ede5b8cde0cb73f2948a44">5ea029</a></td><td>10 lines</td><td>09/20/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312222">Bug 312222</a>: avoid issuing service tracking messages for uninstalled bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e7c398bfa4954ab5e43a8eec0df79026dc794d77">e7c398</a></td><td>28 lines</td><td>09/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319369">Bug 319369</a>: issue warning message when old scoping service property name is used</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=3b2a7e18f53abb62987b88dff4337edbdad9bbd3">3b2a7e</a></td><td>2 lines</td><td>09/21/2010</td><td>fix classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=6b3dde7a3ca611dd664f8fc88086037272b28c41">6b3dde</a></td><td>3 lines</td><td>09/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313924">Bug 313924</a>: fix test apps and regenerate tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fc2d7aef608b70e8071f5855957ec88edc3768f3">fc2d7a</a></td><td>39 lines</td><td>09/22/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317242">Bug 317242</a>: improve diagnostics when EventAdmin fails to send an event</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=08a371469b257ead345fcae6e0c0f03e56e5022e">08a371</a></td><td>23 lines</td><td>09/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323347">Bug 323347</a>: cope with cases when we cannot set the JMX file permissions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=697497a39867aa2d50d858e7cadab62cf17a81af">697497</a></td><td>3 lines</td><td>09/24/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=325572">Bug 325572</a>: adjust about file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=fe60efa0c9a5d5ba7776757236b4a0a013321e1f">fe60ef</a></td><td>8 lines</td><td>09/27/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326030">Bug 326030</a>: improve medic diagnostics for appender type class loading errors</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a279decd5bcba4d06714528c6e17de2c059cc543">a279de</a></td><td>2 lines</td><td>09/28/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=cb875eb9eb4420b4e3fc0d1f162cce8e7385efbe">cb875e</a></td><td>6 lines</td><td>09/28/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=acc089a76a27c610332aa36f406889e4048368bd">acc089</a></td><td>1 lines</td><td>09/28/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326323">Bug 326323</a>: add Ivy override to avoid packaging com.<wbr>springsource.<wbr>javax.<wbr>xml.<wbr>ws JAR</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=fce857a86c277aa112438866345dbe6bcd51dfc4">fce857</a></td><td>2 lines</td><td>10/01/2010</td><td>upgrade to Gemini Web RC1</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=e2da4a1519749e46d010163a2090ffb38f807b86">e2da4a</a></td><td>56 lines</td><td>10/01/2010</td><td>bugs 326766, 326773: correct about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0b9e0fbf3fcaae316daca071cb99242bb25c5f30">0b9e0f</a></td><td>443 lines</td><td>10/01/2010</td><td>bugs 326766, 326773: correct about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2e4df0aff787e4ac792ee4366bfa9c40b5b94ee7">2e4df0</a></td><td>2 lines</td><td>10/01/2010</td><td>fix formatting of date</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=d704e32d913b9651b8b4c7e61136bdde8a630939">d704e3</a></td><td>2 lines</td><td>10/01/2010</td><td>fix date formatting</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=96f4dfe6ee5d0fc18df33c70be79c228c5bad32e">96f4df</a></td><td>38 lines</td><td>10/04/2010</td><td>document how WAB headers are defaulted contrary to the OSGi spec</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ed8272b4be2c8ee192b2221771f5664c39202a68">ed8272</a></td><td>52 lines</td><td>10/07/2010</td><td>Revert "<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324210">Bug 324210</a>: move classpath JARs into lib/<wbr>launcher"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=feb1f2a9e21afd01c088d89c175765a0d00aecc7">feb1f2</a></td><td>2 lines</td><td>10/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327243">Bug 327243</a>: fix typo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=3ebcf2acc54cf1d3b76c911b42b738a8a427ad6a">3ebcf2</a></td><td>20 lines</td><td>10/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326423">Bug 326423</a>: fix how the calling bundle is determined to avoid nested framework issues and remove the web class loading hook from the scope of the entry/<wbr>exit trace aspect</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=1c1ea29db7d400c2f731fb31a50a3fdf5c90e12c">1c1ea2</a></td><td>52 lines</td><td>10/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327244">Bug 327244</a>: replace com.<wbr>springsource with org.<wbr>eclipse.<wbr>virgo where previously missed</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=736bd51be48c62b17a284478d2ac95b1cd26f495">736bd5</a></td><td>2 lines</td><td>10/13/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327645">Bug 327645</a>: remove reference to tab completion in vsh message</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9a4d2c0326bb72880bbd9ec0f1f449980a8ce7ea">9a4d2c</a></td><td>698 lines</td><td>10/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311155">Bug 311155</a>: support plan schema at eclipse.<wbr>org</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=68e8a3750d12ea284345eaf66eb99cb83c5f660e">68e8a3</a></td><td>4 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=c0422ea8b6b1e4ad155aabaf8dd9d19470ae710e">c0422e</a></td><td>36 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=ef415f0ece5050d95b971bb17ae579f245caa0f5">ef415f</a></td><td>26 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=d233f8c86753eaf48f58952c7220b542be38f6ac">d233f8</a></td><td>8 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=bcc60232d050b5713f4ddf80133be0f5b7aa4582">bcc602</a></td><td>10 lines</td><td>10/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311155">Bug 311155</a>: switch springdm plan to eclipse schema</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=3be67a51028ebcfbbb4d96efa142ea8974a3a617">3be67a</a></td><td>4 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=15a6e1f92a884a17c814e7fdc8ea3c6d61c40f44">15a6e1</a></td><td>36 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=065dd3e4f36df74cdc0d2c7e8fad3fae6b42eae5">065dd3</a></td><td>26 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=588f85cf4152930b61589965f42fceed181e13a2">588f85</a></td><td>8 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=21e6834fe050907d8f35943c1a1377f421f55965">21e683</a></td><td>10 lines</td><td>10/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311155">Bug 311155</a>: switch web plan to eclipse schema</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=3efbb75df3b81912742f072f9e4533ab9f6143f3">3efbb7</a></td><td>9 lines</td><td>10/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311155">Bug 311155</a>: switch admin console plan to eclipse schema</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=87ee8dd1e3f7d6286fe1f6be3ec29a7935b98914">87ee8d</a></td><td>2 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=862990898b0f277c410cb84333b227af0eda2141">862990</a></td><td>6 lines</td><td>10/14/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=12c99699c90b6f73dca033c4481cba022065e6d5">12c996</a></td><td>38 lines</td><td>10/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311155">Bug 311155</a>: use eclipse plan schema in docs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=1104b3d5be51c1bcd649269923e288e440a90f06">1104b3</a></td><td>54 lines</td><td>10/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327864">Bug 327864</a>: refer to the current tooling update sites</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f0248bf8115be9a709a7dd4cb09d6043675a0f15">f0248b</a></td><td>3 lines</td><td>10/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327209">Bug 327209</a>: improve cleanup when bundle fails to install in side state</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=d49c5eb6d373c436a1056348c61c80489cbff08f">d49c5e</a></td><td>2 lines</td><td>10/19/2010</td><td>correct bundle name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=09fceb667e97ed52f0fce992b7a0c638e5bc705c">09fceb</a></td><td>4 lines</td><td>10/19/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327895">Bug 327895</a>: caution the use of Ivy and Maven repositories</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=38d893d32d11e4c7b4dbe979b2ac7395e50aad69">38d893</a></td><td>24 lines</td><td>10/19/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328112">Bug 328112</a>: remove references to in-memory logging</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=484eaf6b3273a50c40da532a21ceea6c4edd3841">484eaf</a></td><td>359 lines</td><td>10/20/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328235">Bug 328235</a>: fix several out of date references</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=529ecbf7822c19e0bc069220449464f168361cb3">529ecb</a></td><td>16 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=09a86232058d55b2873d6efba32a64297e0da3fd">09a862</a></td><td>2 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=406a377d2b11d2b5bf08429d8a00e0fe3dacfac7">406a37</a></td><td>64 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=f3c866b7e9b56121ef8fb8cb2df9d9721b63fdca">f3c866</a></td><td>12 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=103f13e52931d7b4bcd95fbdf15de213774a6cad">103f13</a></td><td>4 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=53cf7e16b87181c428a3c26a3564826dff471acf">53cf7e</a></td><td>4 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=154d46e6072014be0c4bb710fed4834b0fc86e10">154d46</a></td><td>8 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=1cbbde6556f28f3439b94ad0c826f8ac29fe86f3">1cbbde</a></td><td>12 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=17fd8a877186144582f0c8312396b1744604f3e3">17fd8a</a></td><td>28 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=c0e8baef9fde5fc3b7eb98f54d5c55db791f3f2b">c0e8ba</a></td><td>8 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=7ce3a0339d62e7dc7ddd87f9cb8d27a3874f41df">7ce3a0</a></td><td>4 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=9621419d92c5a9bb1e175a117f67b09767de13fa">962141</a></td><td>16 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=a75e15f07dcfcc6ce3b3656488dac01c147c6505">a75e15</a></td><td>16 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=b84e1f9ad921530fb1c980668d499a3a2214dd0a">b84e1f</a></td><td>20 lines</td><td>10/21/2010</td><td>remove (incubation) from bundle names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9352d0dac0f4451a2b389cea330e833a595920ec">9352d0</a></td><td>2 lines</td><td>10/22/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328453">Bug 328453</a>: fix help text for vsh package</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=64a26148bf03865f9916700ae3838a93be995892">64a261</a></td><td>630 lines</td><td>10/26/2010</td><td>Editorial changes prior to 2.<wbr>1.<wbr>0 release.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=d83d0b9c1968c0250e24dd44c3ac724c433081fb">d83d0b</a></td><td>3 lines</td><td>10/27/2010</td><td>replace the kernel/<wbr>user region picture</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=8b98677165127cbab81690130aa7bd08b671c7f1">8b9867</a></td><td>169 lines</td><td>10/27/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328449">Bug 328449</a>: explain how to extend the system bundle;</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=5c05f3f42485c7f79f39507d3b14c2eb6fb473f8">5c05f3</a></td><td>2 lines</td><td>10/27/2010</td><td>Refer to STS 2.<wbr>5.<wbr>0.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=292a01a0adf8b76345798c647a41c84782aa3972">292a01</a></td><td>3 lines</td><td>10/27/2010</td><td>set next release</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=c0c86f302ecc8abbc60e639dd130a9730816febf">c0c86f</a></td><td>14 lines</td><td>10/28/2010</td><td>editorial changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=53365a05fd1d8e471c2b0f2ffd892a805ccaf556">53365a</a></td><td>4 lines</td><td>11/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=c22daa4900430c73ea054f4dd779dd3c186d35ce">c22daa</a></td><td>16 lines</td><td>11/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=fb64f062094dd77899f6ef186d9bcc1bb7773e35">fb64f0</a></td><td>4 lines</td><td>11/02/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=32870820a85d1011b557c140fba217d246ed533a">328708</a></td><td>4 lines</td><td>11/02/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=be7805f7be4e60e27f2a16ed506a2aeb2cb1fbcc">be7805</a></td><td>20 lines</td><td>11/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=9715b079c07044401d2b0989385a41a9c9d80e49">9715b0</a></td><td>20 lines</td><td>11/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f658df4fcf6b1730da5d13a71525db672faf216e">f658df</a></td><td>4 lines</td><td>11/02/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f78ce83b7bd143287087832699a22ee19bfcc879">f78ce8</a></td><td>194 lines</td><td>11/02/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=9eff9b3690a4ddcea4b98b581cb299966de943cd">9eff9b</a></td><td>88 lines</td><td>11/03/2010</td><td>update dependencies on Virgo components and Gemini Web</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=1bdc0387e0c45586e74194979f8549603bb8f01b">1bdc03</a></td><td>4 lines</td><td>11/03/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c2fd9b59124365e38e063ec8b171a41c4d35e308">c2fd9b</a></td><td>4 lines</td><td>11/03/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=3b30e39d90bf14c18113442e751e1d914588efda">3b30e3</a></td><td>80 lines</td><td>11/03/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=a45683929e1d4da6c81f15958de066bbfbaf6e78">a45683</a></td><td>16 lines</td><td>11/03/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9b1c741ad3a9bc1b0ff9fc76aceba1601da214ae">9b1c74</a></td><td>26 lines</td><td>11/04/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=329412">Bug 329412</a>: pop artifact storage changes when refresh fails due to an exception and include the exception in DE0009E</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=c1cf0b13c2939725498efe3d034501a4d744d988">c1cf0b</a></td><td>2 lines</td><td>11/05/2010</td><td>Fix bundlor prefs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6ceff9068de14877e74724fff81feb3c9d27bcca">6ceff9</a></td><td>4 lines</td><td>11/05/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=329556">Bug 329556</a>: update sites have moved on since programmer guide was written</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=70e45d0da65cc860223a1ebe4a9c063a93a5951d">70e45d</a></td><td>6 lines</td><td>11/08/2010</td><td>fix bundlor prefs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=7647ff5df41324306aa06556e3d524788ea01878">7647ff</a></td><td>6 lines</td><td>11/08/2010</td><td>fix bundlor prefs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=38ea2638a84908aa9cb701818c6663c811cfd0da">38ea26</a></td><td>29 lines</td><td>11/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=329538">Bug 329538</a>: support port check with host name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=cb3cabbb04e49ac83acbc9e76c7351d593ff83ff">cb3cab</a></td><td>29 lines</td><td>11/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=329538">Bug 329538</a>: support port check with host name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=9b4cf60420c7950061f2180425f160191431d7b4">9b4cf6</a></td><td>20 lines</td><td>11/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=329538">Bug 329538</a>: perform port check against host name if specified</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=8f9e6baf68036a90237b2c0d95138189e0310287">8f9e6b</a></td><td>8 lines</td><td>11/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=329538">Bug 329538</a>: override version of util that Gemini Web depends upon</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=227670b673fb41778825bd6c8dda8ff4ceccc2c6">227670</a></td><td>4 lines</td><td>11/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=f6b04073764e8b8e8a7dfb1854de68264e89aef6">f6b040</a></td><td>16 lines</td><td>11/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=241d97f1769713ebb7ac52475520aa69425a4229">241d97</a></td><td>16 lines</td><td>11/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6379f8b7f1dbc6c4f17b7e42350e316b61c9da2f">6379f8</a></td><td>160 lines</td><td>11/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=21f3696f6d08881c015632ea421c231b2d7fa3f9">21f369</a></td><td>32 lines</td><td>11/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=01617bce599b32831f346e2d77bacf50cedc9899">01617b</a></td><td>76 lines</td><td>11/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d7e434369ddd8299d0e59c14fd4ebbe9570ad68d">d7e434</a></td><td>68 lines</td><td>11/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=07a95bef211eb8be2f1db88bf7e5ac7bcb5db2b1">07a95b</a></td><td>14 lines</td><td>11/08/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=2168a98b0adcb2c3a4c59a89c3ff374523c3207a">2168a9</a></td><td>27 lines</td><td>11/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=1d8d86bfbb183d1bbc4ac516881ae89d543b7d71">1d8d86</a></td><td>70 lines</td><td>11/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=69b00ac3cf70b9aec832d07cc51e578e322e50d2">69b00a</a></td><td>70 lines</td><td>11/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=873d231b1b89b837a497833e1b3e68919e210ef0">873d23</a></td><td>163 lines</td><td>11/16/2010</td><td>Begin upgrade to Equinox 3.<wbr>7.<wbr> Need to upgrade to Equinox config admin before continuing.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=974dcdf3c96ecb1c2eb82721f094e1f1c3099bdd">974dcd</a></td><td>19 lines</td><td>11/17/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310217">Bug 310217</a>: use Equinox instead of Felix for Config Admin</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=43e91757e99d98ab9b4fa6b480d903c792b848ef">43e917</a></td><td>172 lines</td><td>11/18/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade Equinox to 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=037396a88bdb7740b4115a19aa248e5110ce42cc">037396</a></td><td>53 lines</td><td>11/19/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310217">Bug 310217</a>: use Equinox instead of Felix config admin</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=218ee9fbbd7b23c47ba49246ecbe2e5f3abe14cc">218ee9</a></td><td>2 lines</td><td>11/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330828">Bug 330828</a>: move comment</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=5e174b28f0aa9dd6fd688f7baac9847d237ff553">5e174b</a></td><td>35 lines</td><td>11/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=018ce1b2fa96fe65464f9dd5dc86a59ca46a4898">018ce1</a></td><td>6 lines</td><td>11/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330924">Bug 330924</a>: remove assumption that any bundle class loader is a DefaultClassLoader</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=7fa17cedb6c7ec514b684f27e8c1f2be9934f347">7fa17c</a></td><td>4 lines</td><td>11/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=4c74fb5d96d0c43a66d79092b789ac26d7416aef">4c74fb</a></td><td>36 lines</td><td>11/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=fbd48ac3ddcd998df69e7620b2b781f0638ea45e">fbd48a</a></td><td>26 lines</td><td>11/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=f6361d4cf7817072f769a174de79c8e7870ba35c">f6361d</a></td><td>8 lines</td><td>11/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=5a38fd73792283b0cbcedef97b49a122d0b36a4e">5a38fd</a></td><td>255 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: basic migration to Equinox 3.<wbr>7.<wbr> Some warnings still present.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=be6af8b7dc0dcedc35f97d14d00ab6daf83cf3d4">be6af8</a></td><td>63 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: implement and test new BundleContext methods</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f7776d63055d577a607d83a41dc74d8c28c91c20">f7776d</a></td><td>623 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7607f41d5c800a4f31b26a229b49040b7fd33032">7607f4</a></td><td>105 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: complete migration to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=102b973b71f6228419e150201081b59ba46451d1">102b97</a></td><td>7 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=a03ca3bbd91acdb1309eefc2ec8743fbce442613">a03ca3</a></td><td>1 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310217">Bug 310217</a>: remove dead reference to Felix config admin version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=08f55d3e44538011f672123698e14e3cf3bf30c1">08f55d</a></td><td>28 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310217">Bug 310217</a>: clean up the build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=9be97f98b8265ca2f36f60bcec25e1be8e5eef31">9be97f</a></td><td>47 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d43b570ceaed403b5651e6c288ac81767cf7a0f6">d43b57</a></td><td>12 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310217">Bug 310217</a>: Use Equinox config admin</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=9362da8f6bcd61ab52ecdc501b8ffdec21118580">9362da</a></td><td>16 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=988cb53d996f75df226ba818a5448f3aac263694">988cb5</a></td><td>3 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310217">Bug 310217</a>: use Equinox config admin</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=8999686dc632186cb8bd3228efd52424cc4b9ece">899968</a></td><td>4 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: upgrade to Equinox 3.<wbr>7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=5d2c5694fdde70288b4ac10377a12db345849e58">5d2c56</a></td><td>7 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: more Equinox 3.<wbr>7 changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=73d41e1f1624773a53a4265788ec6c7375cf45a2">73d41e</a></td><td>4 lines</td><td>11/25/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: more Equinox 3.<wbr>7 changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=0180470202ee2cc92af7b45ee937770df14cfec8">018047</a></td><td>8 lines</td><td>11/26/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: another Equinox 3.<wbr>7 change</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6fd3788f87622251947df4ee1391f50d11d9cff7">6fd378</a></td><td>14 lines</td><td>11/26/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310217">Bug 310217</a>: fix kernel packaging</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=12e4433ab6812834b0a7a4064b98fff2c3e2021a">12e443</a></td><td>4 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=d5a0791fa2a1d8bab9c901946255d9bb3400adba">d5a079</a></td><td>22 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=34114a1f231245676ad6e10d4d522767d842eaac">34114a</a></td><td>20 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=c6fa8b3e4917f197ee77009974d4b467f10dcb77">c6fa8b</a></td><td>20 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ffe803853b5943940da1064ef4f80720c4f94a0e">ffe803</a></td><td>194 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=a707906a9557797e1aca081aae8e5d48d184c5e1">a70790</a></td><td>32 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=026ac7c69571fdb6209ee3119f1cecc594cd9a42">026ac7</a></td><td>86 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=88da3af93b7a6df52e0c475467c10dc7e930c152">88da3a</a></td><td>76 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=630303775bcc811293df19ccbc09414862c3aca4">630303</a></td><td>16 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=05e2fb808986231daf2a701259f6da02ea5d7f93">05e2fb</a></td><td>2 lines</td><td>11/26/2010</td><td>Smoke test the kernel when rippling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=a0b0445803d7d7bd84ca071cc0ca435dd5e89565">a0b044</a></td><td>4 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=b53a05997be81c5ebe6eb411e4d60606e282ae4c">b53a05</a></td><td>16 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=9cbae0059514712622bad68da19314ae98167b7f">9cbae0</a></td><td>20 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=565faecb081948a72ec9f37391a4b1b6be86a4c1">565fae</a></td><td>20 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=20b28af16ba28295faa35789bca77e208ddfa4f1">20b28a</a></td><td>194 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=49b17bce4b97d6cef84c6d2bf876d9436ed3530a">49b17b</a></td><td>32 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=b7a1384d79965127c5c6bbf6fd3dcb476724cbe9">b7a138</a></td><td>86 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a04f0fcf2df41f4952e2e9e809a5baf1ea8db2d3">a04f0f</a></td><td>76 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=b782d4e413c91c7e68b97a864f60813c0f8579d2">b782d4</a></td><td>16 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=b13045d066cb778633e4a612daa15173e2051d89">b13045</a></td><td>290 lines</td><td>11/26/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: fix warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=818db5c8b3ba87ec45fe7c095ce3a15660185900">818db5</a></td><td>4 lines</td><td>11/26/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: more generics fixes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=0d8be6d84b5ac53198a8fed16b09c5671ac9222d">0d8be6</a></td><td>4 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=8a8cfedfb404d675967fcabda6552fa2006843db">8a8cfe</a></td><td>16 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=dbcdad5e9874e1acff361abb2bdbbf65b354e220">dbcdad</a></td><td>20 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=82841f71ef58c9c4a0784f4bde6447c2aa70ade0">82841f</a></td><td>20 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=90e1baf41275a198b6545488e3ad2e0c7002c2a9">90e1ba</a></td><td>194 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=ffdc24d283e799b18a21cce79ac299a98e018d53">ffdc24</a></td><td>32 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=606580514dddd04a14613af5f3b515dd10660e98">606580</a></td><td>86 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=fcb71f3f404bde444b169b742eb983753ae3f082">fcb71f</a></td><td>76 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=acba5ccf1afdc0e3e716ac1b946a358b4b754953">acba5c</a></td><td>16 lines</td><td>11/26/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ff7e7203bbcb65efd5aab78b55655eceddf57080">ff7e72</a></td><td>2 lines</td><td>12/02/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=331660">Bug 331660</a>: fix Eclipse build path problem</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=3833e9bbe85ca388701a38baf4ecc290e1eda548">3833e9</a></td><td>1,180 lines</td><td>12/06/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: tidy up warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=4c47ec54917d541d9a03f456d6df611740ca9667">4c47ec</a></td><td>1,180 lines</td><td>12/06/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: tidy up warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=6cb04f1cedf1d6b9b1a11dda54f823e46dc0998d">6cb04f</a></td><td>91 lines</td><td>12/06/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: fix warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=c8f0957ff2c8a4e91e2bf02670a6616ff9b02c72">c8f095</a></td><td>3 lines</td><td>12/07/2010</td><td>fix Eclipse warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8c0e7abff5c0ca925115ce702073048e9fd19ceb">8c0e7a</a></td><td>286 lines</td><td>12/07/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: fix warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=169e4967d8f4350db29887e692f887ea45cf7e19">169e49</a></td><td>233 lines</td><td>12/07/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: fix remaining Equinox 3.<wbr>7 warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=8cf0e87a723e85bdba832f37238ebf54044b7206">8cf0e8</a></td><td>20 lines</td><td>12/07/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330236">Bug 330236</a>: fix Equinox 3.<wbr>7 warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d318402b5c834d7c84c8eace2f9f88a746302224">d31840</a></td><td>97 lines</td><td>12/08/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330678">Bug 330678</a>: avoid duplicate start processing for ACTIVE artifacts and add a test for the configuration case</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=393f942b845e52c4afdb2347390feea81af5ebd8">393f94</a></td><td>422 lines</td><td>12/10/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=331299">Bug 331299</a>: make shutdown client read user name and password from org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>users.<wbr>properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3d0084ccea185a0e1cc053f35dacbbe657e681a4">3d0084</a></td><td>489 lines</td><td>12/10/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: start to rebase RegionManager on framework hooks</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=edfb13138b57da8bede3625685bf80e6228ac816">edfb13</a></td><td>325 lines</td><td>12/10/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330736">Bug 330736</a>: publish user region bundle context</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9bd76505131cc7496af387b789f57101105aef83">9bd765</a></td><td>151 lines</td><td>12/13/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: kernel.<wbr>test integration tests now passing</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b37579b60cfe74da6ab0f710e63b045b43235579">b37579</a></td><td>17 lines</td><td>12/13/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add suggested improvement (commented out - doesn't work)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d18c49fe9076a83c28be3a9eea205425cd3fc9f4">d18c49</a></td><td>11 lines</td><td>12/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3300776">Bug 3300776</a>: remove suggested improvement</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ee36b4449b65d568cbc9c745edf5c58d4354412e">ee36b4</a></td><td>9 lines</td><td>12/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: police baseBundles restriction: must start at least one bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=9d813b1c2edd2be53970de69aba6b4b01a95101f">9d813b</a></td><td>2 lines</td><td>12/14/2010</td><td>Fix typo in javadoc</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=451b3257abdb87d7accb660bf434e0fc9c585c21">451b32</a></td><td>76 lines</td><td>12/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: implement directory streaming suggestion correctly</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e6e460d54e7a0cb702277be0c0b09698e55528fa">e6e460</a></td><td>50 lines</td><td>12/14/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: allow bundle events to flow freely to and from the system bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8c1879731cd646628eb7a9c596f4dd8c49151a7e">8c1879</a></td><td>8 lines</td><td>12/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330678">Bug 330678</a>: allow for async delivery of configuration events in test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3fa0fed55ea879e9a2d03da8bf4bcad906251e3b">3fa0fe</a></td><td>103 lines</td><td>12/16/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: install deployed bundles into the user region with a tagged location</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2e5354d817cea67e68b28dec6af5727248711e4d">2e5354</a></td><td>30 lines</td><td>12/16/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: filter Region service reference</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b1bfd1ad8243edd2718e707780e4b6d08b71c0b7">b1bfd1</a></td><td>38 lines</td><td>12/16/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: make resolver hook cope with resolution of kernel bundles and tag locations of bundles installed into the side state</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=8b94e16e29e0f2d4e94f810c668f33c163862b7e">8b94e1</a></td><td>6 lines</td><td>12/17/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=332293">Bug 332293</a>: correct hosted repository properties file name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b0b9515da0abc922d60634ae5f56866fbe6978bd">b0b951</a></td><td>134 lines</td><td>12/17/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: work around <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=332771">Bug 332771</a> to drive resolver hook for side state resolutions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=20b5023150669cd36219029dede1a75429529269">20b502</a></td><td>8 lines</td><td>12/17/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: temporary code in lieu of service find hook</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=99506f5080a9598818d7e3a4f895e1fdb339f353">99506f</a></td><td>297 lines</td><td>12/20/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: region service registry hooks (currently break all integration tests)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5d69c6dc9a4cfb294d6ebccec431402797ca6dad">5d69c6</a></td><td>8 lines</td><td>12/20/2010</td><td>Revert "<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: temporary code in lieu of service find hook"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ae529bd7c22b4724e2b9dc64ec47003a6f5722b8">ae529b</a></td><td>19 lines</td><td>12/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: fixes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0ac33eeea3e20bee392cebf28a74ce8304a2257a">0ac33e</a></td><td>32 lines</td><td>12/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add region filtering to DeployerFailureListener</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fc3008ed06ce74e5d38184a57945d8d0daff267d">fc3008</a></td><td>77 lines</td><td>12/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: import ResolverHookFactory service into user region and add bundle ids to uses constraint failure diagnostics</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=640ef72a216a670844a0a8dfe4523ea316c27881">640ef7</a></td><td>8 lines</td><td>12/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: tweak kernel startup order</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=671e1f79c868d38960c22248957fb014150b1155">671e1f</a></td><td>27 lines</td><td>12/22/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: work around <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=333071">Bug 333071</a> by deploying bundles early which shadow kernel contents</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2ae125d0c58098867e733df30e2968e18d3478d0">2ae125</a></td><td>130 lines</td><td>12/22/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: factor out abstract base class for all region framework hooks</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8a9ff51a1af105c676da754a515ad16ac21f10f4">8a9ff5</a></td><td>154 lines</td><td>12/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: RegionHookBaseTests and StubRegionMembership</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=aeaf89a6d435266fbd246f244944c6c1ae194878">aeaf89</a></td><td>159 lines</td><td>12/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: RegionBundleEventHookTests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=136ecf667e5c4abf71ca94f7ebb30791334fdd29">136ecf</a></td><td>113 lines</td><td>12/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: RegionServiceHookBaseTests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=56e318f74af103d7a20669cc569d43f1757122de">56e318</a></td><td>160 lines</td><td>12/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add RegionServiceEventHookTests and refactor RegionBundleEventHookTests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=16210a6b9c8d05f83c19964bcc1aee722cfe473a">16210a</a></td><td>94 lines</td><td>12/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add RegionServiceFindHookTests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d9e49c06c7ac49201cae0396a994386e8d0e406d">d9e49c</a></td><td>81 lines</td><td>12/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add RegionBundleFindHooksTests and special case system bundle (so it can find, and be found by, all bundles) in RegionBundleFindHook</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ab5e0f4007fc6387b4732f44830face4749ca113">ab5e0f</a></td><td>197 lines</td><td>12/23/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add RegionResolverHookTests and improve the somewhat academic handling of system bundle in RegionResolverHook</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5b0f8dd4f0731b806c25d174f884e6a479ec7ffd">5b0f8d</a></td><td>490 lines</td><td>12/24/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: complete RegionResolverHookTests, fix a bug in RegionResolverHook, and add test constants</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d3671ef773c4c3cc82b11eec764f4b313206ba98">d3671e</a></td><td>2 lines</td><td>12/24/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: refer to <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=333193">Bug 333193</a>.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=aee4936b7dd8e8dc19bff03b701266a84417fa9b">aee493</a></td><td>344 lines</td><td>12/29/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add new methods to RegionMembership interface</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=43ec52be93286631fb47ebb5fffda462fcea9092">43ec52</a></td><td>151 lines</td><td>12/29/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: delete old methods from RegionMembership interface</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c401af4286e494077f811f6fa0315b491e30ebc7">c401af</a></td><td>11 lines</td><td>12/29/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: support osgi.<wbr>host capability</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f38bebd5b0747b8b614e611903d8d51c4cf7f51e">f38beb</a></td><td>227 lines</td><td>12/29/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: factory out package import matching to be a RegionPackageImportPolicy</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9e01530c1fae7112cbd8085afc85248ff7e918d0">9e0153</a></td><td>183 lines</td><td>12/30/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: attribute matching and unit tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=684628350ceb652a1e1c184e5b2e6674739b61b9">684628</a></td><td>64 lines</td><td>12/30/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: directive support and unit test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0f4b7115ae883eb7fe30c767e22dc91fc0086f21">0f4b71</a></td><td>38 lines</td><td>12/30/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: delete inheritedFrameworkProperties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6d7f0642adf1dbb07488d03dc886daa841a05152">6d7f06</a></td><td>88 lines</td><td>12/30/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: make vsh deal primarily with user region bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9f42a410b49bf0d8c954118a15082022ab7ece1a">9f42a4</a></td><td>31 lines</td><td>12/30/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: tidy up vsh change and fix test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=91e3c587480327912f0b0d6666a5c4f48ab80779">91e3c5</a></td><td>35 lines</td><td>12/30/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: delete RegionAwarePackageAdminAccessor as there is now only one PackageAdmin service</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f13f65f3026a5b1c9077b5a56d86b16cc9d653ac">f13f65</a></td><td>11 lines</td><td>12/31/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: start to separate region manager and user region</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2b5249e25311e123c6c90071f1e4cf49dcfca7ef">2b5249</a></td><td>187 lines</td><td>12/31/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add user region factory bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3314e251d26bfcf18bc4b81c247472f93a876a77">3314e2</a></td><td>51 lines</td><td>12/31/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: use user region factory bundle context as user region bundle context</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=277b221152da02d1608e240e7fa856a7e18cd5b9">277b22</a></td><td>563 lines</td><td>12/31/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: move user region creation into user region factory bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a2fcf17d8e1823bab8c0d9928076b9375c5851d7">a2fcf1</a></td><td>296 lines</td><td>12/31/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: delete isUserRegion methods and use Region equality instead</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=22087fdee872622a5b4068fb4267cf70776df1ab">22087f</a></td><td>1,160 lines</td><td>12/31/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: attach package import policy to region rather than to hook</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=d476795bceaddc6bbba87581822a9f319d3ef238">d47679</a></td><td>23,824 lines</td><td>01/05/2011</td><td>dm Server design docs, some defunct</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=84b365a08bd1b678ae2796692829f10af722d17d">84b365</a></td><td>1,409 lines</td><td>01/07/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: draft regions model</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=ed361c35b8b3c1dbe266bc010e56d30ed66be42a">ed361c</a></td><td>124 lines</td><td>01/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: allow packages and bundles to be disossiated from their providing bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=3a50524a84a2da584e01994d1a86dc7a3b0e6c6e">3a5052</a></td><td>246 lines</td><td>01/10/2011</td><td>clean up intermediate files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6f0c8d770b9d5fe9bf99d4a9eb9ba959a6b92dbf">6f0c8d</a></td><td>138 lines</td><td>01/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: remove some unnecessary partitioning constraints and refactor Region schema</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=3880fc6359a5ebf8005da8b6cbaad65bea5f680b">3880fc</a></td><td>51 lines</td><td>01/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: work constraint relaxation through later schemas</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=03bb70b6d13b0504774ddeb5955fe12eabc069bd">03bb70</a></td><td>125 lines</td><td>01/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: promote operations and add more figures to the intro</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=aaba6b275921b8554f45f30ea730884b0bf07eb8">aaba6b</a></td><td>108 lines</td><td>01/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: correct a digram and complete the (partial) model</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=c8f55b0209f290429183f0a58da51cf51585e0e8">c8f55b</a></td><td>23 lines</td><td>01/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: ensure squash is well defined by avoiding infinite collections of regions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ec3ba1aae76806614f208db118d0f461326133cc">ec3ba1</a></td><td>14 lines</td><td>01/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: tidy build paths and an import list</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=287862528fb9d5f441ca6fe39725ed0f24ae9246">287862</a></td><td>210 lines</td><td>01/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3300776">Bug 3300776</a>: define API for connected regions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e8bbe237e03b51f521671a431ccddf16c1fb80c8">e8bbe2</a></td><td>10 lines</td><td>01/17/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: tidy up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=95bf28c599c66dc7f702c6524b58a88692d9e905">95bf28</a></td><td>597 lines</td><td>01/18/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: initial cut of region digraph code</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=56125330b05f09a13feffac21d55cab7e3485c30">561253</a></td><td>90 lines</td><td>01/19/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: more region digraph tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6cbf6e2caea24434828ed2041c15e3ab86ce6f90">6cbf6e</a></td><td>254 lines</td><td>01/19/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add tests for BundleIdBasedRegion</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=81d0fb4c1b18f57da7b107c8f070b5cd9a911376">81d0fb</a></td><td>185 lines</td><td>01/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: more BundleIdBasedRegion tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b018b576a489f860c44b9f55f17d4ce758b06c26">b018b5</a></td><td>35 lines</td><td>01/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: fix race between addBundle and connect</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e0c907a7a023d9a16074eae1c303e4c00aebf3fd">e0c907</a></td><td>34 lines</td><td>01/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330771">Bug 330771</a>: re-order digraph connect parameters to make the order more intuitive</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3773d44e438244a248ac2d5a0bc2a3d17acacb95">3773d4</a></td><td>2,153 lines</td><td>01/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: new bundle find hook based on regions digraph plus some unit tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=50becb76890a7205aa55da97db77c99af0a8f129">50becb</a></td><td>2,137 lines</td><td>01/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: new bundle find hook based on regions digraph plus some unit tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=545a01c641b4fd6531ab860e69671b123b1405ff">545a01</a></td><td>82 lines</td><td>01/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: test StandardRegionFilter</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=054aad8de4766ba4a13d3637dcbc635bca5a33a5">054aad</a></td><td>82 lines</td><td>01/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: more bundle find hook tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d066ebcc54a392f2800a30fc2f61708496d1ff7e">d066eb</a></td><td>153 lines</td><td>01/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: implement and test bundle event hook</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1eec3c4c94a89bb4597bbafe46f90b0cfe56b8b9">1eec3c</a></td><td>425 lines</td><td>01/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: digraph based service find hook and tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=717bda7afdee97dc2df716e6470843543c2901bc">717bda</a></td><td>162 lines</td><td>01/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: digraph based service event hook and tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=50b87ab7f7174287c4dd3a794fb42ec65722dd49">50b87a</a></td><td>474 lines</td><td>01/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: digraph base resolver hook, tests to come</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=197919b7e21c96fe88481baf2bfad61041fbdd42">197919</a></td><td>22 lines</td><td>01/24/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=335174">Bug 335174</a>: add known issue for Hibernate EJB resolution failures</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=70fdabad087ac057788f9b78587af6a0a191b810">70fdab</a></td><td>31 lines</td><td>01/24/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: change filter symbol; note filtering of a bundles packages and services; note distribution of filter over join</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=92e94c2e84cc24606ef89d4d840261ce1daf94ca">92e94c</a></td><td>4 lines</td><td>01/24/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: fix version qualifier</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6498fef771e8e477d5021a8a7056e7356d4e6771">6498fe</a></td><td>13 lines</td><td>01/24/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: corrections and clarifications from Rob Harrop</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=88342db65ce6da5cfb11e33eafe08205e769c0ec">88342d</a></td><td>514 lines</td><td>01/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: resolver hook tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7b998cb161c1e893fe11e03368298e2bfde6e057">7b998c</a></td><td>72 lines</td><td>01/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: fix copyrights</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8250663a67b3c2393c09bc223de3a1da82810bdb">825066</a></td><td>56 lines</td><td>01/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: initial implementation of Region.<wbr>installBundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=730f6d095f4d33e7155f691cd195e86b44815735">730f6d</a></td><td>3,386 lines</td><td>01/26/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: use region digraph in place of region membership</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ca911ddd68ffeac684a689a9d4cf34f837d42c22">ca911d</a></td><td>1,038 lines</td><td>01/28/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: relax restriction that a region and its inbound filters may not both contain a given bundle symbolic name and bundle version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a250194036d7c295b0189e82fc7e6d77d7bddd64">a25019</a></td><td>253 lines</td><td>01/31/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: make StandardQuasiFramework own coregion</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fb691b54317eb2a1f47b569d7440da6ebe22c381">fb691b</a></td><td>45 lines</td><td>02/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: fix model listener</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=08e329f6cb2ea607f4990cb6e5468a3b4e614f00">08e329</a></td><td>16 lines</td><td>02/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: configure user region imports to include system bundle packages and certain additional services</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=93c43438253ff8f94bb5667d8aaf40733bfb2da1">93c434</a></td><td>12 lines</td><td>02/02/2011</td><td>fix classpaths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1f610333e7a414e248a19675248a7df45eb9bfb8">1f6103</a></td><td>119 lines</td><td>02/02/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: use bundle event hook instead of synchronous bundle listener for adding bundles to regions and removing them</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=2e8b9ff78f21486109652ad090cfb899301f48df">2e8b9f</a></td><td>47 lines</td><td>02/02/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: relax BSNxBV constraints</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7f3abd9599a8c8f3fb2a363478002d8efa5d59fd">7f3abd</a></td><td>236 lines</td><td>02/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: use thread local to pass install region to bundle event hook</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=be0ddcd9d3c731774d7ac665b211ac05514ef0b7">be0ddc</a></td><td>683 lines</td><td>02/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: move region creation into digraph</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=7fcf65249f83d207162d39b06dcdbff853bd1e50">7fcf65</a></td><td>6 lines</td><td>02/07/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: fix copy and paste error</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=93eb99fec4b0365704bf363eb3abfad8a799ae17">93eb99</a></td><td>21 lines</td><td>02/07/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336525">Bug 336525</a>: remove restriction that no two bundles with the same symbolic name and version may be added to a given region as this is impossible to police, since the bundle event hook cannot fail an install</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9c98b1d6f69fe518492522d2112ca5a11c2e9022">9c98b1</a></td><td>107 lines</td><td>02/08/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add importBundle user region property and use it to explicitly import the system bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fef119308fa171b51f38b1b4f188c50074437dc4">fef119</a></td><td>552 lines</td><td>02/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: expose region digraph to JMX</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=148d9e8150125e2b82315502d041a22e8d7187c2">148d9e</a></td><td>6 lines</td><td>02/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: use correct system bundle symbolic name in user regions configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3bee72b7dc03a5ba86074bfc46d86a754a4ca546">3bee72</a></td><td>2 lines</td><td>02/09/2011</td><td>same again</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d78a5ff493d40c5e5f915bd9c459ccf7e27d58de">d78a5f</a></td><td>2 lines</td><td>02/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: fix BSN comparison</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=da1e2e0645c6f7404097992422dcd27e1fb66dc1">da1e2e</a></td><td>2 lines</td><td>02/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: allow singletons in kernel and user region - gross hack pending Borislav's elegant implementation</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4c73e0a5930ea0daad075b4aab025af1570b721a">4c73e0</a></td><td>30 lines</td><td>02/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=332923">Bug 332923</a>: cast BundleRevision to BundleDescription in RegionResolverHook</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f3eec27fa4b3395e6bcb982a4713f6fbc5dc7557">f3eec2</a></td><td>27 lines</td><td>02/10/2011</td><td>Revert "<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: work around <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=333071">Bug 333071</a> by deploying bundles early which shadow kernel contents"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=32d5420d6166a964b69f12a2acc5bae636118a24">32d542</a></td><td>130 lines</td><td>02/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=333071">Bug 333071</a>: restrict dependency calculator to bundles visible from the coregion</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=f880be9e987f15bc8accd9c792b15bbb24d4df89">f880be</a></td><td>45 lines</td><td>02/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: configuration changes for framework hooks based user region</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1e60e1123df12be54dc48f0cc62bb071fcb5aad6">1e60e1</a></td><td>1 lines</td><td>02/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: publish user region factory bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=607500ce583c2b6a97412b8a1a0db0ac28c62fc1">607500</a></td><td>4 lines</td><td>02/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=6b29430266e0eb336f62a1f7ff2aa8cda30ea6cc">6b2943</a></td><td>36 lines</td><td>02/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=519815d29d5844ac5df68185b15eadcbc9b123c7">519815</a></td><td>38 lines</td><td>02/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: fix configurations and build paths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=72da1b2ba67f0561c8c26934ee272be7bbcd26bb">72da1b</a></td><td>5 lines</td><td>02/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: syntax error in theorem</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=cfffbb6fc0e3aa885aef41a3b69237153d381aa1">cfffbb</a></td><td>7 lines</td><td>02/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: add method to stub</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5f3a2563084f041a5a944d419e216bb03f5ee4b8">5f3a25</a></td><td>6 lines</td><td>02/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: import more system bundle packages into user region for web server's use</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=a17fb88b6fa7284f19459616f689212ed671712c">a17fb8</a></td><td>4 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=c77f88929bd785cb9bfb8c2a7dbcbf64b47b0ca4">c77f88</a></td><td>36 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d4eab3d61ec1290c788147b9a9957ad7985ebdc1">d4eab3</a></td><td>26 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=704764b261a5f48d55698271f015566d0e199e95">704764</a></td><td>8 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=a022d0a1e3a62b3860dabd40df1f369e7c892577">a022d0</a></td><td>8 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=85143c1df4b606dd533f79ae1560a411af0ff24d">85143c</a></td><td>4 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=7d96a29c9bd2f4d37851776d4ebf43678b76593e">7d96a2</a></td><td>36 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=f9acd699a22b88569457dd9f101e8de6025a44b2">f9acd6</a></td><td>4 lines</td><td>02/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336895">Bug 336895</a>: fix copyright dates</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d4feea4f4d200802e278d9da4a78f6ef2fbd7101">d4feea</a></td><td>26 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=d22b6a6a42f43dfae58c53697bb634609f675253">d22b6a</a></td><td>8 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=c557fbb3640cecf5913b00793c03e67f076fb553">c557fb</a></td><td>8 lines</td><td>02/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=76e87714cd00e885936a268490c27fe6ba0fe700">76e877</a></td><td>22 lines</td><td>02/11/2011</td><td>tidy up some warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=fe110567313cb046ed9b767f9d76beff0007bd89">fe1105</a></td><td>1 lines</td><td>02/13/2011</td><td>test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=5b68611f79b92478c4b2dfbfcf3022d8ec256b78">5b6861</a></td><td>1 lines</td><td>02/13/2011</td><td>test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8e7cf5a524f83187be91818b26c28a0623baf67e">8e7cf5</a></td><td>1 lines</td><td>02/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=334370">Bug 334370</a>: remove unnecessary warning comment</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=44c0aa3d9125406b6866eac14980182fc0df79fe">44c0aa</a></td><td>117 lines</td><td>02/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330776">Bug 330776</a>: rework region documentation; <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=334370">Bug 334370</a>: document format of initialArtifacts in user guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=144e27198392e699105e53f157c9640a09809398">144e27</a></td><td>36 lines</td><td>02/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=333158">Bug 333158</a>: delete duplicate section introduced by commit 0ac3b040a394d9924553ecb101dcfff9d8b00a39</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=b04c33763b1b09ff30a0e745000cc3ba35901e19">b04c33</a></td><td>51 lines</td><td>02/15/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330643">Bug 330643</a>: document restriction of no split packages in a given scope</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=29b223bba6088957d51efe126c63e0a03508d2a4">29b223</a></td><td>11 lines</td><td>02/15/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=330643">Bug 330643</a>: improve merge clash diagnostics</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b8a931c0ab33ac20b2b757acda2ac17d699d32eb">b8a931</a></td><td>22 lines</td><td>02/16/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337214">Bug 337214</a>: use user region bundle context consistently</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=10d5c0aa652a0af7c18b801b8e8986e6ec885161">10d5c0</a></td><td>2 lines</td><td>02/16/2011</td><td>fix findbug whinge</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a01b16df7cb7b9b4f5bec065988f50c54ec1d25a">a01b16</a></td><td>245 lines</td><td>02/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=338194">Bug 338194</a>: upgrade OSGi API usage</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=8e2a2097850aef07c6e5973156944013bc937990">8e2a20</a></td><td>4 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=63f6478aaaf3108662ca86c55024b7f557d05fb8">63f647</a></td><td>12 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=40a6799cf5abf1f5a97af3eea221b8e4143aa652">40a679</a></td><td>6 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=ccc166dc50afa5703d5ee78d4061872674f6b4a0">ccc166</a></td><td>6 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=1e167ea6b14bc98cfeffe381993f4193d82f2bd9">1e167e</a></td><td>22 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=14f0260e3e8010a0b0978ad63eb99577814ea1c5">14f026</a></td><td>36 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=34cfdf23ec183f8d2c4b1228d23cf12f3673b864">34cfdf</a></td><td>24 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8de91ecabb087cf9a8ee77341e288233396c45b4">8de91e</a></td><td>252 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=b07dcf4cc36dc7b18e2f32bebdad50fefeef33b9">b07dcf</a></td><td>36 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=35b9f5788171645cbbfd220d9bbf6bee7b1644f6">35b9f5</a></td><td>98 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=3b6a588a48a12f6254b1632ec0aea8e71487a7c7">3b6a58</a></td><td>90 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=42be82bf1b55eef5eb04c0cb67c62b0f5d8a77e9">42be82</a></td><td>18 lines</td><td>02/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=6da03c53c8b04586116abcbee68ac10b16cb3563">6da03c</a></td><td>2 lines</td><td>02/28/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337823">Bug 337823</a>: clarify reference to serviceability logs in eventlog message</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=debf6b1f28e25f0e878ac481b4f1d759ae959baf">debf6b</a></td><td>15 lines</td><td>02/28/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337826">Bug 337826</a>: document EclipseLink resolution issue</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=9aa4e126fcb1b8dca6f07049bbbee60c3a415dee">9aa4e1</a></td><td>100 lines</td><td>03/04/2011</td><td>save regions spec before generalising Filter.<wbr>bf</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=066146f3f5764243cb2feb9f4759f02e35230f5e">066146</a></td><td>167 lines</td><td>03/04/2011</td><td>save before removing bundle symbolic names and bundle versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=d2afb8e7d2574bcca8c338b0cd0c6b8532f4fd3a">d2afb8</a></td><td>87 lines</td><td>03/04/2011</td><td>version 0.<wbr>9 of the regions spec</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=cc2948c8776e5b86539b728bb8f22ee807b1960b">cc2948</a></td><td>2 lines</td><td>03/07/2011</td><td>fix page number positions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=64fa8775ab06d157bd3cc7c406e05b20b1e43758">64fa87</a></td><td>36 lines</td><td>03/07/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=338113">Bug 338113</a>: if a bundle is visible via a region filter, so are all its exported packages</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=7f83abe71a49afbd4c1dafd78da3ee59072e4c15">7f83ab</a></td><td>4 lines</td><td>03/07/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=1bb5b638a14d4dafa7987def27ba8bd432bb43a7">1bb5b6</a></td><td>36 lines</td><td>03/07/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e521e06778105b1def57c385af1f207f60e01f8d">e521e0</a></td><td>26 lines</td><td>03/07/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=58612b194f68e4ed05298c48a502c6d4269fd483">58612b</a></td><td>8 lines</td><td>03/07/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=26abd7435b0cb4c91438e72c78538ba8c3f6690c">26abd7</a></td><td>8 lines</td><td>03/07/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=743c736223e4cc81da09f6407d1b159b7acaddba">743c73</a></td><td>12 lines</td><td>03/07/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=338113">Bug 338113</a>: tidy up user region properties file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8528d16dbf883c86019cbdb98cc95ff96492ec8a">8528d1</a></td><td>13 lines</td><td>03/07/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=338113">Bug 338113</a>: tidy up user region properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8103f908737da184aacd87f9ddcef2dfaab9f18f">8103f9</a></td><td>241 lines</td><td>03/08/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337211">Bug 337211</a>: enable RAM to cope with dependencies in the kernel region</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7874ce5472b980a77091d11e3d7cfbffb49a2f33">7874ce</a></td><td>208 lines</td><td>03/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337211">Bug 337211</a>: add unit test and add equals and hashCode methods to QuasiBundleArtifact</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f11456935bd0874b42ab91e8eac040715f99c67b">f11456</a></td><td>369 lines</td><td>03/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337211">Bug 337211</a> - improve workarounds</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=ef2e2894995782a90a93ba4fcb441fa5ca62c0a0">ef2e28</a></td><td>4 lines</td><td>03/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=94a436bc1629cc2eeb18ce280996db3ec847bc73">94a436</a></td><td>36 lines</td><td>03/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=2186d90778ede959e2cb9dc57df25b1b284a7143">2186d9</a></td><td>26 lines</td><td>03/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=0dde1ebeb77d4d27f40c6fdebd79d54d17b22a7b">0dde1e</a></td><td>8 lines</td><td>03/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=14b65b09f99c3f1d1398156801a1fd2830f6d8fb">14b65b</a></td><td>8 lines</td><td>03/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=126e5ca252199a72719da3a9b68438328274716a">126e5c</a></td><td>19 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: begin factoring out digraph visitor by moving the visitor state to a class</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=543c51f35f114536f4169d9b7fbf6472c07bf203">543c51</a></td><td>20 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: more visitor state</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f935a65eadbf04669d5478d22d9bf69884c91ac3">f935a6</a></td><td>50 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: stack the visitor state</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=36afe704889052aae229e3e04449a597cf202e8c">36afe7</a></td><td>30 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: move the non-recursive case into the visitor; factor a method out the recursive case</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5eaa7ec63738c07402c6968f9366f26f757f1683">5eaa7e</a></td><td>47 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: move visitor logic into visitor</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ad2449ed2cd51f9185529f4bcf1972da861c8242">ad2449</a></td><td>31 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: introduce RegionDigraphVisitor interface</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b4bccf5a8e4286b72cc47fb28789f924c28f5005">b4bccf</a></td><td>16 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: choose suitable graph traversal method names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e2845d1057e0808d51cf3caf640ae25a4c7a9e21">e2845d</a></td><td>83 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: factor out SubgraphTraverser class</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8f64e16cb93381c4532b57963d9b02e885e8e17d">8f64e1</a></td><td>172 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: move classes and interfaces to appropriate locations</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ac3c5ba2941238b13de087db6842089625b8af2d">ac3c5b</a></td><td>15 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: add a method to Region to allow its subgraph to be visited</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=40b067213f1753b5c899d0eaf7e5b82349843379">40b067</a></td><td>79 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: tidy up the visitor interface</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=90dec138da1f88daae06392d7a7d33872a9df606">90dec1</a></td><td>194 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: Factor out abstract base visitor</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8470ddbeb58417696b07c24efb5b1d646c9b097e">8470dd</a></td><td>289 lines</td><td>03/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: reuse the abstract base class in the other hooks</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8f662da298766ba663140514fcd177af1c2098a5">8f662d</a></td><td>12 lines</td><td>03/11/2011</td><td>fix head/<wbr>tail terminology</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7a6124d0d9e904b956ad757f307240d80ec41fa2">7a6124</a></td><td>44 lines</td><td>03/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=339343">Bug 339343</a>: vsh service list no longer includes services filtered out of the user region</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=1daab3a15ffc1c1a2141c823973e2d4131d43f08">1daab3</a></td><td>4 lines</td><td>03/14/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=c07f61427a4e5dc9c55fe20f9dbf318eaecae5ce">c07f61</a></td><td>36 lines</td><td>03/14/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=09eb3f2c2bfeaaaa425fd5bc44a9d7071733ff61">09eb3f</a></td><td>26 lines</td><td>03/14/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=2e4d497c0d2dc80e4ba01f1c7e6b68331b642f7b">2e4d49</a></td><td>8 lines</td><td>03/14/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=c5827d8fa9bb8e7940c066e4f7fc46944d8bf058">c5827d</a></td><td>8 lines</td><td>03/14/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=70224176c5354138cb62bbbf00b5a16a6c595971">702241</a></td><td>14 lines</td><td>03/15/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=339716">Bug 339716</a>: prevent class cast exception when viewing OSGi state in admin console</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=227721b4c1fb51e57cdc1cd2be90d16fa9796624">227721</a></td><td>62 lines</td><td>03/18/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: add persistent name and version to the persistent form of a digraph and validate these on input</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=bfce058527331aff06b05a6ea26b44ec6ba276cb">bfce05</a></td><td>79 lines</td><td>03/19/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=335689">Bug 335689</a>: support plans inside PARs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5fc7144956b3c515c6556032ed63aa6e2dc675bc">5fc714</a></td><td>89 lines</td><td>03/29/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=341015">Bug 341015</a>: delete dead exceptions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0d25116ac552e19442cfc0bdc89951788c5fbc00">0d2511</a></td><td>534 lines</td><td>03/29/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: state dumping and analysis with region digraph</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c9c6de1067ec74108922e98e4b89a83de196a892">c9c6de</a></td><td>463 lines</td><td>03/29/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: state dumping and analysis with region digraph</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=66b25505c93e6418b3d6ecbe22165928f534dc67">66b255</a></td><td>78 lines</td><td>03/30/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: missing code changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e76d7b56f718836fdffba4fc1f1ac95fd659f080">e76d7b</a></td><td>25 lines</td><td>03/30/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=336941">Bug 336941</a>: create resolver hook factory for a possibly disconnected region digraph</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=df90911969b74a0098a3a9fc934e57b656eb0218">df9091</a></td><td>4 lines</td><td>03/30/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=2a31784e423070291c5c8d6cf77a6dec49414cf2">2a3178</a></td><td>86 lines</td><td>03/30/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a09f95e80feed3e81ddda93b2030ea3ed811e1a4">a09f95</a></td><td>30 lines</td><td>03/30/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=598177cd0053a97c83c636bdfa4edeb19f5b2c45">598177</a></td><td>8 lines</td><td>03/30/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=835c73e730c393f3b0bb94cb1a13f74f739d7d58">835c73</a></td><td>8 lines</td><td>03/30/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a3bc4a553bb9935ea9d1cfacdd6675e464396db3">a3bc4a</a></td><td>756 lines</td><td>04/01/2011</td><td>add regions to RAM</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c2c73a06f860deeea25d826a52af7c6b05aa1f8d">c2c73a</a></td><td>9 lines</td><td>04/03/2011</td><td>avoid unnecessary log messages</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f225255ba1c7bb3c0ca00ba66add09d0bc7c9a92">f22525</a></td><td>2 lines</td><td>04/03/2011</td><td>enable testing when not connected to the internet</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7e6e9e51dc50671f5b6a47c1ee9b85b1e66c1055">7e6e9e</a></td><td>51 lines</td><td>04/03/2011</td><td>allow vsh command to examine kernel bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c88237bf0136d59fe45f0d9cb83abf9bb5de5d25">c88237</a></td><td>93 lines</td><td>04/03/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337211">Bug 337211</a>: remove workaround</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=54e31a7cb4d808eefe5d16466a41078c2335baf0">54e31a</a></td><td>4 lines</td><td>04/03/2011</td><td>Rename the JMX model containing non-user region bundles from "RegionModel" to the more specific "KernelModel" so that an over-arching model can be introduced later when multiple user regions are introduced.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ad79f64737a46f3da13392611fc069a0c7f622f3">ad79f6</a></td><td>24 lines</td><td>04/03/2011</td><td>remove dead parameter</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=738cc3100b12d5bb501daf80c4bbc4838ec7c40d">738cc3</a></td><td>4 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=47d4c398a3e300b1a8b5d62229bf20f97c08134d">47d4c3</a></td><td>36 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=ffcaab7bbfe1833110b0851d65f28453d323b66c">ffcaab</a></td><td>26 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=6da3a29f3c571b9177d580c4a515cfdfa4fbf031">6da3a2</a></td><td>8 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=ca85fcdf128737ab484a3719c9ab6bc05891becb">ca85fc</a></td><td>8 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=0c81b3a9aa6cccc42faee43a51e23385cca6987e">0c81b3</a></td><td>4 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=a914eed3be4be7b419d7756a9a502d5b6bf2015c">a914ee</a></td><td>36 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=9fe65455409e09f092f0a74a3cb4a09e9a7e1e5d">9fe654</a></td><td>26 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=94a0b33d95fa64f0af5222d311140eb4dd294f4c">94a0b3</a></td><td>8 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=7b6f0e1c5bc0162fb7657c475b9d1583c561d545">7b6f0e</a></td><td>8 lines</td><td>04/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=81b0b19824c363f247c80c2321ad86708ea74ee5">81b0b1</a></td><td>22 lines</td><td>04/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=342458">Bug 342458</a>: access the kernel mbeans as a temporary workaround and the beginnings of a proper solution</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=386cafab367a66b0f6db64a0a5a3cc5a608d62b7">386caf</a></td><td>4 lines</td><td>04/12/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=01f7d800bf8a2ffe7fe8e63d43c36a64fbb5b9bf">01f7d8</a></td><td>36 lines</td><td>04/12/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=9ed155c27e0d5153e009f25336930cbe0cf3ba07">9ed155</a></td><td>26 lines</td><td>04/12/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=fa7fd537626d85f82f02a15260da4381ff503786">fa7fd5</a></td><td>8 lines</td><td>04/12/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=aba42499ad3538d446e0240b988de62404097bac">aba424</a></td><td>8 lines</td><td>04/12/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=004add014a388f8f2e71fb60a06f51eca26a9c2d">004add</a></td><td>229 lines</td><td>04/15/2011</td><td>add branch options to releaselor, ripplor, and the virgo-build updatlor</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=9c8c19b6113abc912510e63891b0de7e4bdb44f6">9c8c19</a></td><td>2 lines</td><td>04/18/2011</td><td>fix version range expression</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=e95b38c2074a9d17ceb396b014bb06fff228a51f">e95b38</a></td><td>2 lines</td><td>04/18/2011</td><td>fix version range expression</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=9ef8eee08d37659686f3e1accfce84a54b513fe7">9ef8ee</a></td><td>2 lines</td><td>04/18/2011</td><td>fix version range expression</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=4c52d90bb802ab0267b9320810fc95b0e681fd83">4c52d9</a></td><td>2 lines</td><td>04/19/2011</td><td>fix hardcoded version range</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=97697d03b04e2d13656c3b8dc1ef0f0579ef3bd7">97697d</a></td><td>4 lines</td><td>04/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=342185">Bug 342185</a>: correct import version ranges</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=1fa9982cf6b1a26703b4a7c204df93a0c9b0d438">1fa998</a></td><td>8 lines</td><td>04/27/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327466">Bug 327466</a>: Clover is not applicable as there are no unit tests, so fail any attempt to use it and issue a message</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=89ed667dd7a34db772a9ca4bb4bf99ae6edab0ff">89ed66</a></td><td>135 lines</td><td>04/27/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337822">Bug 337822</a>: add -noStart option (useful with -clean)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=9cf9c8dc74e2e7db2bcf050272833f851ba9744c">9cf9c8</a></td><td>45 lines</td><td>04/27/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337822">Bug 337822</a>: document -noStart option and a known issue on deleting the installation directory under Windows</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6d0d41e010e1e1151797e7e29204b20ea5f58c4e">6d0d41</a></td><td>6 lines</td><td>05/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=342719">Bug 342719</a>: take dump if a user region bundle fails to start</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=255f914076e2f49632526a59fe7b36529ef99cee">255f91</a></td><td>2 lines</td><td>05/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=341460">Bug 341460</a>: resolve offline state so OSGi state explorer shows uses violation diagnostics</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=6ad842817f0ed3cbda19cd801fcff73d7e44f610">6ad842</a></td><td>4 lines</td><td>05/04/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=3bf4d660233df38bd2f55de1c69de5a075a07abd">3bf4d6</a></td><td>6 lines</td><td>05/04/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ffcf7b693c395b323b189637ca1c89ee8032dac4">ffcf7b</a></td><td>74 lines</td><td>05/04/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5f5fcc016b6a5af784368234a030988f541d6984">5f5fcc</a></td><td>2 lines</td><td>05/04/2011</td><td>increase test delay after transient failure</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e1ea56776279d95fde8ee09d38357ea0317f2c12">e1ea56</a></td><td>7 lines</td><td>05/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=342719">Bug 342719</a>: re-order base bundles in kernel integration tests so resolution failures are dumped</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=11b24eaf2a4020872caaa27b7dc2a7d82abbf060">11b24e</a></td><td>7 lines</td><td>05/04/2011</td><td>Revert "<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=342719">Bug 342719</a>: re-order base bundles in kernel integration tests so resolution failures are dumped"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1645c9db2c853cdfe0a06e99eaffe284b55d5439">1645c9</a></td><td>5 lines</td><td>05/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=342719">Bug 342719</a>: delay taking a dump so the resolution state dump contributor has a chance to be registered</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=757d62c7e6b386c0bca719f88f3a8d82d62a2b29">757d62</a></td><td>16 lines</td><td>05/04/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=907f8cb67d8012e16f9a422c883715aa70c46fa3">907f8c</a></td><td>54 lines</td><td>05/04/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e870a0b6dd01f8f600ffaad8763a42880fe8f60b">e870a0</a></td><td>48 lines</td><td>05/04/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=ae93f091c9a65fb851f9eb6919e701af23bd2ba5">ae93f0</a></td><td>12 lines</td><td>05/04/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=145ff0c85ffd02a3976d442fe6a48c8ea7b616bd">145ff0</a></td><td>8 lines</td><td>05/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=343364">Bug 343364</a>: introduce Equinox digraph into Virgo, but don't exploit it yet</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9274e509cec65ae140bbb606452cfec09b99995e">9274e5</a></td><td>5,647 lines</td><td>05/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=343364">Bug 343364</a>: switch to using Equinox region digraph</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=d15497c5f9c145098a487b8768c044a35dd8b9d8">d15497</a></td><td>4 lines</td><td>05/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=4396e38fcde41a0968c852923a46abbea9f234ac">4396e3</a></td><td>36 lines</td><td>05/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=593064a0d613dd1dc6a87fa33a8661dc9f896c0f">593064</a></td><td>8 lines</td><td>05/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=343364">Bug 343364</a>: make web integration test setup use Equinox region digraph</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6952e78d06bd536d811856858d42dc1b6ef98ebe">6952e7</a></td><td>26 lines</td><td>05/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=21c396407b8682e5d9d122239e968076911d6d5d">21c396</a></td><td>8 lines</td><td>05/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=ef17c5423f877ca1347f8898bbc125882cfc4164">ef17c5</a></td><td>2 lines</td><td>05/11/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=343364">Bug 343364</a>: switch to use Equinox region digraph name for the kernel region</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=411f165f55201eef146c3952917e9bad03549419">411f16</a></td><td>4 lines</td><td>05/11/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4a2edcdb5d9e8d4560b0ddaa4ac9373bb747aca7">4a2edc</a></td><td>1,080 lines</td><td>05/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=342719">Bug 342719</a>: move resolution state and region digraph dump contributors to kernel core so they are available suitably early</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=eef771c1cb2ca88be96bcc284566567c3620fe96">eef771</a></td><td>9 lines</td><td>05/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=345563">Bug 345563</a>: escape angle brackets in resolution failure descriptions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=dcca55d54d64cbf6d71f82c55b6de7f5242f14be">dcca55</a></td><td>4 lines</td><td>05/12/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1e28a8462e438d4908aaf2e74f4dac6e87d1070a">1e28a8</a></td><td>225 lines</td><td>05/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=337211">Bug 337211</a>: enable module context accessor to produce module contexts for kernel bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ee698a1472a062346289d2e812cf35c2207a3e5a">ee698a</a></td><td>66 lines</td><td>05/17/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=341012">Bug 341012</a>: enable aspect weaving of kernel.<wbr>osgi project</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=75a5fc2fea791a5060bc54876b19e3e53a9525ef">75a5fc</a></td><td>36 lines</td><td>05/18/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=338417">Bug 338417</a>: react to stop operation correctly while in STARTING state</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=30339d3848c42be52196f53955177e083908dde2">30339d</a></td><td>4 lines</td><td>05/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=347120">Bug 347120</a>: include log level in log entries</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6adb92b7ec25c10df4317d77c7f94b42903a7c22">6adb92</a></td><td>3 lines</td><td>05/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=339296">Bug 339296</a>: make ExtendedClassNotFoundException reference to class loader volatile</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=f15fe53897e80ef87e9245b020e49502d1b1c5fc">f15fe5</a></td><td>4 lines</td><td>05/26/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=46c032048a28294555d4fef7c3ddad1c46a1eb79">46c032</a></td><td>6 lines</td><td>05/26/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=44963460dcdf2686f66325827f4c3e92f7dd3d78">449634</a></td><td>4 lines</td><td>06/02/2011</td><td>fix typos</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=2a381605e437c9dd3187b7bcfccd7e8099e114e4">2a3816</a></td><td>9 lines</td><td>06/02/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328033">Bug 328033</a>: remove entry/<wbr>exit advice from hashCode(), equals(), and toString() methods</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=f8bac9f4f76378e7a88f1cc9a20369c8f4ba500d">f8bac9</a></td><td>201 lines</td><td>06/02/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: make WAB header processing configurable</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=bff71b263d73b31909683dfe44adab47bbf749fa">bff71b</a></td><td>96 lines</td><td>06/02/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: test web configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=099548b2c182b9e58f8b7ae8723fc33a71cfcb67">099548</a></td><td>46 lines</td><td>06/03/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: document web integration layer configuration; rename Virgo Web Server to Virgo Tomcat Server and VWS to VTS</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=83a65caef0eb8edf37b992709717d7f4df6377a5">83a65c</a></td><td>20 lines</td><td>06/03/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: make WAB header defaulting configurable (see User Guide for details)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=32ba85a45699622a471cfe00aa4baef6be5b9af0">32ba85</a></td><td>8 lines</td><td>06/03/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: correct header syntax</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=a826f6e98aca44ee74935e969d7b2caba3a06a2c">a826f6</a></td><td>10 lines</td><td>06/03/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: upgrade Gemini Web to pick up correct header syntax</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=cfb84508ca475ddc1dc1bcc2810db1ae0841b260">cfb845</a></td><td>6 lines</td><td>06/03/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=765c7955cc724860924da74d9a178333346de244">765c79</a></td><td>6 lines</td><td>06/03/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=85f53f39072c6c61269e9d563cca6347ef8fb859">85f53f</a></td><td>6 lines</td><td>06/03/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=29239f11255372ecb2b2fb97844c8f0b7dd17ec1">29239f</a></td><td>1 lines</td><td>06/06/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: provide web properties file with WABHeaders=defaulted</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=cc7207c27cafc0c9a208534f76e462b11b76a074">cc7207</a></td><td>2 lines</td><td>06/06/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: configure WABHeaders=strict</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=2d4c3242426de870ee98e0aeff2cf4031c82b68b">2d4c32</a></td><td>1 lines</td><td>06/06/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: make formtags web work with WABHeaders=strict</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=b32c57dd1d903c6f809af217aaf2167b9c0ca61a">b32c57</a></td><td>204 lines</td><td>06/06/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: make WABHeaders default to 'strict' and issue a warning if it is set to 'defaulted'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=37f4bd5cc9e62a3b9c118f06c629fb0adbbeea60">37f4bd</a></td><td>111 lines</td><td>06/06/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: document WABHeaders processing more thoroughly</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=0d46db5033ac4aa320688d3cda4373e2247273ba">0d46db</a></td><td>2 lines</td><td>06/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=6d230afa3b3b6a0e7b91d4ab928cd819af0bcf4c">6d230a</a></td><td>6 lines</td><td>06/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=a88ef9aa7da2e89b0a9eef63a425573e6c3cf424">a88ef9</a></td><td>6 lines</td><td>06/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=38b2e4be5030719a27d088b146a9323cfb5e7bbb">38b2e4</a></td><td>8 lines</td><td>06/07/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798">Bug 326798</a>: rename docs directories in packaged build so links between docs work</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=46744570307c295adbba501a7576100e7fb72632">467445</a></td><td>2 lines</td><td>06/07/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=346775">Bug 346775</a>: add missing message insert</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2ff56518564a51e5f05c18acf555c2c51ad40f7d">2ff565</a></td><td>1 lines</td><td>06/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=346775">Bug 346775</a>: set a framework property so that Equinox handles lazy activation bundles in an OSGi standard way</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=9933ba7da9324b9cb9d93f6552a7408df7ae8644">9933ba</a></td><td>4 lines</td><td>06/09/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=edff71e102dc67521135f24b941c41cdbe3bd4c5">edff71</a></td><td>36 lines</td><td>06/09/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=63c9711514f3172aa9b00184b14e459d8d4ab6ac">63c971</a></td><td>26 lines</td><td>06/09/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=5883649466554f1e88b16daefc0e9edc290d7980">588364</a></td><td>8 lines</td><td>06/09/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=6135060f6e0d1c83b56c761d4d7d054ad69cc688">613506</a></td><td>8 lines</td><td>06/09/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=58fcf35a3147f2f21963f5b1e8ed96f759e9abf9">58fcf3</a></td><td>34 lines</td><td>06/13/2011</td><td>upgrade dependencies on Virgo util to 3.<wbr>0.<wbr>0.<wbr>M05 and on OSGi Core to 4.<wbr>3.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=022e7fd87cb1f31b6a051d759e8113baa40315eb">022e7f</a></td><td>365 lines</td><td>06/15/2011</td><td>Add column for default value in configuration properties tables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=7f666cb8f2ddcc2a951d5c9a0878277d2f864250">7f666c</a></td><td>10 lines</td><td>07/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350404">Bug 350404</a>: make stopping a web app symmetric to starting it esp.<wbr> regarding associating/<wbr>disocciating the bundle and web app class loaders</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=f56d8d6509814d2883acfa3211096cc4fc97d9f8">f56d8d</a></td><td>2 lines</td><td>07/04/2011</td><td>fragments should not be started</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=79444d10c42ec7f26d72bf1cb11baf28dca9698b">79444d</a></td><td>114 lines</td><td>07/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=343346">Bug 343346</a>: optimise resource finding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=824465e7f5eeb7b3fd4187b7e082475e1486bce1">824465</a></td><td>26 lines</td><td>07/08/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=343346">Bug 343346</a>: further optimise resource finding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6beb6a4bee22a1929bb7574845624f3fa076af2e">6beb6a</a></td><td>4 lines</td><td>07/08/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350825">Bug 350825</a>: fix NPE during shutdown</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=3779495e74e6593a595f8c35cc8a03b53c36d884">377949</a></td><td>4 lines</td><td>07/08/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=caaabb0da16e503413048ddef084aefa1c58479c">caaabb</a></td><td>36 lines</td><td>07/08/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=9d50e3014a73e0d42fcb8fba81b7af21ea26ba2f">9d50e3</a></td><td>24 lines</td><td>07/08/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=76a7b00070d6abc9d0ad32a5d4acfa2d18f2afae">76a7b0</a></td><td>26 lines</td><td>07/08/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=724b898685f3b824948aa13d6c9f40293801a7f7">724b89</a></td><td>8 lines</td><td>07/08/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=cec773b51ca7e1800d73b58a0fba7fa1dc779098">cec773</a></td><td>8 lines</td><td>07/08/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=b5a17c623513514ee4eecca374bd863b0180269b">b5a17c</a></td><td>517 lines</td><td>07/11/2011</td><td>move concepts from getting started guide to user guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=b44633777313ad667b89b8d53e9abbfbb5f9879a">b44633</a></td><td>801 lines</td><td>07/12/2011</td><td>create Greenpages guide from parts of old "getting started guide"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=37978a06c88d80da39192441daa9820da8b20f6d">37978a</a></td><td>84 lines</td><td>07/12/2011</td><td>merge installations instructions from old "getting started guide"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=807a448e4ccf1349b722657bf4cde55e1899329b">807a44</a></td><td>2 lines</td><td>07/12/2011</td><td>OSGi 4.<wbr>2->4.<wbr>3</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=2b2170985e4ca30b007b4dc7557bcf21fec555a6">2b2170</a></td><td>104 lines</td><td>07/12/2011</td><td>merge material from old "getting started guide" web module chapter</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=9a2d2d6ef27d3d88ce197dbe630dae1dd62d423b">9a2d2d</a></td><td>12 lines</td><td>07/13/2011</td><td>fix formatting</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=fac3c91da140e8bb624688cfb406a3ebfdc6b8b6">fac3c9</a></td><td>31 lines</td><td>07/13/2011</td><td>delete Spring info as it sits better in the Greenpages guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=15c4ad5f8b157cf46d5562f91fc9368c0e969c46">15c4ad</a></td><td>610 lines</td><td>07/15/2011</td><td>add highlights section to the guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=9d3087a785bc729f9eebd7c9c2ef53bc18693662">9d3087</a></td><td>26 lines</td><td>07/15/2011</td><td>editorial changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=d2890856ad9df54b3ccc4d5451a71fc615594a2e">d28908</a></td><td>3,937 lines</td><td>07/18/2011</td><td>delete old "getting started guide" now its material has been factored into the UG, PG, and GreenPages Guide.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ece3f398078f59be234c1372f3389f49195309d1">ece3f3</a></td><td>166 lines</td><td>07/18/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=351828">Bug 351828</a>: widen check for unwanted recursion</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=9f42e155268597824b0eedcf7502c68a8b7aa475">9f42e1</a></td><td>3 lines</td><td>07/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352575">Bug 352575</a>: web integration layer configuration file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=d6e3c059e8be4ee6b62427d8fb40863cba44fff7">d6e3c0</a></td><td>2 lines</td><td>07/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352575">Bug 352575</a>: include properties files in repository/<wbr>ext</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=fc93043af3ee1663b04744856702a5ec55353268">fc9304</a></td><td>16 lines</td><td>07/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352575">Bug 352575</a>: document new location of Web Integration Layer configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=82f2dc4eab22c368609bd85ea78084de0a44d057">82f2dc</a></td><td>7 lines</td><td>07/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352575">Bug 352575</a>: rework web integration tests configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=a921f1d9e1b8892478c85bbe55506992de059a74">a921f1</a></td><td>4 lines</td><td>07/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=a315f5645a7a18c7869600a05c0499fe0be53c6d">a315f5</a></td><td>36 lines</td><td>07/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=f62eae5424f9a286e9794e32ff0bdf592ab29b94">f62eae</a></td><td>7 lines</td><td>07/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352575">Bug 352575</a>: rework snaps integration tests configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=5657a681919da35e43a4f093465e856672066993">5657a6</a></td><td>16 lines</td><td>07/21/2011</td><td>fix test apps version ranges to cope with ripple/<wbr>release case</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=2b4c9f61a554052fbca45de292d3043671d92b4b">2b4c9f</a></td><td>24 lines</td><td>07/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d4ab50af7014df54a002affabe2b3bca293bab40">d4ab50</a></td><td>26 lines</td><td>07/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=c02afbbac7df24bf8ff948cf425ddd7ecf0f7aeb">c02afb</a></td><td>8 lines</td><td>07/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=d90fab66f0c15dc3fb79dff93e03b5a02d5f2774">d90fab</a></td><td>8 lines</td><td>07/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d2fcfcc24eabcb8e7798611000de2c5825147bf9">d2fcfc</a></td><td>4 lines</td><td>07/22/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352195">Bug 352195</a>: upgrade Equinox console supportability and Gogo bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f157076e5804e388d0479ada2df3f6c1446ab48b">f15707</a></td><td>4 lines</td><td>07/22/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350846">Bug 350846</a>: add enabled property to console properties files with default value of 'false'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f8611a6692bfa673f13da9ec26815b7abb46dc46">f8611a</a></td><td>4 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=56db5daccf3154097f1c3fb2e1f5c3a43e6e1080">56db5d</a></td><td>36 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=2199df4aa5882a1cd9cb699400de67d9976e4fd1">2199df</a></td><td>24 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6324a9a821e555c6e5eb2a39abca58fc019db16e">6324a9</a></td><td>26 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=0215f8dc92faa6637fe7ae99c60b3cd9cfba1802">0215f8</a></td><td>8 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=8c5564910ade826e8483461c88cc1a58629da767">8c5564</a></td><td>8 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=81529c4db380c69789637be86d7e5991585930a1">81529c</a></td><td>2 lines</td><td>07/22/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352866">Bug 352866</a>: upgrade console supportability bundle to pick up fix</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=74492a40d6190954ee94795687dc94288e82a3e4">74492a</a></td><td>4 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=b9fd42a28f55c8aa5f41fbc0bee1b044644d8842">b9fd42</a></td><td>36 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=c528dbf7d9f45d4c0496dff5ba4901a66352fcdf">c528db</a></td><td>24 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6d1b654c83809e02d5bfbad98414781c91bfe000">6d1b65</a></td><td>26 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=7c0f7319b8b71d3febc9eb5999eb11b0d777fa0d">7c0f73</a></td><td>74 lines</td><td>07/22/2011</td><td>improve shell docs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=b863dd9d80cb5cec8e5dbb0723832f0aafb645b9">b863dd</a></td><td>8 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=2379f15fdfd4dcc6d2b19195530187a0cb86a455">2379f1</a></td><td>8 lines</td><td>07/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=4cba7397b75d42832ebca5b460992c768e5c2566">4cba73</a></td><td>12 lines</td><td>07/28/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353295">Bug 353295</a>: upgrade Gemini Web and jstl dependencies</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=6606b8e56720e80b6cf6ee74811e0ae1910ea8fd">6606b8</a></td><td>12 lines</td><td>07/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=de51227ffd3cd3dd19c56fe858a09d893e120a57">de5122</a></td><td>12 lines</td><td>07/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=20870d83dd49fa3658ddac15dd30d63c053748a8">20870d</a></td><td>8 lines</td><td>07/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=fec0c8d8c8ac32b73fc2c8fb75986f2c91c9c8e5">fec0c8</a></td><td>6 lines</td><td>07/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=e17597d108dc21e0b9e46ddcfc6549f4cc5e429f">e17597</a></td><td>407 lines</td><td>07/28/2011</td><td>editorial changes to guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=45df52b7ddc8e9f1dba04c6b19b04b284f023df6">45df52</a></td><td>3,074 lines</td><td>07/29/2011</td><td>editorial changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4a8622fdc652f447749f67a084e21fc7448055d0">4a8622</a></td><td>4 lines</td><td>07/29/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353122">Bug 353122</a>: prevent Equinox being duplicated in lib and lib/<wbr>kernel.<wbr> Ivy <exclude> does not work properly so used <delete>.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=760e8316fefe8df429498c7f47e0a840c012f1fb">760e83</a></td><td>9 lines</td><td>08/02/2011</td><td>fix about file for 3.<wbr>0 release</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=10a92e9101fd51f6346639c5ed925555f5dafabd">10a92e</a></td><td>2 lines</td><td>08/02/2011</td><td>file date</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0d1d7e6ad874a3504f6d323d4255ec0e464ca66c">0d1d7e</a></td><td>6 lines</td><td>08/02/2011</td><td>MINA dependencies</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=c5ad753c036f5d7580b4264c63d0871a6126c0ca">c5ad75</a></td><td>6 lines</td><td>08/02/2011</td><td>update about file for 3.<wbr>0 release</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=436bf311122897f83eac2850b2b3317df1bfda2a">436bf3</a></td><td>2 lines</td><td>08/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=08f261e9b80516b7719cf272925509612a68bfb9">08f261</a></td><td>4 lines</td><td>08/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=bf5e2082c3c2927ad764a101809f0c61e1f5eaa4">bf5e20</a></td><td>36 lines</td><td>08/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=e170ee0dcb0a34373c1d3a3d6a3b9c41630af270">e170ee</a></td><td>24 lines</td><td>08/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=261d3bee3cb37776017f0ea5675b93be77d52c71">261d3b</a></td><td>26 lines</td><td>08/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=723c61da989b99e282b9241673be9619e2da8286">723c61</a></td><td>8 lines</td><td>08/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=9b64f84b7033b43c307aba7a1134446d289d84c2">9b64f8</a></td><td>8 lines</td><td>08/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=9d095708c4021d26a5bb3d5f5246744f8da70ac5">9d0957</a></td><td>2 lines</td><td>08/03/2011</td><td>jstl about file tweak</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=d0e483bcec57a271e9fb0e69c77c37b4a474fcf0">d0e483</a></td><td>463 lines</td><td>08/03/2011</td><td>Edit about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=24f9574eb67d7f2910fd0a12bd9956c8d6d31681">24f957</a></td><td>107 lines</td><td>08/03/2011</td><td>adjust about file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=f975d3d5ee5978aea6152211fa82d917bd51d678">f975d3</a></td><td>10,922 lines</td><td>08/05/2011</td><td>code contribution from git:/<wbr>/<wbr>git.<wbr>springsource.<wbr>org/<wbr>virgo/<wbr>system-verification-tests.<wbr>git commit b7eeb1b8f01e39304e27d8e8d9521b8e9d8c744f</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=3f29c14ee0ec5bc93cc824063632a00746d009f6">3f29c1</a></td><td>1 lines</td><td>09/19/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=355473">Bug 355473</a>: extraneous web properties file in VTS config directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=eed76a3164ea1c4348e8b964373b3ec92eba036f">eed76a</a></td><td>32 lines</td><td>09/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353428">Bug 353428</a>: remove references to the library sharing directive</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=2b376fb463aef14d89fdf14c0ec75dd25fd15539">2b376f</a></td><td>214 lines</td><td>09/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353428">Bug 353428</a>: remove references to the library sharing directive</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=d20cb4ac98babd960c3a7b91d4e00efab3677c47">d20cb4</a></td><td>214 lines</td><td>09/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353428">Bug 353428</a>: remove references to the library sharing directive</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=36c59032219c42c321f2ef8ee2772529da4477b6">36c590</a></td><td>57 lines</td><td>09/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353428">Bug 353428</a>: remove references to the library sharing directive</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=d91acd28f10a1889343140705dee483735d6af54">d91acd</a></td><td>22 lines</td><td>09/21/2011</td><td>upgrade dependency on Gemini Web</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=996e6555d08e321d16513a8977378c3eee7bc41d">996e65</a></td><td>4 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=0dccb27ad544d47f3c7fd109ff35eaa2fcf46ce0">0dccb2</a></td><td>16 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=d241583839bdda70da211f49dd75dc47c56add30">d24158</a></td><td>26 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=5d4ca97c487a865562bc6fab9061d11a1f654a86">5d4ca9</a></td><td>20 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f5ad81e59d869a9c693e995dfb7840beda085d1e">f5ad81</a></td><td>204 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=544b5056ac9cd91abe17a47ab310886c61948d9b">544b50</a></td><td>32 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=9e40a89b90d4ac5f89cc519e16ebe14bda84b7a3">9e40a8</a></td><td>86 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=89c51a7656f492b4b2ffaa0d12d647641c58262b">89c51a</a></td><td>8 lines</td><td>09/21/2011</td><td>fix test manifest</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=e4a4ff87854fbb5418fce3e7b284cd0dfe19ee01">e4a4ff</a></td><td>74 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=4168cc7876402afddf2afa206707e7a121214022">4168cc</a></td><td>80 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=f089ebad1bc63d1c20a68f8ab3139df4a296b740">f089eb</a></td><td>16 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=362af03812048ffdc778c9b4b98c319da6adce01">362af0</a></td><td>16 lines</td><td>09/21/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=274e8fd9d1607738272bd54b8415d59cb8cb06b7">274e8f</a></td><td>2 lines</td><td>09/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352418">Bug 352418</a>: clarify the diagnostics when a bundle is deployed and import expansion fails</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=25d9b2e289a6d39cbb31ee06bede34e17c03e4d2">25d9b2</a></td><td>300 lines</td><td>09/29/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353996">Bug 353996</a>: distinguish config install artifacts</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=42a8c97778350aa14065cdb6a778065bbe5821d9">42a8c9</a></td><td>165 lines</td><td>10/03/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353996">Bug 353996</a>: user region support</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c0794a961fdebeaabd6fc4f82188d278398bda18">c0794a</a></td><td>21 lines</td><td>10/03/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353996">Bug 353996</a>: look up config deployer service</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9ed44c4f81d7f8a92cb06e204fd029724bf40014">9ed44c</a></td><td>108 lines</td><td>10/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353996">Bug 353996</a>: begin test case</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7e23f24378d4b9e2ac2c931effb03faab9870049">7e23f2</a></td><td>44 lines</td><td>10/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353996">Bug 353996</a>: test config properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a279ddb207ea8822c159f5831d1fa471e8c62cbb">a279dd</a></td><td>54 lines</td><td>10/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353996">Bug 353996</a>: test configuration in ArtifactModel</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a0ab3027dc1954c5270f95546c8696fa5ca0a90d">a0ab30</a></td><td>30 lines</td><td>10/05/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359962">Bug 359962</a>: bundlor templates should not hardcode the bundle version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fc1e3d251d154f9d09168b65cc7ced4ed621c9c3">fc1e3d</a></td><td>54 lines</td><td>10/06/2011</td><td>improve FactoryConfigurationDeploymentTests and instrument in case intermittent failure is still present</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=63bae740a33a448147c8bc0b5bcf6e0d1c5d31c9">63bae7</a></td><td>4 lines</td><td>10/06/2011</td><td>increase sleeps to avoid intermittent failures (they were observed to be 7ms too short during a ripple)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5fc373d6efcaab53697e7eb7856f8c37343948a4">5fc373</a></td><td>8 lines</td><td>10/06/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359962">Bug 359962</a>: more templates</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=28123e9aac954595aff8a267da03a96638e11ed6">28123e</a></td><td>8 lines</td><td>10/06/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360096">Bug 360096</a>: fix servlet version ranges</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f539d83e0b5c5571f65a3d8dbf7fa9bdfa8fa7a2">f539d8</a></td><td>4 lines</td><td>10/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=314072d553e174d21b13d4c161d8795641983380">314072</a></td><td>36 lines</td><td>10/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=ea52218de02a434bbf0015b06638260fb947f781">ea5221</a></td><td>24 lines</td><td>10/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=41a2c8ebab1c54d02431f4ce3926f7ec2ef0ed4e">41a2c8</a></td><td>26 lines</td><td>10/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=c065809c956c3d97d5f35ee098e3f611dc5ab87f">c06580</a></td><td>8 lines</td><td>10/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=3925844b7c59e7c21583f151c65e6d652d25606f">392584</a></td><td>8 lines</td><td>10/06/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=02de2eae7d3639bbc4de1dd2c6302367c0d98339">02de2e</a></td><td>7 lines</td><td>10/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358896">Bug 358896</a>: remove single parent assumption in plan resolver</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f719700798e675ef81078fb4fffede2e8419d59c">f71970</a></td><td>70 lines</td><td>10/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358896">Bug 358896</a>: preparations for changing install artefact Tree to DAG</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=4e56e98a7ad780c594552185c5e856fc395b14e5">4e56e9</a></td><td>10 lines</td><td>10/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=357129">Bug 357129</a>: document single virtual host restriction</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=5e6669f7c219d3a5a771edabb7ff1f0bffbdfbc0">5e6669</a></td><td>2 lines</td><td>10/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360571">Bug 360571</a>: Application base [.<wbr>.<wbr>.<wbr>] for host [localhost] does not exist or is not a directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=340b2059b6a4ba9ad840d150261c2bcdbf2b34f6">340b20</a></td><td>6 lines</td><td>10/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360571">Bug 360571</a>: Application base [.<wbr>.<wbr>.<wbr>] for host [localhost] does not exist or is not a directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6a939c6a2d403daebe9c25ab3f7e54e5203f9765">6a939c</a></td><td>336 lines</td><td>10/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360671">Bug 360671</a>: Test in which synthetic context class loader is not set as TCCL</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=49ca2279f4ca54f26bac406e1c6172899da02c5f">49ca22</a></td><td>14 lines</td><td>10/12/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360671">Bug 360671</a>: Testcase documentation.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b663e72ee8eb90162f92187aca9d48839dbbd7a6">b663e7</a></td><td>123 lines</td><td>10/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360671">Bug 360671</a>: associate synthetic context bundle where appropriate with BundleThreadContextManager</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d020dfe48ec760b8fd20176711e6b45fa283ddfa">d020df</a></td><td>13 lines</td><td>10/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360671">Bug 360671</a>: establish synthetic context as TCCL</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=eb755392828f2ee66b107abdd4c52ceb88bfda3c">eb7553</a></td><td>2 lines</td><td>10/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360965">Bug 360965</a>: Spring DM overrides TCCL of scoped applications</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=084fe3a10755dde1efc6118986b849dd9be0fb35">084fe3</a></td><td>36 lines</td><td>10/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=353897">Bug 353897</a>: Document thread context class loader in Web applications in PAR or scoped plan</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7c7c26987a56cbd812eaa098a513d0be211636a6">7c7c26</a></td><td>38 lines</td><td>10/17/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360965">Bug 360965</a>: introduce OsgiApplicationContextCreator for user region</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1f4aaf837ba7431b54d958fc89920787494b70c7">1f4aaf</a></td><td>50 lines</td><td>10/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360965">Bug 360965</a>: avoid Spring DM overriding the TCCL of PARs and scoped plans</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=ed5a500af21c94d4caf1de04bc36444aeeb26ddf">ed5a50</a></td><td>19 lines</td><td>10/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360965">Bug 360965</a>: Avoid Spring DM overriding TCCL of scoped applications - remove known restriction</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b67e5ac13ac27f3506d36399813135da40620f92">b67e5a</a></td><td>4 lines</td><td>10/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=361635">Bug 361635</a>: ThreadContextClassLoaderTests fails when enabled</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6e4b377f739e9e5bf41b24704e8d72f40bb6cc7c">6e4b37</a></td><td>131 lines</td><td>10/24/2011</td><td>add notes on kernel authentication</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=ef72409277992be1f00897e84c8bce173e1b8cb5">ef7240</a></td><td>59 lines</td><td>10/24/2011</td><td>add notes on kernel shell</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=79dc6fcf662b6c9250d8f814776cdbedc68019e0">79dc6f</a></td><td>6 lines</td><td>10/24/2011</td><td>point at help annotation examples</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e0ead50738485d6b4850aec4ef8f16e0a2d3f8a8">e0ead5</a></td><td>3 lines</td><td>10/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=361635">Bug 361635</a>: fix test case package name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a8e7618cd8fb7298c3c6e2cddd36b3ed75156381">a8e761</a></td><td>11 lines</td><td>10/26/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=357804">Bug 357804</a>: start auto-installed dependencies even when they have lazy activation policy</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=83f013c789448b288a29b43fff712f11949ccd2d">83f013</a></td><td>4 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=85c4db574128d56f76e059b07d131f65d2376e1c">85c4db</a></td><td>22 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=2b5f7be4076aeecda32307b4eb4b47551c15de60">2b5f7b</a></td><td>18 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ba22fc2c6f703e703eaba05fc06da300d65cb99b">ba22fc</a></td><td>170 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=9cbaeeb92dfc763fd1829bdf32c0c9009e3a03b2">9cbaee</a></td><td>28 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=42744f2dc8fac74b1ec9c83c3797a2bab70da6e3">42744f</a></td><td>74 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=7bba476a182da15a052fa8e0a4693d78032c3329">7bba47</a></td><td>58 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=8dd67bcd652475c0c88c1fc75ca57f3d0ac91878">8dd67b</a></td><td>64 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=3fe57230ab3f2cd633f5b8e27a607cc15d8d6893">3fe572</a></td><td>14 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=8474e47cf25424b81481a3d6b95ad03090a6b737">8474e4</a></td><td>14 lines</td><td>10/31/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d98b44b255033987fb566c654d6de654988b62cd">d98b44</a></td><td>44 lines</td><td>11/08/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350853">Bug 350853</a>: code clean up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6f289240537509b6743719cbde922c81f22eed99">6f2892</a></td><td>450 lines</td><td>11/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350853">Bug 350853</a>: [Gogo] Provide the vsh commands as a separate "scope" to gogo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=40b0f8a58e8fe431cc0f2e74742e4c7aef6b89a9">40b0f8</a></td><td>3 lines</td><td>11/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=363461">Bug 363461</a>: Move property gosh.<wbr>args=--nointeractive from startup scripts to kernel launch properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d5ca77c1c7cb47d899d78a2cf1fafd28c18e9a6f">d5ca77</a></td><td>4 lines</td><td>11/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=361663">Bug 361663</a>: [Gogo] Use KernelLoginModule for shell authentication</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=0714c586eccffe7590c4ee96b020fd2324acc69f">0714c5</a></td><td>7 lines</td><td>11/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350853">Bug 350853</a>: specify new shell related properties in integration test configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=69b9805b10698519bf08f71612effd70a92d0ece">69b980</a></td><td>5 lines</td><td>11/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350853">Bug 350853</a>: specify new shell related dependencies</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=cc661b9437908ac3ce002bf465d95fe952d353d3">cc661b</a></td><td>4 lines</td><td>11/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=948a3046fd136fa47d2546d2af99fa1e0d4bfc34">948a30</a></td><td>36 lines</td><td>11/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=33c74c71de5b99b6edb98a3945c84f96c0de741c">33c74c</a></td><td>360 lines</td><td>11/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350853">Bug 350853</a>: rework vsh documentation now it vsh is plumbed into Gogo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=d4ecbe51b1d136ea69bd1a579ce0ad89c41438c2">d4ecbe</a></td><td>24 lines</td><td>11/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=542b73827cd24176e013e08469ca7bfdf8aab526">542b73</a></td><td>15 lines</td><td>11/10/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=361663">Bug 361663</a>: docs changes for using KernelLoginModule for shell authentication</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6f78a3411f91660c1b834a526e64fc5165ca8c07">6f78a3</a></td><td>26 lines</td><td>11/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=983c12561e08c4fe79b08d995fb1c299008f28ef">983c12</a></td><td>8 lines</td><td>11/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=3b2f7bb9d83229996cc6edfe540e9b7304ccf47f">3b2f7b</a></td><td>8 lines</td><td>11/10/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8dbc81dbb63082461be3d25f4a7cf52f18766157">8dbc81</a></td><td>577 lines</td><td>11/18/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=363295">Bug 363295</a>: bind class loading commands to Gogo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5ba0bb957a24446935a617b21cbb4768351ee691">5ba0bb</a></td><td>1,001 lines</td><td>11/18/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=363295">Bug 363295</a> - add help and refactor test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=96c2532de47aa14e3eeb108f6e601a475719b3b2">96c253</a></td><td>82 lines</td><td>11/18/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=363295">Bug 363295</a> - class loading commands are now part of the Gogo "vsh" scope, so unify the documentation</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=62458f04179b7b8d606075374449b82a87b0c948">62458f</a></td><td>835 lines</td><td>11/18/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=363295">Bug 363295</a> - tweak class loading command help, fix class name parameter checking, and refactor test case name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=0203fd0d3b41668b978d2b9391c37e2964020f12">0203fd</a></td><td>6 lines</td><td>11/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=364170">Bug 364170</a>: publish to download through the mount on build.<wbr>eclipse.<wbr>org as that's where committers have full shells</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=358155627f6ab70a7e7deca3cd89b864d679a451">358155</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=5ee16f43bd659b98753d6342cb9c2c03dc5de1c2">5ee16f</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=5ab9d5837cdbe8099cd9af9da189193687b02057">5ab9d5</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=f187eac97f1f48b3586eea6eb18b600bcbce7327">f187ea</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=755ff44ed98f0aa63a5bf70c48211d9892aac361">755ff4</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=b7ccc6027238f2be54081f27fdc34a5380d4d0d4">b7ccc6</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=af969ac077ae65e92a99a03b46b958ff41e02b91">af969a</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6703acdbb05552d722a39d130b80fc5e40991cbc">6703ac</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=3e27e42ebb7eb6dc6dbd207bc076fd38b4179fcc">3e27e4</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=6222b2ae03cf03a8ad1aa93560482b348f211733">6222b2</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=f8b7d7b42f5c7a8541da56a848dace3b8c85ab73">f8b7d7</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=02c3bd65ed269b6f14812e0fdef22e5c40855654">02c3bd</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=c32d6bf597122bf3a41ef724a347983e3ffcaa8c">c32d6b</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=c32bb83a528d793a17da83c7f732db87dc785cc4">c32bb8</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=a3f56ddb70e207cf2ece63d4fbb34e93dc1c877a">a3f56d</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=8140f40ba5ac913d06be209af3799990c6ffa10c">8140f4</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=fe1beb08c8b343321823444e84799a981fb9f213">fe1beb</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=6ab0de6aca3164038c6e2f99b7b58f7725b9e5fd">6ab0de</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=be391681c3c6e6c63dc7560231499af0d221b8a7">be3916</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=4dd655b1e23a98907efc1b429f1aab9cc0280ddf">4dd655</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=7fb27a0ab21b00275cdcf48dfbe699550512eb34">7fb27a</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=c7a7b3d13004ba0c27e66374421a0dae5d6a26b0">c7a7b3</a></td><td>2 lines</td><td>11/21/2011</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>14'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=c2811ccf491398d6a998758237eeaa91ab75f92d">c2811c</a></td><td>4 lines</td><td>11/21/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=364170">Bug 364170</a>: add nano to list of repos for updating virgo build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6113a34cc2c6a869481832437727d0522f00ab9c">6113a3</a></td><td>1 lines</td><td>11/21/2011</td><td>Hopefully fix heisenbug</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=563aca2f30539f0328490b901811e9544993217a">563aca</a></td><td>16 lines</td><td>11/23/2011</td><td>The heisenbug came back.<wbr> Hopefully these changes will nail it.<wbr>.<wbr>.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4fda1b0241ce4b960014a21bb3c6a14136ff9842">4fda1b</a></td><td>56 lines</td><td>11/23/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=362046">Bug 362046</a>: tolerate deployer bundle being stopped before application bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=d810d10ef013db61bcca19b09aec59c0a9b9ed28">d810d1</a></td><td>54 lines</td><td>11/24/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=363928">Bug 363928</a>: clarify location of spring config files in web application</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=74e1f3d3c514ac7cbef0345d2864f1a619f2065e">74e1f3</a></td><td>16 lines</td><td>11/24/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=364567">Bug 364567</a>: improve diagnostics when Fragment-Host fails to resolve</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9d10db447ab62b472cbf7f6868788c8ede177363">9d10db</a></td><td>73 lines</td><td>11/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: rename ThreadSafeInstallArtifactGraphFactory to InstallArtifactDAGSingletonFactory in order to make single instance behaviour explicit</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5a99e77f1911942a3f41fdec3cf8a4a974afb745">5a99e7</a></td><td>117 lines</td><td>11/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: fix copyrights</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d02be75d8e116bbb7d90aae00eb373b7a793bfd2">d02be7</a></td><td>40 lines</td><td>11/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: remove unnecessary null check</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=27504a8631598f49029e79364f3d5701d0d29d47">27504a</a></td><td>558 lines</td><td>11/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: fix TreeRestrictingIALL bug and rename from GraphRestrictingIALL as it restricts the graph to a tree</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fdb9c071fb3ec834b65babace4a5f4f12fa41e61">fdb9c0</a></td><td>84 lines</td><td>11/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: add test to detect bug in GraphRestrictingIALL</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4a7ba17a6bcee02230e326dd8a0e1a6efe698426">4a7ba1</a></td><td>159 lines</td><td>11/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: fix DRY bug in ConfigInstallArtifactGraphFactory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=92eb5770679a79438ec6f04088718ba0eed8b16a">92eb57</a></td><td>194 lines</td><td>11/25/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: remove GraphUtils since a deep copy is no longer performed and refactor to address TODOs and common up long-standing duplicated code</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=3bb166628e46711c0cd0159827c785de7a32a65a">3bb166</a></td><td>4 lines</td><td>11/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=76427c24b2a7bbf9db505a9605168499dcc27a2c">76427c</a></td><td>36 lines</td><td>11/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=b549ed6a9ea6cb7a1bc5cf07cf09801fcbfe9890">b549ed</a></td><td>130 lines</td><td>11/28/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: change Transformer signature</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=9e8b845edef748445d50d1dd09975d86cc7459ff">9e8b84</a></td><td>42 lines</td><td>11/28/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358442">Bug 358442</a>: change SnapTransformer signature</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=1a9fbb1e6a4210948b675bc613a794466f4fb1d4">1a9fbb</a></td><td>28 lines</td><td>11/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d319269e0a19cb9eb4db0162cba49484aa3d8404">d31926</a></td><td>26 lines</td><td>11/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=11da76116ef09be74c4d90bda93c347789a39e7f">11da76</a></td><td>8 lines</td><td>11/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=e76fdbde032a683149ed2ced57c4ab4176bc93df">e76fdb</a></td><td>8 lines</td><td>11/28/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=989c784edc5733a705eea83c27646242767c28b7">989c78</a></td><td>2 lines</td><td>11/29/2011</td><td>disable Equinox console to reduce likelihood of port clashes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=66d87f9a80e9df7d888fb48b88dd8e5f2eea5b69">66d87f</a></td><td>102 lines</td><td>11/29/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - Support marking a plan "transitively complete" (disabling auto-provisioning)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=061443beab6c995e98c50d93ccfe46e147f75d35">061443</a></td><td>158 lines</td><td>11/29/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - Honour the plan attribute</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=10b078da374d823b8c0e41d95f7671a1e0e5f60a">10b078</a></td><td>141 lines</td><td>12/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - document a new plan "provisioning" attribute</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=798d3520f582691521aa0e13655d08eac91d873f">798d35</a></td><td>2 lines</td><td>12/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - fix typo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=569b3450714b319e6221147b125f98150814b603">569b34</a></td><td>4 lines</td><td>12/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - Introduce a 'provisioning' attribute into the plan schema</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b0b35b9599f467240828fb01ecfcec58bf920a9f">b0b35b</a></td><td>192 lines</td><td>12/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - Support the plan 'provisioning' attribute syntax</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6b748310ed018680b1ceb8db95e3d3a6898c9447">6b7483</a></td><td>438 lines</td><td>12/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - inherit plan provisioning settings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=58de854a5d061a7b08b5223f000ac71a6868f185">58de85</a></td><td>353 lines</td><td>12/01/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - selective provisioning</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=114a6c03ede7b4b1a8fca536ea078836cd0df209">114a6c</a></td><td>264 lines</td><td>12/02/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - test plan provisioning</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=759c68e546e68a7467e56c59d21a010110964694">759c68</a></td><td>4 lines</td><td>12/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=af97650639e43ddc185ff4b5553ad0f95c106ed5">af9765</a></td><td>36 lines</td><td>12/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=fad3ff8f8cc08278fca9c6e32cfa9d1a26071dbb">fad3ff</a></td><td>20 lines</td><td>12/02/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315869">Bug 315869</a> - update stub of kernel interface that has changed</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=863883146b3f54c6b44908767ecfdca5f6d88d4e">863883</a></td><td>24 lines</td><td>12/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=966954c7bb042384743fce575a207394f62bbb85">966954</a></td><td>26 lines</td><td>12/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=0f8eab986662a75fb8bd31b13ad24cf621f6bfc9">0f8eab</a></td><td>8 lines</td><td>12/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=655d3ce0e1fcfc0d746e00d35cc226c4f9d52ba7">655d3c</a></td><td>8 lines</td><td>12/02/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=53661515a4f27f3cfd2801664e19eb21de618d62">536615</a></td><td>8 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=45ee19d3f33ee9de2d487905ef59bff42a3ebf44">45ee19</a></td><td>12 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=a0f0f156186f6b9789db7499f40e37bf2c7883be">a0f0f1</a></td><td>8 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=1b48d0e43c49083aa3d515b2db71877a767134e2">1b48d0</a></td><td>22 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=5ccbd42354c821b8c9c4c218b4214ca99df8866e">5ccbd4</a></td><td>44 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=20dd2f2336fa70e9c976f5c351dfd2fe88e00997">20dd2f</a></td><td>26 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3a7f5e1732dd55e4b148de3e5e4fe7c7f5056a5e">3a7f5e</a></td><td>276 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=a7578128a9e2c548dc91e03b10c707f5657a2a45">a75781</a></td><td>38 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=01f46fcee547306903ceb4f881e545bec82edafb">01f46f</a></td><td>104 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=029926e10b40acf186a462a9682fd418cdf0e8c9">029926</a></td><td>90 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e6a48d03f418a0d115767c9d7ad699a0dd9c272c">e6a48d</a></td><td>100 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=26b2f3f264012fcc9dd4625ca33ff300d6e40525">26b2f3</a></td><td>20 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=417ab2336007f5f5d6e869945dc218e018f41769">417ab2</a></td><td>20 lines</td><td>12/05/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=50421e1d162274b56e063781db39061bb41c3001">50421e</a></td><td>2 lines</td><td>12/09/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=364734">Bug 364734</a>: increase wait for previous instance to stop</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=80454f1b20231a3c3df86177df145aeee76c063a">80454f</a></td><td>238 lines</td><td>12/12/2011</td><td>archive presentations</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a248a08458bfc41eb2b2936c81ab7f32d6935a72">a248a0</a></td><td>128 lines</td><td>12/12/2011</td><td>avoid duplicate processing</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=def7b2850e84d1917756b0e531175fe1fe4b38fc">def7b2</a></td><td>104 lines</td><td>12/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=366515">Bug 366515</a>: refactoring to ease understanding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=7ce7d8f9147adb2f009f4500a3c7fbc2ddd7accf">7ce7d8</a></td><td>570 lines</td><td>12/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=366338">Bug 366338</a>: fix plugin.<wbr>xml contents and location</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=4fe90c1c98211c14d36b71bb480aaac32cd48138">4fe90c</a></td><td>2 lines</td><td>12/13/2011</td><td>bump plugin version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=15aa68133e6a3eb5c7feafb354d4acb88e6818b6">15aa68</a></td><td>1 lines</td><td>12/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=365435">Bug 365435</a>: allow time for kernel startup to fail before checking kernel is still up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9ff5202f914148e40f6f843e3f6e932556995cd3">9ff520</a></td><td>23 lines</td><td>12/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=365671">Bug 365671</a>: tolerate non-String Config Admin dictionary values</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6e7b22d85e70ba7b782216ab47b9fa6530ea2f26">6e7b22</a></td><td>36 lines</td><td>12/13/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=366224">Bug 366224</a>: include overlapping packages in UR0003W</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=7082838769497acfa825530b6d4b3d1b8f9e7fbf">708283</a></td><td>417 lines</td><td>12/20/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=362095">Bug 362095</a> - Move out logback from medic.<wbr>core</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=6654a924997c9ce3933167c45695036a834bd0bf">6654a9</a></td><td>0 lines</td><td>12/20/2011</td><td>Add .<wbr>gitignore to empty directories</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=cd1b76731244c71845dc7cb77d623ecfe93664d0">cd1b76</a></td><td>68 lines</td><td>12/20/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=75cd885b00e8bcfea5447cb4c52e14908837273b">75cd88</a></td><td>35 lines</td><td>12/22/2011</td><td>clean up old directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f846431dd3b2b1d7a61f636640c09098b6c07860">f84643</a></td><td>46 lines</td><td>12/22/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=362095">Bug 362095</a> - deal with logback separately from medic core</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=a80a6b1a5a5ee0c1496d1dc8be76801ceb780f61">a80a6b</a></td><td>19 lines</td><td>12/22/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=362095">Bug 362095</a> - prevent logback from loading context selector from application class loader (=default TCCL)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=fa79f164de48fc4cb2fdd666005f6c7e4573d88d">fa79f1</a></td><td>12 lines</td><td>12/22/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=362095">Bug 362095</a> - deal with logback separately from medic core</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=90a75870e59f20c91acbd0577807060d47e474dd">90a758</a></td><td>11 lines</td><td>12/22/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=362095">Bug 362095</a> - deal with logback separately from medic core</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=11e4755fe0895d373e6b62d2353ddab2a1f5d6dc">11e475</a></td><td>6 lines</td><td>12/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=8ccb09a4826b4c9bb15dab2a913b4997b8d9f566">8ccb09</a></td><td>12 lines</td><td>12/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=a81b73d2beb8231ecb6415db01452e408c74ada3">a81b73</a></td><td>48 lines</td><td>12/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=109b7ea08514e9e061651a8efc285cd71a32a1f6">109b7e</a></td><td>34 lines</td><td>12/22/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=d206d8ff1df7f68c33ae9f1f1c38f2eb9c209b5a">d206d8</a></td><td>12 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=fefd433701ae029f0d0c027843080043b7be0567">fefd43</a></td><td>12 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=7116d25aa8cc0c32c78149066a5b65c2c5001d8d">7116d2</a></td><td>462 lines</td><td>12/23/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=362095">Bug 362095</a> - avoid exported impl package</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=983b28c3922405604bafacdcc61ecd7e0610f779">983b28</a></td><td>2 lines</td><td>12/23/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=367480">Bug 367480</a> - Snaps guide PDF processing causes build to hang</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=2f4e3392588750c100c3935b954825c6fba443fe">2f4e33</a></td><td>6 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9081b67ae824fad4c8cb86e0c760585096d47bfb">9081b6</a></td><td>68 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=351f93dbd60547fddfc2b20ac60beaae4ff6e02a">351f93</a></td><td>12 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=f9a3a441e929a8df56014a44dd1ad1619d791b3b">f9a3a4</a></td><td>48 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=e8c589f10ba2d9a439daff098e25fb6a355fd265">e8c589</a></td><td>34 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=89ff374ee72d5b8c6d88e53ec1398bbaccb53eac">89ff37</a></td><td>42 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=9cd46bf68203a8dfe8b42ccd10c05e1b0daee45b">9cd46b</a></td><td>12 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=41969a886100773556a397ed3c7686a577de99e5">41969a</a></td><td>12 lines</td><td>12/23/2011</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=f3433222a859ff9fa0205f8168c484483f8624fb">f34332</a></td><td>2 lines</td><td>01/05/2012</td><td>Fix source version.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=33e9904c8113ec5f9622ce7a546ddeaee5e7ea95">33e990</a></td><td>1 lines</td><td>01/05/2012</td><td>add graffle files used in presentations</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=c21a6c25e68385d3af0bf445b5205afa9145a4a4">c21a6c</a></td><td>76 lines</td><td>01/10/2012</td><td>fix build problems by making directories before they are needed</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=c15fb8d4b76b3713bcfd6885ea2bdeea8c61bfb6">c15fb8</a></td><td>1 lines</td><td>01/10/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=367880">Bug 367880</a> - Nano does not support resolution for minimum ee of jre-1.<wbr>2</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0d91c0b6348dc3bf8741bb191c334f06452dd5d5">0d91c0</a></td><td>268 lines</td><td>01/11/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=366423">Bug 366423</a> - Enable configuration of service wait timeout</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3afeef8e38b2ddf49d261263c3bf761ed3b984bc">3afeef</a></td><td>39 lines</td><td>01/11/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=366423">Bug 366423</a> - Add test and fix a bug</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=3bfc5ab26e026a82a3ae0d88e21553dbab51b6dd">3bfc5a</a></td><td>15 lines</td><td>01/11/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=366423">Bug 366423</a> - document configuration of kernel startup and service wait timeout</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=b3914ad6fb4aabbe6fbc30b6a757440af975d771">b3914a</a></td><td>48 lines</td><td>01/13/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=333920">Bug 333920</a> - document how to set up the Virgo kernel with Janino to allow for greater logback capabilities</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=416f65e4aa4e070b694d56db3b3bdea7af37cc19">416f65</a></td><td>8 lines</td><td>01/13/2012</td><td>fix references to old location of java6-server.<wbr>profile</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e92c70d5bce4c7cf717e1a98ebb30ea10cc60ffc">e92c70</a></td><td>5 lines</td><td>01/16/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - Schema change to allow plans to refer to artifacts by file URI</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=430d4c064d33220d1e944c52a72c61940f8493f7">430d4c</a></td><td>2 lines</td><td>01/16/2012</td><td>fix typo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=ed5ae019c00405fc75e4da04563ff477a69a83de">ed5ae0</a></td><td>13 lines</td><td>01/16/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - Describe urls in plans</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=57f2c51b1deda4bd2d51dd5247a510eb7978c7ef">57f2c5</a></td><td>5 lines</td><td>01/17/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - commit TODOs in preparation for moving to the nano branch</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4625134a5797a3453224c09b9192dca06a724896">462513</a></td><td>180 lines</td><td>01/17/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - Add URL to artefact specification</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=07602d575d3e54cffdfe6e16154516c7e66e70fc">07602d</a></td><td>16 lines</td><td>01/18/2012</td><td>build path changes necessary to get a clean build under Eclipse with AJDT installed</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d0971cffda7a71792493a864230035d3c593f063">d0971c</a></td><td>16 lines</td><td>01/18/2012</td><td>build path changes necessary to get a clean build under Eclipse with AJDT installed</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a8718f868c68029b87a276bf77bc83adea605bba">a8718f</a></td><td>199 lines</td><td>01/19/2012</td><td>Fix a few errors and warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=08bb85a10b8427caf8c9802bf0fe3ff4299b119e">08bb85</a></td><td>121 lines</td><td>01/19/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - determine artefact identity from an artefact passed in by URI</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=51600344c8bd708e355a35786b10e3b744a9ee9b">516003</a></td><td>582 lines</td><td>01/20/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - refactor</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6faec84aa985b2c5394ae3ac9162bd96f34ecd0a">6faec8</a></td><td>145 lines</td><td>01/20/2012</td><td>re<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - support artifact URI in plan reader</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=76d43e682995bfb20e7aae3f0b9ea71ecab7a0bb">76d43e</a></td><td>175 lines</td><td>01/20/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - plan bridge tweaks, test case and code to make it pass, better diagnostics</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6b8b363b6d92ac472708fb146dfd0dc86eec8e2b">6b8b36</a></td><td>30 lines</td><td>01/20/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - Update to talk about uris in plans instead of urls</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3ee978fcfa2319dea53d26a67670baee0627651c">3ee978</a></td><td>2 lines</td><td>01/24/2012</td><td>fix source path</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f1eb15674e1db9134b917b53bf4cc32059214a8b">f1eb15</a></td><td>1 lines</td><td>01/25/2012</td><td>Avoid error in project setup</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0f9abbe4c385b6242ffeef830a2c38378174d2ea">0f9abb</a></td><td>2 lines</td><td>01/26/2012</td><td>fix source path</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=499240d650d4310d4a867593e7c7b484b705d11c">499240</a></td><td>105 lines</td><td>01/26/2012</td><td>358448: make GC roots available to plan implementation</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=12400ab3c6895c30557f1cb43e5da37e534c8032">12400a</a></td><td>128 lines</td><td>01/26/2012</td><td>365034: search DAG from GC roots for sharing during plan installation</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f706d8def7b73b5084bd00bad8bc41882efd6bac">f706d8</a></td><td>2 lines</td><td>01/26/2012</td><td>365034: temporary workaround until DAG interface is improved</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b9b19ec72e4744c132fd3c4466c522cac1de9178">b9b19e</a></td><td>467 lines</td><td>01/27/2012</td><td>365034: factor out visitor and rework plan resolver to cope with URIs pointing to artefacts which can be shared</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e97eccdc3eecf75cefe572aa85aa6ff0518d0b18">e97ecc</a></td><td>622 lines</td><td>01/27/2012</td><td>358448: avoid uninstalling shared children of plans</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a30076a8536dec2876665b56f7c960280390a99e">a30076</a></td><td>15 lines</td><td>01/27/2012</td><td>358358448: avoid uninstalling shared top-level artefacts</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8e7d9fad4bb11de299cead813f8ababe60dfc4dc">8e7d9f</a></td><td>70 lines</td><td>01/27/2012</td><td>358447: avoid stopping an artefact with at least one active parent</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=22ab655d06e17c55fd5d6494b3ef0fc45fc6dcba">22ab65</a></td><td>26 lines</td><td>01/30/2012</td><td>358447: support explicit stop of shared artefact</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a46cfb98a5ae42b3464f2ef796bc7af7fba72178">a46cfb</a></td><td>2 lines</td><td>01/30/2012</td><td>fix source path</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=28619e52885bea696ad4ff7eed507ecf27b7f14f">28619e</a></td><td>4 lines</td><td>01/31/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327538">Bug 327538</a> - artefacts referred to by URI from a plan must remain available</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ed52af8770b7c50629141c8975df40de06f302b5">ed52af</a></td><td>242 lines</td><td>01/31/2012</td><td>365034: refactoring to enable sharing to be detected before the file system is modified</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=bb89e06706de8107068ed60aff95f4c18f3601dd">bb89e0</a></td><td>80 lines</td><td>02/01/2012</td><td>365034: detect sharing before the file system is modified</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5d2c1a39a7bf71c9457c055b79cc2d1e87923946">5d2c1a</a></td><td>2 lines</td><td>02/01/2012</td><td>365034: pass scope name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=31ec71f4ec0dfc7796697885099c718dd1a4537d">31ec71</a></td><td>48 lines</td><td>02/01/2012</td><td>365034: refactor test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=521a7b8e0aae598e0b57e154cd14e36583222dfa">521a7b</a></td><td>82 lines</td><td>02/01/2012</td><td>365034: move repository responsibilities from graph inclosure to plan resolver</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a6a6f2ff32b5a092f0880dad517a5094020b550d">a6a6f2</a></td><td>254 lines</td><td>02/01/2012</td><td>365034: move artefact identity determination responsibilities from graph inclosure to plan resolver and pipelined application deployer</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fcb5175eaae234059ec0a49d499159831322a010">fcb517</a></td><td>110 lines</td><td>02/01/2012</td><td>365034: add test for case where plan references an already deployed artefact not in the repository</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=38e83705479e7bcbaa379227f7446e33a2d37a77">38e837</a></td><td>133 lines</td><td>02/01/2012</td><td>365034: add fix and further test - currently failing</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=bee2dd8fc7cc46488f7a1d4889fe12bed46f838f">bee2dd</a></td><td>2 lines</td><td>02/02/2012</td><td>365034: allow sharing by multiple plans</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6900b03951ae5ad2feb1a928ef5dca7a2e78fd2d">6900b0</a></td><td>2 lines</td><td>02/02/2012</td><td>fix classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e11deedd2b8ea6c745021d84c88e5379b96c2384">e11dee</a></td><td>2 lines</td><td>02/07/2012</td><td>fix classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7669351dc49b2484aec4508e644942381fe03de8">766935</a></td><td>126 lines</td><td>02/07/2012</td><td>358447: create test infrastructure</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fd1828fb7d405a82ccd6d77b0786def250dedfa1">fd1828</a></td><td>1,229 lines</td><td>02/08/2012</td><td>358447: create tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=029ffff4ac55c70b024410055c02435f63a7f28b">029fff</a></td><td>390 lines</td><td>02/09/2012</td><td>358447: make tests pass</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=85d2bfae2df115597d35fc64e002df3fcafd4dcb">85d2bf</a></td><td>84 lines</td><td>02/10/2012</td><td>358447: test raw bundle cases and fix recovery path</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=0b7147b919b131165031d1b29c45d54a9e9d9825">0b7147</a></td><td>4 lines</td><td>02/10/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=52a2db3aa3527533141b1492c1b622284ba99981">52a2db</a></td><td>30 lines</td><td>02/10/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=a1433924b853cf9866981fb96c0ed70540b7b2a5">a14339</a></td><td>20 lines</td><td>02/10/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=de350e1278053c8e7eabaaefcc67431764ad5fdd">de350e</a></td><td>26 lines</td><td>02/10/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=4d8ccd7516ed9bff7a49850d6df615bc29d36cf9">4d8ccd</a></td><td>8 lines</td><td>02/10/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=2aa81cf962e8d9b6d4f23f39cce7bff4e8c49ff7">2aa81c</a></td><td>8 lines</td><td>02/10/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=1c2dffdb2e59ab65a5f78dd8e4d82ce93a7fb9c4">1c2dff</a></td><td>24 lines</td><td>02/13/2012</td><td>358441: document shared artefacts usage</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=99df52a67ff691f7012c3fede6cb9a4a6cc4cc23">99df52</a></td><td>28 lines</td><td>02/28/2012</td><td>update dependencies to stable versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=7fd14794dcb13f55d45194ac958a1bb70142121b">7fd147</a></td><td>0 lines</td><td>02/28/2012</td><td>add missing directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=dedff1fb818c8e18be5c73d4abcfebce32728a20">dedff1</a></td><td>4 lines</td><td>02/28/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=371531">Bug 371531</a>: delete ANTLR bundle not covered by a full CQ</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=31d27b2dd00441d6373b82560e4d86ab2a829d7c">31d27b</a></td><td>7 lines</td><td>02/28/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=368781">Bug 368781</a>: include h2 bundle in PAR so that h2 classes can be loaded by commons DBCP via TCCL (esp.<wbr> when running with fix to <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360965">Bug 360965</a>)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=1756f4162f39f0f5e97fa3429b9198b090f4e370">1756f4</a></td><td>1 lines</td><td>02/29/2012</td><td>fix build path</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=34673a9d0e0dceb59c80146d952374e9494587e8">34673a</a></td><td>1,790 lines</td><td>02/29/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=371034">Bug 371034</a>: add Pre35DependencyLocator and associated classes and tests in support of Virgo 3.<wbr>0.<wbr>x and Virgo 2.<wbr>1.<wbr>x</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=03eaeb51a6a13a0cd6eb793ea268afcd67725cb3">03eaeb</a></td><td>85 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move projects to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=40da516212ffe58320e9c3f9116479104f0485b6">40da51</a></td><td>3 lines</td><td>03/01/2012</td><td>work around build failure</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=071b783d2fb8af8561bc0698c932b6a196676b74">071b78</a></td><td>36 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move projects to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=42a8e73307024619910bec94054404b67975ad96">42a8e7</a></td><td>10 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=f4795d62d37f380583859d64117e95af8b33373d">f4795d</a></td><td>75 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=002cce869bff290aa137a5c358ffefd0a996ec25">002cce</a></td><td>12 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=08191f7c43270498b37d6f829251c87939b1e99e">08191f</a></td><td>20 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=52e7408cb0215c027bfcc7151cf19e67721cd2b8">52e740</a></td><td>266 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=13ebaeaf0787a58cc1a111b0cf605cc8cf1542a9">13ebae</a></td><td>260 lines</td><td>03/01/2012</td><td>delete file added in error</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=3266a3d0c29bcbf963df8107626500ad6a070384">3266a3</a></td><td>72 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=c166938a00ce33039642888deca744f772882887">c16693</a></td><td>54 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=66b0ef737271681df520fb08e62121c39b388cda">66b0ef</a></td><td>24 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=369249">Bug 369249</a>: move to Virgo tooling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e00dc910d48e3e53f17d670ccc09a5beb0427a12">e00dc9</a></td><td>2 lines</td><td>03/01/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=370352">Bug 370352</a>: Incorrect hint from vsh</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a6ec0940d09d1d0916c3fcdfb42c0cf299044149">a6ec09</a></td><td>119 lines</td><td>03/06/2012</td><td>317943: change dependencies and imports from Spring DM to Gemini Blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d732729f5d7c88fbad66e8ebda1fd33c4b5fbb25">d73272</a></td><td>6 lines</td><td>03/06/2012</td><td>317943: change dependencies and imports from Spring DM to Gemini Blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9fbb4f7042a932d4c57243e64409b45a27b283fe">9fbb4f</a></td><td>40 lines</td><td>03/06/2012</td><td>317943: change integration test dependencies and setup</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=63bab51b715dffc0e000d990ccae4250f238658d">63bab5</a></td><td>42 lines</td><td>03/06/2012</td><td>317943: change build paths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=2d8d3e3167a46862052e4e6b96cf8d47e287b870">2d8d3e</a></td><td>8 lines</td><td>03/07/2012</td><td>373418: out of date Greenpages version in start directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=bfa77841fa57ef7b3bdabcb5a616cd3081c54d3d">bfa778</a></td><td>38 lines</td><td>03/08/2012</td><td>317943: more basic upgrade changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=13e534e1106d08273d57ab0c01c6539ec56eb0bf">13e534</a></td><td>12 lines</td><td>03/09/2012</td><td>317943: basic changes to move from Spring DM to Gemini Blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2fe7228ebd78bda142a5da59752956765e4fce58">2fe722</a></td><td>48 lines</td><td>03/09/2012</td><td>317943: upgrade nano</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=31b4e2346f1ce3b0a4e2181dbeb40aaf2317831c">31b4e2</a></td><td>41 lines</td><td>03/09/2012</td><td>373635: rework test since Gemini Blueprint service reference lifecycle is different to that of Spring DM 1.<wbr>2.<wbr>1</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=adabc207c7631e1f87a642a9cb1ac070bb8e14d3">adabc2</a></td><td>6 lines</td><td>03/13/2012</td><td>317943: improve logging in integration tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e12b57d0c3ef731bfeb4d40653032fb4bd1bf70f">e12b57</a></td><td>42 lines</td><td>03/13/2012</td><td>373635: upgrade nano</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=eb084245bb3affc5f24888c8c8acc734d8ae00ca">eb0842</a></td><td>16 lines</td><td>03/13/2012</td><td>373635: Gemini Blueprint does not assign a bean name service property to services based on anonymous inner beans, so do not assume that the lack of a bean name implies global scope.<wbr> Also, treat Blueprint (application) contexts as belonging to the global scope for compatibility with the old Spring DM 1.<wbr>2.<wbr>1 behaviour</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d366bafc93585e79c2fcc8588f5d9b1c0b105a76">d366ba</a></td><td>36 lines</td><td>03/13/2012</td><td>373633: fix testcase</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1096e9f44b4269c34ad24aed0f97357f287656e6">1096e9</a></td><td>3 lines</td><td>03/13/2012</td><td>373634: fix testcase</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=ca37047293612a3c05cad694ddb32286a432da1a">ca3704</a></td><td>64 lines</td><td>03/14/2012</td><td>317943: change dependencies and imports from Spring DM to Gemini Blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=3a56644ebb16568cc663b2dbe4c465d2512ad969">3a5664</a></td><td>4 lines</td><td>03/14/2012</td><td>317943: change to Gemini Blueprint version variable name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6b44623da1e849f0687e9c5f30b28e6407fe3032">6b4462</a></td><td>230 lines</td><td>03/14/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d97f6ab54c884acf96349c822b3b7bb23bcc63d8">d97f6a</a></td><td>2 lines</td><td>03/14/2012</td><td>317943: old Spring bundles needed for tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=34ab2b39a87ef086bd2dbf43ac08cb95ae138b16">34ab2b</a></td><td>19 lines</td><td>03/14/2012</td><td>317943: update dependencies from Spring DM to Gemini Blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=9877f12422118c8b129923547d4a736650e32cb0">9877f1</a></td><td>9 lines</td><td>03/14/2012</td><td>317943: update dependencies from Spring DM to Gemini Blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=b7ff35c5675c6748a2474bc7d5a8a5e32cb139df">b7ff35</a></td><td>8 lines</td><td>03/14/2012</td><td>317943: update dependencies from Spring DM to Gemini Blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=c497b47ea0bdca313a648b60b2603f29b01872a1">c497b4</a></td><td>10 lines</td><td>03/14/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=1faa31acf3d5659c180985ac7c7109f38297489f">1faa31</a></td><td>48 lines</td><td>03/14/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=693af3a125ad8bf0528c5646c53c254ab9a94092">693af3</a></td><td>30 lines</td><td>03/14/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=5c82c529bac6382e11f8dada8594690bc7845d2b">5c82c5</a></td><td>14 lines</td><td>03/14/2012</td><td>317943: basic changes to move from Spring DM to Gemini Blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=424905e9f59c80353737752db9c1eca974359a53">424905</a></td><td>2 lines</td><td>03/15/2012</td><td>374277: propagate SnapFactory services out of any containing scope</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=c62eb67d2e57ab511431ea924c2b2146e3cd6e06">c62eb6</a></td><td>2 lines</td><td>03/15/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=5d724c5d7f39dd0d8db01174798a53aa2f0149e2">5d724c</a></td><td>42 lines</td><td>03/15/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=7779b1ffd3cb9c5466f8e480ea8de8d6e3751571">7779b1</a></td><td>8 lines</td><td>03/15/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=85c61ef34a8671c77233a225462336c23c88fc6b">85c61e</a></td><td>8 lines</td><td>03/15/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=bbe67bb8f2943319c219a2bf3c8a0e3f1ba16f37">bbe67b</a></td><td>161 lines</td><td>03/16/2012</td><td>317943: add Blueprint support to SpringUtils</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d97cdabda2954c46128e905c86070e8472160f11">d97cda</a></td><td>45 lines</td><td>03/16/2012</td><td>317943: upgrade snaps to pick up blueprint support in SpringUtils</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6ce3514f1729c23b1a0340ed9fa1ebc04e4384a4">6ce351</a></td><td>6 lines</td><td>03/16/2012</td><td>317943: close some streams</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c0351391426d8b5357a1752bb51702f7e65b9d5f">c03513</a></td><td>162 lines</td><td>03/16/2012</td><td>317943: add blueprint tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=df4687735ba94c60801bff6f93d850d9d75ffa67">df4687</a></td><td>24 lines</td><td>03/23/2012</td><td>317943: prefer blueprint events generated from Spring DM events over "native" blueprint events which sometimes lack bean names</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=25d93cc5b30f84416dee38f19ba132a15dcbbf4b">25d93c</a></td><td>44 lines</td><td>03/23/2012</td><td>317943: upgrade nano to pick up blueprint diagnostics fix</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=2ed204baa681d9e73dfc5076cd0bb1277d9a361f">2ed204</a></td><td>6 lines</td><td>03/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=eb9e420b49f42041a7fe306168ec80ddc0ac3be3">eb9e42</a></td><td>42 lines</td><td>03/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=03317daaef32b1777a1f161d100b3120823f90e9">03317d</a></td><td>26 lines</td><td>03/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=2026bd60c99433aa4acae2665f4e9605d37c1b9d">2026bd</a></td><td>34 lines</td><td>03/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=dc9e43a8d3da47dde8238ea4336e6da8972469da">dc9e43</a></td><td>8 lines</td><td>03/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=1cdefc47723a31ece854ff103d443ef5681d9e0e">1cdefc</a></td><td>8 lines</td><td>03/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=cf20d5860bdf74b858de0153bcce3984b2624330">cf20d5</a></td><td>42 lines</td><td>03/23/2012</td><td>317943: upgrade nano</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=c6aa127a4f1e2156923d2f256f3cf87647ce04ea">c6aa12</a></td><td>21 lines</td><td>03/26/2012</td><td>367831: set user bundle start levels appropriately</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=097f8cdf56becf704219b3663c702e90d309e704">097f8c</a></td><td>106 lines</td><td>03/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d8ec7abfa8c5e75dea3384c6b74778b799c9dd95">d8ec7a</a></td><td>6 lines</td><td>03/27/2012</td><td>367831: set default start order to 4 to match the kernel</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=c8efeeaa50ae3a3bb7af7c236e56206fd8098cfd">c8efee</a></td><td>2 lines</td><td>03/27/2012</td><td>367831: set default start order to 4 to match the kernel</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=217488daac03c841c12af38436a9801c952bfbe7">217488</a></td><td>33 lines</td><td>03/27/2012</td><td>367831: set start level to 4 to allow start level 4 bundles to start</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=8509bd951ac2ee4241bf744048b57f32c60a9567">8509bd</a></td><td>4 lines</td><td>03/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=bd73ceeb45b61cff09bdf1675996d3079eddbf52">bd73ce</a></td><td>6 lines</td><td>03/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=2a2756d086b4d7bfcbb229c403daa5b991165249">2a2756</a></td><td>30 lines</td><td>03/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=471e4ba42bca4afe03199f68eb14e4e855e2c508">471e4b</a></td><td>106 lines</td><td>03/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4f7b4418d913d5679dd9497e39a76b4ccff1ae05">4f7b44</a></td><td>4 lines</td><td>03/28/2012</td><td>fix unmerged delta clash</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=4d200f7a8d62507e2195b230c5629f90ec887e4f">4d200f</a></td><td>18 lines</td><td>03/28/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=28bc489334e136451be464ae2813af649cef190d">28bc48</a></td><td>60 lines</td><td>03/28/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=fab4b2332694b7af6029aa4ecc0b49df630e5a5b">fab4b2</a></td><td>2 lines</td><td>03/28/2012</td><td>367831: restore correct version of Gemini Web</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=00aae6844aaeba2b074f9d1c42b9ba534b3dd764">00aae6</a></td><td>1 lines</td><td>03/28/2012</td><td>Remove file added by mistake</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=a51b9a4b32c6e74e1a16cd0d50485a1deb84cd93">a51b9a</a></td><td>1 lines</td><td>03/29/2012</td><td>remove submodule</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=f5318cb2191746b09afaca52a8e01a66e39723f0">f5318c</a></td><td>1 lines</td><td>03/29/2012</td><td>add submodule</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=4d1d0c777ce86ffef633dc284f784b375f584f35">4d1d0c</a></td><td>24 lines</td><td>03/29/2012</td><td>317943: update User Guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=64e0a17c2bcd833b1fe3b225bf13f411dc752268">64e0a1</a></td><td>20 lines</td><td>03/29/2012</td><td>317943: update Programmer Guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=aede744a3eeed5eb47bac7d3cbaf3240983c7c5c">aede74</a></td><td>8 lines</td><td>03/29/2012</td><td>Upgrade Gemini Web and Tomcat and rename the build version variable for Tomcat to org.<wbr>apache.<wbr>catalina for consistency with the web integration layer</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=186953be1a20d83ad36c85112d21ad01cc9d0f3a">186953</a></td><td>4 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=d88504d90d515d4aca52462bb3b949c26fd990d3">d88504</a></td><td>16 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=443851fa119f214bafda1e1461b8a0a0d8bcd7d8">443851</a></td><td>28 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=e74307d28023fe29df56a8214c4378f190f8013d">e74307</a></td><td>22 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=b26ec617bae87b30f52ec4245f8dd792b28b9458">b26ec6</a></td><td>66 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=44a1ef95ff6960c5d7584ba9e665a17efbcc44ce">44a1ef</a></td><td>232 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=dca804fcdcf514f5378b52dce6ff8cfce219276b">dca804</a></td><td>32 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=ec31c3ac774d39a542874fe973de82cd4715ea3a">ec31c3</a></td><td>92 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=e0d945adb2cc4608fbce6d9d488abcf594dea9df">e0d945</a></td><td>78 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=350ea5cb2a7bfc76199b3f1ff8f187e6c130f0c7">350ea5</a></td><td>86 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=5eefd6915a422a4ae9419601df8e02b7f68d36b9">5eefd6</a></td><td>16 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=70ef8375d41132b515bc8c2671f2df9550ae3163">70ef83</a></td><td>2 lines</td><td>03/29/2012</td><td>368157: move virgo management feature into base product for propagation to other packaging repos</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=fd50ed7fcc7ebb1c48f3fec81b7a4f6fb90eb658">fd50ed</a></td><td>4 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=e4897762b54809abfe8b56e4db215d361261ede9">e48977</a></td><td>30 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=6535fd101f067fdfed5bd4702226c9189585434b">6535fd</a></td><td>20 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c4b440101d9e5af6ad9cd6755eb4cd7a59fecafc">c4b440</a></td><td>26 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=9dad514110115dd2cffc2127ea0a20a55f64f8ea">9dad51</a></td><td>8 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=c1795cbbad32c6f2690ae56995b0a2650bbf67da">c1795c</a></td><td>16 lines</td><td>03/29/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=af905e836291091c5c82dbadb250e01470b5c85f">af905e</a></td><td>16 lines</td><td>04/02/2012</td><td>375643: fix NPE</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=63dfb23483604a4d19158d895d063e313f901941">63dfb2</a></td><td>8 lines</td><td>04/02/2012</td><td>373595: upgrade Gogo to 0.<wbr>10.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b2b2b5feb3279059b41df528605cafa8cd0d6e2c">b2b2b5</a></td><td>24 lines</td><td>04/02/2012</td><td>373595: upgrade Gogo to 0.<wbr>10.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=c52147983ce4f88c2829fa6455806a1b047c2010">c52147</a></td><td>4 lines</td><td>04/03/2012</td><td>374259: replace sysouts with logger infos.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=bc581df331cb3778ef5a0cc9639b3bd6d2a089d4">bc581d</a></td><td>6 lines</td><td>04/03/2012</td><td>suppress deprecation warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=1715b366666b9410c7e9cc46405906448789da60">1715b3</a></td><td>54 lines</td><td>04/12/2012</td><td>Remove public, mutable statics from Request</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=596bf6ccbb8cea294e3fd92b8e512919d69a2456">596bf6</a></td><td>12 lines</td><td>04/12/2012</td><td>Tidy up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=80a8493804ef2f760541789975e88722eb6bea31">80a849</a></td><td>22 lines</td><td>04/12/2012</td><td>Manifest update</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=1fcb86f122da8fd678c13844b7d3512281714807">1fcb86</a></td><td>36 lines</td><td>04/13/2012</td><td>375313: JQuery 1.<wbr>7.<wbr>2 changes to the overview page</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=11585e407aefec97f1ff8bcf77f08db641e98f21">11585e</a></td><td>5 lines</td><td>04/13/2012</td><td>manifest update</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=2ff63b3be1e1545516164b08f60ad942260e5658">2ff63b</a></td><td>8 lines</td><td>04/13/2012</td><td>375313: improve documentation links from overview page.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d93f430774eb40371a5d455081141d8a87dfc61f">d93f43</a></td><td>34 lines</td><td>04/13/2012</td><td>375313: generalise row creation logic</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=b3b82f54199ebed66081162897e4e52d1e639235">b3b82f</a></td><td>20 lines</td><td>04/13/2012</td><td>375313: delete old comments</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=8ab61f426a241cf041c2795cdd1455ec78b11678">8ab61f</a></td><td>13 lines</td><td>04/13/2012</td><td>375313: extend and reformat host information</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=38dd8d6728aa23575920ff511f22afa66119a384">38dd8d</a></td><td>11 lines</td><td>04/16/2012</td><td>376537: delete SpringSource branding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=247201a96825ae01a9a092b4051f3541b484ecfb">247201</a></td><td>9 lines</td><td>04/16/2012</td><td>376537: delete SpringSource branding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=b8ac7ecab5b2ce17fe82bded36e87f07b5055e42">b8ac7e</a></td><td>6 lines</td><td>04/16/2012</td><td>376537: delete SpringSource branding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=65829d01e7557e5f262b136ede1399c7ba040f02">65829d</a></td><td>3 lines</td><td>04/16/2012</td><td>376537: delete SpringSource branding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f47cc7957b6fb4ef7c19c331ea4dbaaf0e9eb4cd">f47cc7</a></td><td>1 lines</td><td>04/16/2012</td><td>376537: delete SpringSource branding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=370de1a51b5ae572faa7a06958c165082b1c9639">370de1</a></td><td>3 lines</td><td>04/16/2012</td><td>376537: delete SpringSource branding</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=89fecd4b6bda920cdf5a19b6d457ee2ef53967c1">89fecd</a></td><td>121 lines</td><td>04/16/2012</td><td>375314: introduce JQuery stubs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=9d124aa7fc67a8968eb721650f6544df8e6613c4">9d124a</a></td><td>66 lines</td><td>04/16/2012</td><td>375314: complete testcase</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=0af5dfa8c70fd1e9625cb8771e692af351f026f5">0af5df</a></td><td>7 lines</td><td>04/16/2012</td><td>375314: improve testcase</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=7d71184995f5bdb5176cedaf9eb3b9deffd05a79">7d7118</a></td><td>40 lines</td><td>04/17/2012</td><td>375314: complete testcase</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=314613623bbde3bbdb3fc1f52a261fb745bc2f2c">314613</a></td><td>0 lines</td><td>04/17/2012</td><td>add directory to prevent eclipse build error</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=165f5d6e957ae4a6e85d968af6fda2d3e683bd8f">165f5d</a></td><td>293 lines</td><td>04/17/2012</td><td>376854: start migration of repositories tab to JQuery</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=a369a5855175549260dff287d86bd733adf0b44a">a369a5</a></td><td>4 lines</td><td>04/18/2012</td><td>fixes to get a clean build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=2dfbe43be6bd237bf16252b98e4d230dd44f21ce">2dfbe4</a></td><td>1 lines</td><td>04/18/2012</td><td>add Tooling Guide to list of references in the Programmer Guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=fe4a5e29baa5d74d5021308fc8d29620a4f8d4cb">fe4a5e</a></td><td>4 lines</td><td>04/18/2012</td><td>Add notice to clarify the purpose of this git repo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c84ee5fd608147930c25d40f3aa4be9c4149075c">c84ee5</a></td><td>14 lines</td><td>04/18/2012</td><td>376854: add hover support and drive empty deploy function</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=58e061ac42ee97ab4b5223fb1b890be5c0b32603">58e061</a></td><td>154 lines</td><td>04/18/2012</td><td>376854: implement deploy function</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6b00d6c5248141afc6ff34a0809751363edbb25e">6b00d6</a></td><td>44 lines</td><td>04/19/2012</td><td>376854: initial implementation of sorted table</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c636d7c0c966af903100a2e3052b1b159d38b929">c636d7</a></td><td>42 lines</td><td>04/19/2012</td><td>376854: reverse sorting</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e30a4b1956662908198dbf88879fc934451ac0cd">e30a4b</a></td><td>17 lines</td><td>04/19/2012</td><td>376854: re-zebra after sorting</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=2b3a5fb693565486c2f5a0e085b89aa0bbf52eab">2b3a5f</a></td><td>44 lines</td><td>04/19/2012</td><td>376854: support sortIndex on makeTable</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=ed219995191b4750df73afb40fe3707807232f91">ed2199</a></td><td>6 lines</td><td>04/19/2012</td><td>376854: tidy up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c3042f91fe4c8163396f112430e32009d471fd91">c3042f</a></td><td>30 lines</td><td>04/19/2012</td><td>376854: indicate sorting and reverse sorting by appropriate arrows</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=48f04f3ed7d3b212944b880b938583f6d676db5c">48f04f</a></td><td>14 lines</td><td>04/19/2012</td><td>376854: re-decorate tree after sorting</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d588bfe131a7b54aaa94b59217c964d8582d559c">d588bf</a></td><td>6 lines</td><td>04/20/2012</td><td>376854: use more JQuery</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=91c44cb7f29031ba3526f588424c2c0d23a017ce">91c44c</a></td><td>2 lines</td><td>04/20/2012</td><td>376854: use more JQuery</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=705d982e138566a84ccec93290738f594d31c905">705d98</a></td><td>42 lines</td><td>04/23/2012</td><td>376856: test pageInit</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=690d9ed9b7e75cbd641fc87b9f9bf296a7bbd7d3">690d9e</a></td><td>73 lines</td><td>04/23/2012</td><td>376856: test renderRepositoryMBeans</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=822d9f38a61f530d57c20f065fc928f8518749c9">822d9f</a></td><td>42 lines</td><td>04/23/2012</td><td>376856: test display and renderArtifactDescriptorSummaries</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e8da0254ce4f3a896307de307b2e83f43ccfc0dd">e8da02</a></td><td>20 lines</td><td>04/24/2012</td><td>377392: avoid throwing an exception if the coregion has no edges</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c4ab7b63b54eaeaa995056e302a7d2fef9974056">c4ab7b</a></td><td>81 lines</td><td>04/27/2012</td><td>376856: test deploy</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=484937d5a19de15e03fde75fbd9441e2271f19be">484937</a></td><td>42 lines</td><td>04/30/2012</td><td>373595: upgrade nano</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=5a565c81d8a28ef11fbc03cbfa4fcf2afd0da040">5a565c</a></td><td>202 lines</td><td>05/01/2012</td><td>375317: basic support</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=1d290765d5452deb83398e0b033645d9e0dd1322">1d2907</a></td><td>31 lines</td><td>05/01/2012</td><td>375317: cope with manual deletion of currently selected dump</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=ac4a02bfb8b62de9de67f9f178b0618332524b71">ac4a02</a></td><td>18 lines</td><td>05/02/2012</td><td>375317: improve dump entry selection and handling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=80ed96b7ec94b758837e53e3e3605869409f532e">80ed96</a></td><td>143 lines</td><td>05/02/2012</td><td>375318: start dumps.<wbr>js test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=06ba6b6a0600ffaa0a174ed7d6184e1d09317dcc">06ba6b</a></td><td>2 lines</td><td>05/02/2012</td><td>376854: correct indexing</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=03057b727c81229e9f788e3cf142f59a435a926a">03057b</a></td><td>20 lines</td><td>05/02/2012</td><td>emulate JQuery id selector</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=84468776f1d13849d6031b5d17f5edf3dfdea45b">844687</a></td><td>27 lines</td><td>05/03/2012</td><td>375318: test displayDumpEntries</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=8f8db43abab6d75543f86bb4fe408879d09f6b31">8f8db4</a></td><td>35 lines</td><td>05/03/2012</td><td>375318: test displayDumpEntriesResponse</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=8abe3082bbd91ba4d1d2bfdbfc80ca82ab971ed5">8abe30</a></td><td>4 lines</td><td>05/03/2012</td><td>375318: test displayDumpEntriesResponse</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e711c303c371074af88a835563c7340d11e0cfc0">e711c3</a></td><td>39 lines</td><td>05/03/2012</td><td>375318: test displayDumpEntry and displayDumpEntryResponse</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a4d0d1828af0cf69bf2aa210cf4557210c5f2cd7">a4d0d1</a></td><td>11 lines</td><td>05/03/2012</td><td>375318: test createDump</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=3380264aa2acc694bd6408f11e3090eb880403e7">338026</a></td><td>21 lines</td><td>05/03/2012</td><td>375318: test deleteDump</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=0ef1aea9b28750e29312021dcf5b308dbeec5f99">0ef1ae</a></td><td>2 lines</td><td>05/09/2012</td><td>378229: incorrect version in Maven plugin</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=990fa391a3dca6dcb64a25dbef6f6f163c57d435">990fa3</a></td><td>6 lines</td><td>05/09/2012</td><td>add import for javax.<wbr>persistence</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=465cd8a9a471e0f4e39658a6aeb8299dd031ea56">465cd8</a></td><td>26 lines</td><td>05/09/2012</td><td>Reversioning to 2.<wbr>6.<wbr>0 after release of 2.<wbr>5.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=7ef28d73c5706e864395b47f814ac2993df6705b">7ef28d</a></td><td>8 lines</td><td>05/10/2012</td><td>Revert "373595: upgrade Gogo to 0.<wbr>10.<wbr>0" - deferred to after Juno.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e18d36d0185e6877607f3c6b64ea39b547afdd61">e18d36</a></td><td>64 lines</td><td>05/10/2012</td><td>Revert "373595: upgrade Gogo to 0.<wbr>10.<wbr>0" - deferred to after Juno.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=8b73a944602a7dbd10c7fb4bb5681df0f803b93f">8b73a9</a></td><td>0 lines</td><td>05/16/2012</td><td>add empty folder back</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=09f5f1b71b3225ed9b334f082eae3a34fc1b0786">09f5f1</a></td><td>37 lines</td><td>05/17/2012</td><td>379099: send upload locations back to client and retrieve them there</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=9724ac275a6dcb7f106ec2a4c12de92754dac15a">9724ac</a></td><td>17 lines</td><td>05/17/2012</td><td>379099: upload to staging directory inside work directory</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c1e01cf85615bf5f02695e6f05a3e9e1dd06701b">c1e01c</a></td><td>33 lines</td><td>05/17/2012</td><td>379099: deploy uploaded artefacts using JMX</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a00b6fb5205e9af7521f0593d59718d3ba877f17">a00b6f</a></td><td>19 lines</td><td>05/17/2012</td><td>379099: report upload complete when all deployment requests have been sent</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a8e0d63ff2bb3a51f4242353ed1e6dd90958e8b6">a8e0d6</a></td><td>7 lines</td><td>05/17/2012</td><td>379099: report upload complete when all deployment responses have been received</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=24812cfe17e3f6bcd7304c582d1117af04615a90">24812c</a></td><td>38 lines</td><td>05/17/2012</td><td>379099: unify terminology and polish error handling</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6a0e4ad9b9f7301226c10dabc5cb43430ea424fa">6a0e4a</a></td><td>4 lines</td><td>05/17/2012</td><td>379099: tweak wording</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=ce05612e0e9d3b64db88bbf4d502383ae0fc4437">ce0561</a></td><td>2 lines</td><td>05/17/2012</td><td>update copyright</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=b527a421c6d9917039eb2f7287eecd87c7241425">b527a4</a></td><td>40 lines</td><td>05/21/2012</td><td>379099: upgrade unit tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=a725d61360e747d7198e19e8fb225ba27a7e56d7">a725d6</a></td><td>39 lines</td><td>05/23/2012</td><td>add draft Q&A</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=e5dbb1b4152026055d4433509bd14e89aab40bf4">e5dbb1</a></td><td>4 lines</td><td>05/28/2012</td><td>editorial changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5bf3c1616d70f9b026008c1ba98b6686e8b2d72d">5bf3c1</a></td><td>2 lines</td><td>05/28/2012</td><td>Revert "[UPDATE BUILDLOR] Updated Virgo Build to '2.<wbr>22'"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0c780ce863d417cce6b8ae240fa0550db516f5ce">0c780c</a></td><td>3 lines</td><td>05/28/2012</td><td>Revert "<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=377355">Bug 377355</a> - Consume in Virgo the latest version of equinox shell - update tests configuration"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ea3fe648c796807840cce012b03150ee41ade70f">ea3fe6</a></td><td>7 lines</td><td>05/28/2012</td><td>Revert "<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=377355">Bug 377355</a> - Consume in Virgo the latest equinox shell.<wbr>"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ac361c708cf722a43afbddd76a969f50f1426941">ac361c</a></td><td>68 lines</td><td>05/28/2012</td><td>370253: support JDBC driver cleanup in Java 7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=e876b57b1e4858c96c724a584afc45e4ef5cbc50">e876b5</a></td><td>2 lines</td><td>06/08/2012</td><td>379773: Goal Prefix should be single word</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=dfc3f17657223a005e4b6f939ea7674409583ba8">dfc3f1</a></td><td>4 lines</td><td>06/08/2012</td><td>379770: Update plugin version to match project</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=fbd198bdf52583d2f639da6393ca3fad6fcd5e5b">fbd198</a></td><td>2 lines</td><td>06/11/2012</td><td>bump version for 1.<wbr>1.<wbr>0.<wbr>M05</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d147977cd2eef5e7fa8c6e0e2c329c0d8fe3e056">d14797</a></td><td>2 lines</td><td>06/15/2012</td><td>382650: update old plan version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=957fe636e8c6a69d200dfa490f979f2eaac319a3">957fe6</a></td><td>2 lines</td><td>06/15/2012</td><td>382650: update old plan version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=bcbc0844c976b57fd29d6751cb343cab02a7a27f">bcbc08</a></td><td>5 lines</td><td>06/19/2012</td><td>Temporary debug configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=4b441a4c933cd4338a2d75ee81d0853aedf9a7b9">4b441a</a></td><td>5 lines</td><td>06/19/2012</td><td>382963: delay testcase to prevent race with snap being published</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=297e482702c96b48a636cafd2ba00eaa9abd13e3">297e48</a></td><td>16 lines</td><td>06/19/2012</td><td>382963: delay testcase to prevent race</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=110cabca5f7e5b2518502042afe3650507b5f000">110cab</a></td><td>5 lines</td><td>06/19/2012</td><td>Revert "Temporary debug configuration"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=603f334f5e27c07a60e1d2357b849bf1ad1bfc01">603f33</a></td><td>4 lines</td><td>06/22/2012</td><td>383312: delete junk text</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=dccc7c097e5531e994ee2a399d0f6d024c22ccbb">dccc7c</a></td><td>12 lines</td><td>06/22/2012</td><td>misc docs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=03e511b44b3ec7b5b78399b32b31eae6af27a47b">03e511</a></td><td>4 lines</td><td>06/25/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=90f0a48277648eade08249c1715fcb1d4d5c33be">90f0a4</a></td><td>30 lines</td><td>06/25/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=b0c4eeb37546d8d245ede0eea555aa9699bf1906">b0c4ee</a></td><td>20 lines</td><td>06/25/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6c576cf17d2f545a64b80ee2da5b8b3a206fe9e8">6c576c</a></td><td>26 lines</td><td>06/25/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=ad80ce4373a06d9bab05027f54b92a7212a9004a">ad80ce</a></td><td>8 lines</td><td>06/25/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=9d2aab85b9e8436829d5c3e5ac998421bb88869c">9d2aab</a></td><td>8 lines</td><td>06/25/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=9708f8a7307453370cdd4d24a37b57b64c5ee082">9708f8</a></td><td>20 lines</td><td>06/25/2012</td><td>update ant sample</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=5cadb73efbfc3914da6a91d93ebce55251660bd2">5cadb7</a></td><td>80 lines</td><td>06/26/2012</td><td>382252: Ant doc</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=9d5526a43d4b4dd336b34f812bd23e5d4c0ee8bf">9d5526</a></td><td>68 lines</td><td>06/26/2012</td><td>382252: Maven doc</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=498bd67e287c230e17f59c714b4a470e462cb136">498bd6</a></td><td>355 lines</td><td>06/26/2012</td><td>382252: editorial changes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=b41be178afdd0fb78a29decba7ad26093a038a12">b41be1</a></td><td>251 lines</td><td>06/26/2012</td><td>383527: improve about file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=fe6d979f0f1d95cdc52c63df3e69646873bf795a">fe6d97</a></td><td>39 lines</td><td>06/26/2012</td><td>383527: improve about file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=0c1cafba733b7967d20e5277ca9420e0b8de7291">0c1caf</a></td><td>2 lines</td><td>06/26/2012</td><td>383527: improve about file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=d10568acc90d7af6e26928492579d961eec7dc4e">d10568</a></td><td>2 lines</td><td>06/26/2012</td><td>bump version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ad62ac6adabb86ee3a1af54aa29a56fa13dafc76">ad62ac</a></td><td>21 lines</td><td>06/28/2012</td><td>Fix classpaths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=7b64fae2f5274ea1986a13c8b16f13bc74de0da8">7b64fa</a></td><td>6 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=d2f71db03b0c3696a8dbee7ae22d212d26b1e8d2">d2f71d</a></td><td>16 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=5f5f2088dd73ad2464b612f817d4c2709b0d103c">5f5f20</a></td><td>18 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=e13803a4ea859b8e70702cd722a9a4e2e5047a83">e13803</a></td><td>38 lines</td><td>07/03/2012</td><td>upgrade Virgo util dependencies</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=741931093e88f6c67b8bf744bb62f629b5901f62">741931</a></td><td>22 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=2a2bcd4c029cbed1cc520a065ec5d0d75c20ebfa">2a2bcd</a></td><td>60 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d5dfdbb6a9f317050b703e2a67083bf75f9a2248">d5dfdb</a></td><td>238 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=bfd5c7be76919cdd4693ffe2394cefbd38ea7448">bfd5c7</a></td><td>32 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=00d0c2a4a2f3f6ea93013e1b2290d09b101b6232">00d0c2</a></td><td>92 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=132e935051ec006f59d04d214f794ed5cc796987">132e93</a></td><td>76 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=c7cb778e695f93ce637512c6866addf7a5bf4b20">c7cb77</a></td><td>2 lines</td><td>07/03/2012</td><td>384134: fix Windows classpath setting</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e183c3edc3ffa458dce198fc2b027a3e47c91ad6">e183c3</a></td><td>84 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=ed1539f658b19cca20949bf243ff3ef485daf9b2">ed1539</a></td><td>2 lines</td><td>07/03/2012</td><td>update plugin version</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=e3590583d3f7ad8f70bd720f7ea9f8ae56097c5a">e35905</a></td><td>22 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=0457aa74ac0ca33f3d5512f45b87d492040ac3bb">0457aa</a></td><td>22 lines</td><td>07/03/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=7890b6d3e84353d7ee957b91e0acb7a38cd386f9">7890b6</a></td><td>6 lines</td><td>07/05/2012</td><td>Change full name of VTS to conform to Apache Tomcat legal rules</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=17811629f0b9135d44141108499cae359b01204d">178116</a></td><td>67 lines</td><td>07/05/2012</td><td>383874: add new test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=adc65845f759896371ffd0128878dece39350a96">adc658</a></td><td>71 lines</td><td>07/05/2012</td><td>383874: move factory to implementation package</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e7b90960e16002a6fc4344ca041bf5df2cd95f97">e7b909</a></td><td>54 lines</td><td>07/05/2012</td><td>383874: create new implementation type and plumb it in</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2c349f796a6092774b7b194a54c6a9d10df2ff7e">2c349f</a></td><td>228 lines</td><td>07/05/2012</td><td>383874: more implementation and tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ee027cdda778bbae0a3f78ff5880dfb102ea1c7d">ee027c</a></td><td>143 lines</td><td>07/06/2012</td><td>383874: more tests and fixes</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fc659e33156dfa190578b31cf40abeb7ad470e21">fc659e</a></td><td>8 lines</td><td>07/06/2012</td><td>383875: do not unpack JARs and WARs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0f5f00a31542978cf7d866521a054fbe0f625318">0f5f00</a></td><td>103 lines</td><td>07/06/2012</td><td>Revert "383874: move factory to implementation package"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=057a46c062e1eeff031f5b66ad53efbcf3751ad8">057a46</a></td><td>5 lines</td><td>07/06/2012</td><td>383874: fix compilation errors</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=12ba98a0736edf2a963db2548eb6664e44fef163">12ba98</a></td><td>2 lines</td><td>07/06/2012</td><td>correct test failure message</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=34cde63d1260ca83e99a10cd9fc0463721be9071">34cde6</a></td><td>2 lines</td><td>07/06/2012</td><td>correct test failure message</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=182dba5c67ab53b18ab4837a1fdd9c1380606f29">182dba</a></td><td>2 lines</td><td>07/09/2012</td><td>383875: use relative path name for manifest to get correct behaviour in Jar implementation of ArtifactFS</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.eclipse-mirror.git/commit?id=50660e0e669a71139d58578739348088e0f7de78">50660e</a></td><td>2 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=3ae1c3d8b46a26073d1fdf83df8c452d78428c29">3ae1c3</a></td><td>2 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=f340dac616aa524017059855b3fea2d4e52b7f88">f340da</a></td><td>2 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=ef45a85f013ad82dea77d4bb613c1a8f1d048c8d">ef45a8</a></td><td>2 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=50e1b4c3159507a00258af8d11fa767bcb1d9f3b">50e1b4</a></td><td>4 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=92d607ca023617ebd0431443c6d37d57894391ac">92d607</a></td><td>4 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=8bb4cbe4e75dd7f5b9311867d66f10d2e5f7786e">8bb4cb</a></td><td>2 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=6d1d72dc918734bbc23f89ef01086f0c3050074a">6d1d72</a></td><td>8 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ee1c2cef441603c5670050c0b3f87935a7d66940">ee1c2c</a></td><td>8 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=ff9a410aaf38fd8891a0e70559182924bbc305ce">ff9a41</a></td><td>4 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=64ff2708f2648ba79b3f1b631961c8d30533fc73">64ff27</a></td><td>4 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=1ebdecf18a1fb24e601c0a18b6f084a1e36b2b0d">1ebdec</a></td><td>4 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=84f22f06d72a32fab5583bf4cf3897f3a8c54e7d">84f22f</a></td><td>4 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=8735c0c2da06eef126730831be570d6260ecd09d">8735c0</a></td><td>2 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=8052dc0dfccbe284a63eb3cc9d9d481a98403faf">8052dc</a></td><td>2 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=a67bbba9c9896fc53ae521f530c3bbd59d5f5909">a67bbb</a></td><td>2 lines</td><td>07/10/2012</td><td>384348: re-version to 3.<wbr>6.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6afb5917ce7a98e70c8fc2ba16c0703b24fe968a">6afb59</a></td><td>16 lines</td><td>07/11/2012</td><td>version changes to get integration tests to pass</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=c58051c1dce7359131aeb2c526f315fc1846d298">c58051</a></td><td>8 lines</td><td>07/11/2012</td><td>version changes in test profile</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=9486517731d1bc68347b8bafb483bdc39bc65433">948651</a></td><td>8 lines</td><td>07/11/2012</td><td>version changes in test profile</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=43de6182784be2013212d9c87ef2584f8c7d701a">43de61</a></td><td>8 lines</td><td>07/11/2012</td><td>version changes in test profile</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=314be7b4f793b8e1694ca191c5a66f7646e3500b">314be7</a></td><td>8 lines</td><td>07/11/2012</td><td>fix versions in java6 profile</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=4039dcee1700c6b98916cde03abede9d354c549f">4039dc</a></td><td>6 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=78c0f5895bd98ff6897d8e31e8f4891b1ea99012">78c0f5</a></td><td>16 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=c6dcedf805003f860388bd0d86a11f4fe60fa4fd">c6dced</a></td><td>18 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=56340ba7cb2a6c6f1a5fe6335dd94caa2fd59bb4">56340b</a></td><td>22 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=3589bdc91adac3dba8e174c5a512c26553476d77">3589bd</a></td><td>60 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d8844ab97466700a61710280c29b14c20b2925fb">d8844a</a></td><td>238 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=27b68dbe873878fc0408c803487264ec875d5797">27b68d</a></td><td>32 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=e3ce3012d492ab3652215ccd050f8ebbe21c3ac6">e3ce30</a></td><td>92 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=b391c60d9b04bf4c0dfc50e62aa21c15488e56b1">b391c6</a></td><td>76 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=b5d48fd0e2db89c352713d668d7e71635e646bb9">b5d48f</a></td><td>84 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=b117dfb8c14a050efe33e20ecc4e96039608be0a">b117df</a></td><td>16 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=eaa3d53fa3033a2dcfaf773e25269310b59ce388">eaa3d5</a></td><td>16 lines</td><td>07/11/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=69ac2dd84e2fe80923eca9eaa5802f431379d971">69ac2d</a></td><td>42 lines</td><td>07/12/2012</td><td>382688: accommodate change of behaviour of ThreadPoolExecutor.<wbr>getCompletedTaskCount in Java 7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=300514a6d82cf23bba3226babc775849c9de937a">300514</a></td><td>161 lines</td><td>07/13/2012</td><td>383874: re-implement JarFileArtifactFSEntry in terms of ZipFileInputStream to avoid errors due to cacheing</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=50547c9c5a892bf8c8e94c6c9c0cf185ad3383fc">50547c</a></td><td>3 lines</td><td>07/16/2012</td><td>385143: support Java 7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ecacbbf2e12da4a96545afc8ada8f37ae5168156">ecacbb</a></td><td>61 lines</td><td>07/17/2012</td><td>384962: fix test for Java 7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f7c6f20ec373e5a007f5c0cbe4d83eaecb7c509b">f7c6f2</a></td><td>4 lines</td><td>07/17/2012</td><td>385177: improve test cleanup</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=841de2679c12426cc9b0b20a3b78a65323660883">841de2</a></td><td>16 lines</td><td>07/17/2012</td><td>385264: improve test cleanup</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=711089f9e9b16ff0e09402c07da12fa00040bf05">711089</a></td><td>21 lines</td><td>07/17/2012</td><td>385264: improve test cleanup</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9cc2a8197824d3ad2eead1633a8816ecbc3fab5f">9cc2a8</a></td><td>67 lines</td><td>07/18/2012</td><td>add unit test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1ad1013ee7118cdd1767bbae900fc8b19f5c5f55">1ad101</a></td><td>4 lines</td><td>07/18/2012</td><td>fix source classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=04aa56e09421cbe1bdfdee0d38b100dd009ac6d6">04aa56</a></td><td>25 lines</td><td>07/18/2012</td><td>383874: avoid stashing during construction</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9fc34813ce407a6c688a18305ec72f78f9a2f11d">9fc348</a></td><td>2 lines</td><td>07/18/2012</td><td>fix source classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a432703691eef35ddc494dfce5acfc5b971c7bbe">a43270</a></td><td>62 lines</td><td>07/18/2012</td><td>383874: avoid using JarFile which results in unwanted caching</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a3ecac85f551b0d737431b9a11ee44dbfbf7c728">a3ecac</a></td><td>17 lines</td><td>07/18/2012</td><td>improve testcase</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=296777cf665a7776acb825ea9779615bc78ccda9">296777</a></td><td>2 lines</td><td>07/18/2012</td><td>383874: handle non-existent manifests correctly</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2e0ff526a030d492f0501edde714f04b87112795">2e0ff5</a></td><td>43 lines</td><td>07/19/2012</td><td>383874: Make bundle bridge tests pass (except one which has to be ignored)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=cd302f958d8f67519dda0d19a0afd8163be71de8">cd302f</a></td><td>13 lines</td><td>07/19/2012</td><td>383874: delete two deployer edge tests which relied on the old implementation for reading JAR files.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=270ddfdd9756e5d0ab1830403151f50f83bbbde3">270ddf</a></td><td>13 lines</td><td>07/19/2012</td><td>383874: delete cruft</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=da7060cdda709a60779361f6a3c32896202cacfb">da7060</a></td><td>1 lines</td><td>07/19/2012</td><td>organise imports</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=947dde66aa2e254b298726c070dc56da2b6b61ec">947dde</a></td><td>15 lines</td><td>07/19/2012</td><td>383874: fix test by replacing duff JAR</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=605a051528f9e30890eff92aa89607cd10091493">605a05</a></td><td>2 lines</td><td>07/20/2012</td><td>handle missing kernel configuration parameters</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b6a3e55dbfdea4c30d7adcbddfd3e02dd80db9bb">b6a3e5</a></td><td>36 lines</td><td>07/20/2012</td><td>383875: make unpacking configurable via deployer.<wbr>unpackBundles=true but not the default behaviour</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9b61998edc63992c0b5dbb4be4a2573f56c41d74">9b6199</a></td><td>42 lines</td><td>07/20/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=09dc5da66f9ad982a4049b3efc9f8de0383fdcab">09dc5d</a></td><td>35 lines</td><td>07/20/2012</td><td>383875: document deployer.<wbr>unpackBundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e384ca14071f4ded623260f989e16dc445d75334">e384ca</a></td><td>2 lines</td><td>07/20/2012</td><td>383875: run some integration tests with bundle unpacking disabled</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fd0f3e816e84e9ec67dcda9c546ba748852b6ec9">fd0f3e</a></td><td>70 lines</td><td>07/23/2012</td><td>385743: pass bundle JAR file as stream on update</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=d733f75077e4137a15aa788d1e12c2619a597740">d733f7</a></td><td>3 lines</td><td>07/23/2012</td><td>385765: delete invalid kernel parameter</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=e3773f8c4832e669a995e8bd997584eced6e828f">e3773f</a></td><td>3 lines</td><td>07/23/2012</td><td>383875: configure default value of deployer.<wbr>unpackBundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=70d1a186f2947ff5774bd6ec9901cdd70f884865">70d1a1</a></td><td>63 lines</td><td>07/23/2012</td><td>385743: maintaince instance counter of deployed filenames</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=a0def8a45543fcbaeb25610100652f57d8c38401">a0def8</a></td><td>2 lines</td><td>07/24/2012</td><td>Revert "385765: delete invalid kernel parameter"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d2b0cea091c63deb7ce727644946ce12936c7bce">d2b0ce</a></td><td>72 lines</td><td>07/24/2012</td><td>385743: factor out storage management methods</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5ab580075d00e54b0a15713092fdf225973b1a3b">5ab580</a></td><td>133 lines</td><td>07/24/2012</td><td>385743: introduce artifact history abstraction</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a78041bd2ae16d1daab9678259044d74d07eb842">a78041</a></td><td>266 lines</td><td>07/24/2012</td><td>385743: revise and test path history abstraction</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=540ab7da158178d976a33821fcd7e8bbc3ea1f47">540ab7</a></td><td>457 lines</td><td>07/25/2012</td><td>385743: rename to PathGenerator and tidy up file/<wbr>directory management</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5c6cf8acf25c992ba118c09e40bd530fc1c40203">5c6cf8</a></td><td>44 lines</td><td>07/25/2012</td><td>385743: encapsulate storage management</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=72f68d8f08f27e8e82c214c093a68a76c642321d">72f68d</a></td><td>473 lines</td><td>07/25/2012</td><td>385743: extract interface</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=241a19ac499d70569545ad3d386530ef2fbdb864">241a19</a></td><td>63 lines</td><td>07/25/2012</td><td>385743: introduce abstract superclass</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=dcb10440e8d4e991eec86a8d3d5d0a0f49b6bc28">dcb104</a></td><td>277 lines</td><td>07/25/2012</td><td>385743: introduce subclass which preserves a constant path and use this for PAR files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1726d85ca80c477253c02b0965bfcff7c3958eea">1726d8</a></td><td>1,119 lines</td><td>07/27/2012</td><td>385743: improve naming and document interface</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f3ab852727a723f694064bbfb2f0f0ab926e6c08">f3ab85</a></td><td>42 lines</td><td>07/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=3a4d072c8e8c24b3dedbec277f112a5477b7d9a9">3a4d07</a></td><td>6 lines</td><td>07/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=35d13b20d76bca6bd1a7fdab4b7ba6700e0f9f84">35d13b</a></td><td>42 lines</td><td>07/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=47d2876d273fc1713e8321c674dd781ca56d5007">47d287</a></td><td>2 lines</td><td>07/27/2012</td><td>385743: improve testcase working directory name</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=ebc299bd01ce6db2e1ad1634d282b4e1f4ffc109">ebc299</a></td><td>30 lines</td><td>07/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=68dbe568eef72da3d18c160f7557916cc9cb334d">68dbe5</a></td><td>14 lines</td><td>07/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=2a83bdb3404e4b597da53b358fe1b0fc61b53a4f">2a83bd</a></td><td>8 lines</td><td>07/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git/commit?id=c6e48576c64cfb0ea827272675b77f55a822029c">c6e485</a></td><td>8 lines</td><td>07/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5a3ee83e3e60773788e55155d883b07166d4446a">5a3ee8</a></td><td>6 lines</td><td>08/13/2012</td><td>make integration tests pass by fixing imports</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=36fda21a3de3830e4bbe4bbb072dcf989db2cc45">36fda2</a></td><td>3 lines</td><td>08/14/2012</td><td>fix build paths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3b6c9cbdffc0ed23aefd28d9eca806940ecfd59b">3b6c9c</a></td><td>30 lines</td><td>08/14/2012</td><td>385574: add failing test and remove compiler warning</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f8553a8a96df0da68c5f2ab1dd04e97df4ca1ffb">f8553a</a></td><td>105 lines</td><td>08/14/2012</td><td>385574: simulate missing directory entries</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=caf8c4973e230730658bf6e0bcbb6b1abfba6d96">caf8c4</a></td><td>168 lines</td><td>08/15/2012</td><td>387290: add recovery support to GenerationalArtifactStore</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=dbdce04dc431b928590c138fc6aa9b600e0e2415">dbdce0</a></td><td>2 lines</td><td>08/16/2012</td><td>387362: work around test failures</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=71c3540b43c410d3c2e046ccfd77575cad137ac8">71c354</a></td><td>82 lines</td><td>08/17/2012</td><td>387362: refactor refresh logic</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=47dcbabc624129cc3c9c8436dfc0c57bd5f550ed">47dcba</a></td><td>2 lines</td><td>08/17/2012</td><td>fix source classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f03a3e6d21e342ecbec4a25b21c2515cb109f0ea">f03a3e</a></td><td>11 lines</td><td>08/17/2012</td><td>387362: avoid double save of PAR storage</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=39fdd51101789c5e30f45d8a532255fd8ffc4b1c">39fdd5</a></td><td>27 lines</td><td>08/23/2012</td><td>383876: replace T/<wbr>N/<wbr>V qualification by incrementing counter</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d295d4e35a29d0f60f5f8ee081aa0679540402a6">d295d4</a></td><td>7 lines</td><td>08/23/2012</td><td>383876: fix test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=0f76431977a4c8dad737866ae94f31f2a7837c79">0f7643</a></td><td>5 lines</td><td>08/24/2012</td><td>387977: cope with read-only filesystems on *ix platforms</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=7c8398cf649acf42a3d3ae893b805810e5e1b330">7c8398</a></td><td>5 lines</td><td>08/24/2012</td><td>Revert "387977: cope with read-only filesystems on *ix platforms"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=ac5a271d10b1d76d7a44a540cc239f00dfa28db2">ac5a27</a></td><td>9 lines</td><td>08/24/2012</td><td>387977: avoid renameTo on *ix</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=050e9c989bb2063e7fcab1e8a186fe0ee91d230e">050e9c</a></td><td>2 lines</td><td>08/28/2012</td><td>378470: upgrade blueprint</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=380325133f630b1cabac8f6b7451ef43907e8941">380325</a></td><td>1 lines</td><td>08/29/2012</td><td>383876: delete staging area on recovery</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f5d09d1875ffe970cf12d119ee2fe6b922ab4572">f5d09d</a></td><td>89 lines</td><td>08/29/2012</td><td>383876: cache unique ids for each scope and further shorten deployer work area paths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=5a0c8cf42fa5fbe79e6fc2638ebd000b1371180d">5a0c8c</a></td><td>2 lines</td><td>08/29/2012</td><td>Revert "378470: upgrade blueprint"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=23bebbd5bfe6eefbfb01e431eecfa0975a129088">23bebb</a></td><td>8 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=27514ad91ddf9c5070355ffc9936b0576e6fcb8a">27514a</a></td><td>14 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=be3bb5919bf7c3f4a371b6065b2ec7d0333d75b0">be3bb5</a></td><td>54 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=8b43ec4ed8dd670e445d823d63ef70e91c1334d4">8b43ec</a></td><td>22 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=61a3d2ae5fdc20db6d8117d1484ad360ceff8724">61a3d2</a></td><td>312 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=ffdd4b4f78925cc8b8d632cb13d6be1d552b06c8">ffdd4b</a></td><td>28 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=ed783b66ccc1662a54e31568efa5b82eb5f9d738">ed783b</a></td><td>120 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=0d09d6da29d729d74b7e9fa135f70f891a78e49a">0d09d6</a></td><td>88 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e2922af489cd60bf2b9e3d64decf89878c3cc21a">e2922a</a></td><td>54 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=237fea92945f828f668e00af7f6dee63f8b09722">237fea</a></td><td>28 lines</td><td>08/30/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=2538a09d48f8ef0717110cf74c488d4f62a49708">2538a0</a></td><td>2 lines</td><td>08/31/2012</td><td>378470: upgrade Gemini Blueprint to 1.<wbr>0.<wbr>2.<wbr>RELEASE</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=1f3bfbcdd2434cf75a3d2c50684630514087037a">1f3bfb</a></td><td>8 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=3e292c94da7d26e1ea23d53d55289464d78f126d">3e292c</a></td><td>14 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=391018dee0cf36084c811be39f341334a27eddfb">391018</a></td><td>54 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=b013f6ca5e251828b187b3d23f51f665ed1f0328">b013f6</a></td><td>22 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3aaf01815297d7b32578d77058d7fe5e6325be83">3aaf01</a></td><td>312 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=70aeff8efd634d5886a2921d4f17ed1e25fcedbe">70aeff</a></td><td>28 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=89b50b2aad3eb6ffbc392e906455b914c7724162">89b50b</a></td><td>120 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=e0f82f458ce17e93d15489928dddf225b6a2a619">e0f82f</a></td><td>88 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=8d2bb8edd6d5b1cf6b0dc82c877bfb859183daea">8d2bb8</a></td><td>54 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=3c917cc69e8ebc466305b919a76d0eebbc40f778">3c917c</a></td><td>20 lines</td><td>08/31/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=f89907b9058e5ad566e923a1e157ea81167a1b5e">f89907</a></td><td>2 lines</td><td>09/10/2012</td><td>360571: set appBase in test configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=066dfad55113ee87f83bf7a70012a526f8a19ba6">066dfa</a></td><td>15 lines</td><td>09/11/2012</td><td>Prevent memory leak due to non-static ThreadLocal</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=60e73f302ba372d4e403d05533893951c268f8ef">60e73f</a></td><td>15 lines</td><td>09/11/2012</td><td>389267: avoid memory leak</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=31ccbe205eaa0d02d4955307eaf79e3704179666">31ccbe</a></td><td>32 lines</td><td>09/11/2012</td><td>Prevent memory leak due to non-static ThreadLocal</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=12df52cf7b128bd59ca385f030a6d88eb5860a2d">12df52</a></td><td>72 lines</td><td>09/11/2012</td><td>Prevent memory leak due to non-static ThreadLocal</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=73903e71ae31d10b4401cd9352fd7ddc9c2b05b7">73903e</a></td><td>72 lines</td><td>09/11/2012</td><td>Revert "Prevent memory leak due to non-static ThreadLocal"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=83c1e2a596ce8d102ca421b29ccdc9607587daeb">83c1e2</a></td><td>31 lines</td><td>09/17/2012</td><td>385765: document WABHeaders kernel property of Nano WAR deployer</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=c21f7b83211acb533541f0dd6dd815129a28a4c5">c21f7b</a></td><td>1 lines</td><td>09/17/2012</td><td>Add transitive dependency of Tomcat since this dependency is not mirrored</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=cd952a5c27a8c4a086aa7e9176689def2b211d93">cd952a</a></td><td>1 lines</td><td>09/17/2012</td><td>Add transitive dependency of Tomcat since this dependency is not mirrored</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=28ca1f8a1203d57d9f351cd4702e0817c940b609">28ca1f</a></td><td>18 lines</td><td>09/18/2012</td><td>fix build paths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=303c66a758ac9c8742c1ef2aa59a23eeb6f0a39b">303c66</a></td><td>401 lines</td><td>09/19/2012</td><td>385610: test WAR processing with WABHeaders=strict</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=79b2a602b46fa96c7c83055ebfc85814614414c3">79b2a6</a></td><td>3 lines</td><td>09/19/2012</td><td>385610: leave evidence of defaulting the BSN</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=6b8970b84aa90499220b0c16129316a04cf5a85c">6b8970</a></td><td>4 lines</td><td>09/19/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=43a9cf871043a454eb9af611cf6c3da27d088f12">43a9cf</a></td><td>36 lines</td><td>09/19/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=5c78e83dbe235bd4f9a71526393a3835f912a1c0">5c78e8</a></td><td>22 lines</td><td>09/19/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=2a5eb8255407a5f828cab51fe89e57e19e06bca1">2a5eb8</a></td><td>10 lines</td><td>09/19/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=e0f9b025b532577b87d5291e3ab67be02071ba6d">e0f9b0</a></td><td>8 lines</td><td>09/19/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=c8546d9be72c941a5813b5ce2dcc67f9fc326acf">c8546d</a></td><td>121 lines</td><td>09/20/2012</td><td>385610: avoid assuming a WAR with defaulted BSN is a WAB</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=b75ab3fbcdb2b5cf4cc41af0f9cd1764855bab69">b75ab3</a></td><td>8 lines</td><td>09/20/2012</td><td>385610: re-copy configuration following ripple</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=26e95a76611a03c914f16518b7ccaa08d27b8223">26e95a</a></td><td>202 lines</td><td>09/21/2012</td><td>385610: tighten up processing of WABs with .<wbr>war extension</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c3e3078282bd77d626466c450c87bd2b9b8eebc1">c3e307</a></td><td>6 lines</td><td>09/21/2012</td><td>fix source paths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=23b02628cb03a3fc1a0060d79fa5b50a336cac3f">23b026</a></td><td>90 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=46e4ca5ebd0afc3b3f13306493d4ecef34be8d9a">46e4ca</a></td><td>34 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=78ec672ebbf9380562835106894467895f86ad6b">78ec67</a></td><td>34 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=af9ed3b772ee5f4bac32f04ac401cf46d64859cf">af9ed3</a></td><td>626 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=80714be7eaffd658da004c6400cd01a47e486015">80714b</a></td><td>6 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=ab12a3d04012dff318a863e465c76762456ddcfb">ab12a3</a></td><td>20 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=53a1f09e8790fdd7c060e732547d068ddf9ef782">53a1f0</a></td><td>54 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=e95f3fcdda351566f0b93fa4c022ffcb4b9a9b53">e95f3f</a></td><td>102 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=923a20805caa6d726f15965571c72885bc7d23f9">923a20</a></td><td>42 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=e2211ccc44de373e75b64060db67f1961cdb390c">e2211c</a></td><td>40 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=6cf08f94def201986945f09364fbb29bc3d6dac2">6cf08f</a></td><td>90 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=fdcddee3f37f8df351aaefa0751f8b147b938f55">fdcdde</a></td><td>28 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=31c264ca7fae08375a402a5388649af838ba87d5">31c264</a></td><td>44 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=32e64ada17b086a388d1da151e360e80eb1a241f">32e64a</a></td><td>24 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=f51ba90c4bba4cdffda613417044843df2949364">f51ba9</a></td><td>278 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=865ce847c895278ecbbc56ec80eae7e1843997ec">865ce8</a></td><td>18 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=0310dce033c07d843a4a209370d812dd2a0216a7">0310dc</a></td><td>66 lines</td><td>09/24/2012</td><td>387621: unify *IVY_CACHE classpath variables</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=16a8065b15b1ee024361dd75175215eadc470848">16a806</a></td><td>5 lines</td><td>09/24/2012</td><td>387199: filter out duplicate FrameworkFactory implementations from the classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=36eb0360b5677696a74a4c02e509fe73c1976b4a">36eb03</a></td><td>119 lines</td><td>09/24/2012</td><td>387208: basic utilities for case insensitivity improvements</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ce19433f137dc0fcac0ed53a903c33e68615a0ed">ce1943</a></td><td>23 lines</td><td>09/25/2012</td><td>387208: improve case insensitivity</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=1107fe744442538100dc380a274069c219bb5c2b">1107fe</a></td><td>4 lines</td><td>09/25/2012</td><td>387208: basic utilities for case insensitivity improvements</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c6cb2e5e2c58cb33c8d90231955f2ea43da00860">c6cb2e</a></td><td>2 lines</td><td>09/26/2012</td><td>source classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=bda45fcdb92931341ac911a162448a0b2425fa2c">bda45f</a></td><td>8 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=230f9558da70269a3b05a7073c063357ef04d1cc">230f95</a></td><td>188 lines</td><td>09/26/2012</td><td>387208: unit tests</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=8e18ff6833bec4580675da6214f2df5727f516da">8e18ff</a></td><td>2 lines</td><td>09/26/2012</td><td>387208: test dependency</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=3357d3576fa44b60dfc79e724209a014c9738dc3">3357d3</a></td><td>8 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=dc0351687cf7066b0954b91af67ec1452e6406ec">dc0351</a></td><td>14 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=8c008039bbaecf832fdc4bcdc06eee9cfaa0ddf8">8c0080</a></td><td>46 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=564a1cab5741be1185d597818c996272b7c9db05">564a1c</a></td><td>22 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c2fd5444786fa6954d320a968f09f84a7d82148f">c2fd54</a></td><td>234 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=52f68a78f365e1af466dbfd21bbd26729473e50a">52f68a</a></td><td>28 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=6ea39945a12bfc8d1e2c4c9fad2471dccc85fd64">6ea399</a></td><td>104 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=ff09dec9685d72a711ea27533e03adf47af4419d">ff09de</a></td><td>74 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=57786209dda2340d144a3da3485df2519de932fd">577862</a></td><td>44 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=2c1ca702ee93d6d4d59b07a2bccecb428ef16f69">2c1ca7</a></td><td>18 lines</td><td>09/26/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=88c362a6f100dfe5b588dd526b74da32b5c08197">88c362</a></td><td>5 lines</td><td>09/27/2012</td><td>Improve test configuration</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=23d8e774a01be33c943cdca1400e2db4080dba34">23d8e7</a></td><td>4 lines</td><td>09/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=293833bc0e4fe9bb3f5ee14c9434d1aaf2b781e5">293833</a></td><td>46 lines</td><td>09/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=80494c10d8f85ecb67f4e184f87ac68ec0d61bbf">80494c</a></td><td>26 lines</td><td>09/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=af7f543eff6dceb48f81be66b38c28c69b2da65a">af7f54</a></td><td>10 lines</td><td>09/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=1c2f538148a2d3be0d9979f8740301966d905eb3">1c2f53</a></td><td>8 lines</td><td>09/27/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=fe880ca45066a8dd4df5d1ac87e6604bfc48ac38">fe880c</a></td><td>1 lines</td><td>10/01/2012</td><td>add missing dependency</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=11e640c160039537429a27ce71f60471a3d5de3f">11e640</a></td><td>6 lines</td><td>10/09/2012</td><td>391446: correct repository URI format</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=0404a7f9cb5d432ce662592cb7beb2fa8c6c5497">0404a7</a></td><td>1 lines</td><td>10/09/2012</td><td>391446: remove dud comment</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=2ef30bc6e2dba61694afd195afb1db58fa58845a">2ef30b</a></td><td>15 lines</td><td>10/11/2012</td><td>391000: configure hosted repository application properties correctly</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=b0f948adcbb5a73cfc787205e6c773d2703f0bb6">b0f948</a></td><td>8 lines</td><td>10/11/2012</td><td>389801: avoid warning message</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=b723830a0e56cd5d7ff0c3281a9bb28bf034ee6b">b72383</a></td><td>8 lines</td><td>10/11/2012</td><td>389801: avoid unnecessary line</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=c29f0946a3f37673456382edcecb8452866423b0">c29f09</a></td><td>475 lines</td><td>10/15/2012</td><td>385343: initial contribution minus gradle/<wbr>wrapper/<wbr>gradle-wrapper.<wbr>jar which requires further approval under CQ 6646</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=95fa3fa4f8d25e63fd2260701c312318519b36b7">95fa3f</a></td><td>294 lines</td><td>10/15/2012</td><td>385343: move source into correct package</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=0bd0fc3e9c76d8259942469810a29ba9ee63b7a6">0bd0fc</a></td><td>3 lines</td><td>10/19/2012</td><td>fix GW portion of build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=5df29f8360d2b239c61e702b4724f633448ff14e">5df29f</a></td><td>8 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=fafb81813e671981a0b4865eb5b061b2d3f57685">fafb81</a></td><td>14 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=b463f61fdd3daa9682168d68c2f84da8ecf27aba">b463f6</a></td><td>46 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=392132e1698a008c47744c86fbb9bf68ab3a9f2b">392132</a></td><td>22 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1c56f23649172881e6e0b33f6718116c3758dcd3">1c56f2</a></td><td>234 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=dc77e4c27b2c820c92770d32103c7f46f8723a91">dc77e4</a></td><td>28 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=627d38c01e4eedd05f34eb0f824abf7d7eb479af">627d38</a></td><td>114 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=5dd2511549741d8586a92c5d57442cf7dcbc614c">5dd251</a></td><td>74 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=beb35761c09da50f7891812fa7c1fcfcd877ba2c">beb357</a></td><td>44 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=b4983c8f1b1e03b4ee62003f117087f6125bbbbf">b4983c</a></td><td>18 lines</td><td>10/19/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=ae6733144302e53103a6597433a0130cf334d4c0">ae6733</a></td><td>23 lines</td><td>10/30/2012</td><td>388784: tolerate JAVA_HOME not being set on *n*x</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=973d3764c2bb0a1f24058ae353a34231a12fe4b5">973d37</a></td><td>2 lines</td><td>10/30/2012</td><td>392444: delete hard-coded versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=455dbf256793c4c6ae90f3441d45712c1a91210e">455dbf</a></td><td>2 lines</td><td>10/31/2012</td><td>391197: correct syntax</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=9cecf33619adc25d63d1bc4a4a87236cb4d9378e">9cecf3</a></td><td>2 lines</td><td>11/01/2012</td><td>Fix bad link.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git/commit?id=289e315f329356aed20f72957940ccd2c7dbcd11">289e31</a></td><td>33 lines</td><td>11/01/2012</td><td>384766: inline manifest template should override default manifest path</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=f6d79fbafb890a702b14632b427f171381dc7648">f6d79f</a></td><td>3 lines</td><td>11/02/2012</td><td>393427: renumber duplicate message ME0002E to ME0005E</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=93eb79a269e9c2ace471ec3d937d3c6eec232eb5">93eb79</a></td><td>2 lines</td><td>11/05/2012</td><td>remove trailing slash for consistency with other links</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=97f3da66d801f5c650f2d988d47d55bffd85fcf4">97f3da</a></td><td>4 lines</td><td>11/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=668de25049394fe62122191cb43f3cce121abfd0">668de2</a></td><td>44 lines</td><td>11/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=2694ccf60feb7d3bc136a0d8d1ace5b3cf98b80d">2694cc</a></td><td>22 lines</td><td>11/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=7daf238c35f7a4f8398c2633ed33ed98a04a13d0">7daf23</a></td><td>12 lines</td><td>11/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=5aec87f760d78d94b036feaae06ca74270de911e">5aec87</a></td><td>10 lines</td><td>11/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=d07570ca62e8841d6fd3a79ecec19794f75e4dc2">d07570</a></td><td>2 lines</td><td>11/06/2012</td><td>fix typo</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=35f1b64e66dcf4c29fadc3e69c4183aabc04e232">35f1b6</a></td><td>1 lines</td><td>11/08/2012</td><td>393848: enable fragments to attach to multiple hosts by default</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=65e3e13071568882c2b56ab2cc34b738a466ac90">65e3e1</a></td><td>8 lines</td><td>11/12/2012</td><td>393857: fix NPE</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=8f5a85f64272ef0849d1b583a73744cfd9bb2e32">8f5a85</a></td><td>69 lines</td><td>11/14/2012</td><td>393756: support heap dumping in Java 7</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=510466147bbc60ce7f57ac983b9513ac80a2a67d">510466</a></td><td>10 lines</td><td>11/16/2012</td><td>upgrade quartz to match version required by Spring framework</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=b7ea3483d7cd0406f8ba74cced5af861f3301a4f">b7ea34</a></td><td>14 lines</td><td>11/19/2012</td><td>Implement getEnvironment to return ConfigurableWebEnvironment</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=72a4f2188ff0c6fab36571dc77e0541cb14e19f6">72a4f2</a></td><td>10 lines</td><td>11/19/2012</td><td>ensure suitable environment is created</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=805a23e0b18096a685ea30716aee32c6a41b33a7">805a23</a></td><td>8 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=3507804f7ab5369816abe6f687a5d84f15ac1177">350780</a></td><td>14 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=59ff8877d72d91ff568c658b98c444cec8dc6e12">59ff88</a></td><td>46 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=0444c4b384104c8639d260213f0661937c6e79fe">0444c4</a></td><td>22 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fccb3d298aa54e0ee6020e0e1ce0347c086a5499">fccb3d</a></td><td>234 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=b4d0f83dbe2160991fde62d02fc33d77f16e70bd">b4d0f8</a></td><td>28 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=62ae5d339d3dce98b10379d6445021dc50c96659">62ae5d</a></td><td>114 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=23111956b0b1f1e9209c30da46bb6121411cb6b8">231119</a></td><td>74 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=66a84b8b64637104a542e463694560b7d7100fac">66a84b</a></td><td>44 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=a4e760736135637c09f3ac59a2c73c11e9128031">a4e760</a></td><td>24 lines</td><td>11/23/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=4bf332b4990a48df3ad7a32e3353ffc68ae024de">4bf332</a></td><td>14 lines</td><td>11/23/2012</td><td>394800: avoid pre-req'ing Spring framework 3.<wbr>2</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=f72c2b0f573c9d9d27166e36db0f1be6703a6cde">f72c2b</a></td><td>8 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=13b9ea4e14cf2c567da666098c1fa326c7857aa3">13b9ea</a></td><td>14 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=39f511fbf561a3d736bda21a25be83e80829534e">39f511</a></td><td>46 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=263bf3e9a65edc32d93c988373f8b83dc32326a4">263bf3</a></td><td>22 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=32d73857a812de884e940f9229721ec7e227531c">32d738</a></td><td>234 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f11d0a71e8c36e6cf9cf9e998ead7524fc6ca18c">f11d0a</a></td><td>28 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=e56ed2f728a3b82fe7eca41930ad6b9f8892bd5e">e56ed2</a></td><td>114 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=510b6f2559c0009edd7f2d999e3ee834b6d05451">510b6f</a></td><td>74 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e1f8b015d0166908183bdc1ed177973cf329c928">e1f8b0</a></td><td>44 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=4bfff554f61c0e4a016d6f42d373abc16abec78e">4bfff5</a></td><td>18 lines</td><td>11/26/2012</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6659f793cbc774c4c6f119bb7747e28a24f639c7">6659f7</a></td><td>8 lines</td><td>11/29/2012</td><td>394906: adjust fragment states</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=1deffe621ee7dea358601d0909656cdac397f702">1deffe</a></td><td>294 lines</td><td>12/03/2012</td><td>395148: avoid certain hangs in shutdown and document the different shutdown cases</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=d8028a6f468f36da33787b4fc035219c40fb8aa8">d8028a</a></td><td>3 lines</td><td>12/05/2012</td><td>tweak javadoc</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=cbcacd061b6af746aa90e0bd5c8257d343d6d33b">cbcacd</a></td><td>58 lines</td><td>12/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=2ec3b4cc84908a1157e2831583aa5f563b6cf666">2ec3b4</a></td><td>10 lines</td><td>12/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=0c92fede648a32ba9d39718d0ffbbe34cb93f41f">0c92fe</a></td><td>68 lines</td><td>12/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=75b014dc44fdbce11f52bfebb6e4717ea652126c">75b014</a></td><td>34 lines</td><td>12/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=d82a41b76e07a9af56de9880bced4b6c7349b6e1">d82a41</a></td><td>20 lines</td><td>12/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=cde74531232f064a0a9b5be1a391dc4bd9f25dc9">cde745</a></td><td>12 lines</td><td>12/05/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=a3ecc9b2ab4ba5d6df36e5bc603506aa06f13e86">a3ecc9</a></td><td>4 lines</td><td>12/06/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=235fb50ca83594b6c27b5804ddac60ffbe21d0b2">235fb5</a></td><td>46 lines</td><td>12/06/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=4dde4ead11d32570f1e809834b8c7b8aec6311d8">4dde4e</a></td><td>22 lines</td><td>12/06/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=be95a99e3eadc94c278bbec14de28f107f97f739">be95a9</a></td><td>10 lines</td><td>12/06/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=34320dbaee9340d09a4bc7ea049d9a095e22a8b7">34320d</a></td><td>8 lines</td><td>12/06/2012</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b261063f38a784cfb97341035e18abdb9522e901">b26106</a></td><td>264 lines</td><td>12/06/2012</td><td>395424: infer dependencies from package imports, fragment host, and required bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=cd0554b858a7c5c3f84c22df5f68ed1f96374f02">cd0554</a></td><td>40 lines</td><td>12/06/2012</td><td>395454: update about file</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=762fc69992984bf08d7a7f625a4ada107827db82">762fc6</a></td><td>388 lines</td><td>12/07/2012</td><td>395454: CDDL details</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2ef25cfe47ff7421d1612086e455b0079da792b8">2ef25c</a></td><td>23 lines</td><td>12/11/2012</td><td>328630: ensure canonical URIs are used as map keys</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d5746e252b01acbe77b57ec3247d0a97c0713ba6">d5746e</a></td><td>28 lines</td><td>12/11/2012</td><td>393858: offer config operations which take a version parameter, even though that version can only currently be zero</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e0ec8899a6da4dacb45bad3bb4ceb999fbf5d6eb">e0ec88</a></td><td>23 lines</td><td>12/12/2012</td><td>Revert "328630: ensure canonical URIs are used as map keys"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=aa9c7890afadefad334751ca1f8d61e7f30f84a5">aa9c78</a></td><td>23 lines</td><td>12/12/2012</td><td>Revert "Revert "328630: ensure canonical URIs are used as map keys""</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=67e08ddff2e5ca713543e1eccd61bcab5cc06e80">67e08d</a></td><td>37 lines</td><td>12/12/2012</td><td>328630: add test and logic to ensure the canonical URI for a directory does not depend on whether the directory exists</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b6531a9cd9785701b61c022d27bea618ab78d175">b6531a</a></td><td>6 lines</td><td>12/13/2012</td><td>328630: set path of canonical UIR correctly</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=feb4be581786e2a4eb83bdfb2fe568e4e97bde20">feb4be</a></td><td>5 lines</td><td>12/13/2012</td><td>328630: check path of canonical URI set correctly</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=388bfdc481c5accf8e53949cf4c626def4b09095">388bfd</a></td><td>59 lines</td><td>12/13/2012</td><td>395454: correct nano about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=901062ade5efc7cc2af4f730d51b7a3229335dfe">901062</a></td><td>28 lines</td><td>12/13/2012</td><td>395454: correct kernel about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=b6a8fb6bde4d6a6539dd6987cdde57a2a875bed2">b6a8fb</a></td><td>52 lines</td><td>12/13/2012</td><td>395454: correct vts about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=295337e21f1060acd481b31d015990e8d725a8d9">295337</a></td><td>30 lines</td><td>12/13/2012</td><td>395454: correct vjs about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=7f865a4d38cc5e62b9cb29c02e00b13dafb44945">7f865a</a></td><td>6 lines</td><td>12/14/2012</td><td>395454: correct vts about files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=5a0f548076f59bd27f34cef67d19d9b20243065d">5a0f54</a></td><td>6 lines</td><td>12/17/2012</td><td>328630: cope with Windows paths and add diagnostics</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=5115af8dd56e57b2ae27f8008c161a8bc87563e0">5115af</a></td><td>2 lines</td><td>12/20/2012</td><td>upgrade Gemini Web to 2.<wbr>2.<wbr>0.<wbr>RELEASE</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=6c42bd6d8c8dc86151b6ae09b52a6fe11a505097">6c42bd</a></td><td>438 lines</td><td>01/17/2013</td><td>first draft</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=350b37d13991a28b264b61f73e73ff49616de635">350b37</a></td><td>161 lines</td><td>01/18/2013</td><td>next attempt</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=c033b0498c60caaf8121d78418ff8a406ef8ac5e">c033b0</a></td><td>10 lines</td><td>01/21/2013</td><td>fix classpaths</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=59817e145809199ab8ba4d57436420df5206716f">59817e</a></td><td>103 lines</td><td>01/22/2013</td><td>tidy up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=3aa7360aaacaacfecabd1c8ab05b32a15080a105">3aa736</a></td><td>10 lines</td><td>01/22/2013</td><td>changes to ensure dispatcher servlet is driven</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=f8b5519d25b5d4bde63ef3efdc392d8da814551f">f8b551</a></td><td>22 lines</td><td>01/23/2013</td><td>define bundle classpath</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=ddbba14220ac31503244a305cdbc6203b27966a8">ddbba1</a></td><td>3 lines</td><td>01/23/2013</td><td>reduce REST URL path to /<wbr>rest/<wbr>users/<wbr>{user}</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=48f784dcc9233a34ddb53c73b5a504371e560ffc">48f784</a></td><td>26 lines</td><td>01/23/2013</td><td>tidy up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=54f43bcd97ab7a7f6d7890ca47325ab1b67cbceb">54f43b</a></td><td>32 lines</td><td>01/23/2013</td><td>tidy up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=2ebf7b161ec32984b183a5404db0702ec446bfa9">2ebf7b</a></td><td>50 lines</td><td>01/24/2013</td><td>Documentation.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=3d6dd13667ccf8db163392bc06a410fe9984ce06">3d6dd1</a></td><td>75 lines</td><td>01/24/2013</td><td>allow updates</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=fc1108f982fd47e9815f77fdd1686520472f251f">fc1108</a></td><td>62 lines</td><td>01/24/2013</td><td>tidy up</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=2d9a277e1ae3e95dc30370140cf8c2bc4c81177b">2d9a27</a></td><td>25 lines</td><td>01/24/2013</td><td>add collection GET</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=cadd63b7a852541674175979d8ee519ac00a3142">cadd63</a></td><td>28 lines</td><td>01/24/2013</td><td>improve documentation</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=7499fa92af3f7e24c9a1e02f9ee1798a5cd754ca">7499fa</a></td><td>29 lines</td><td>01/25/2013</td><td>avoid difficulties of site encodings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=5256530143917edcd261766796ce458206fad016">525653</a></td><td>16 lines</td><td>01/25/2013</td><td>delete unnecessary files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=eb7087e0f970a14f7d35a7542158058971aa040a">eb7087</a></td><td>125 lines</td><td>01/25/2013</td><td>add README</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git/commit?id=44618aecc16442093807ea49d39ec8e9ea18f61a">44618a</a></td><td>9 lines</td><td>01/25/2013</td><td>add REST sample to build</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=3f6f88ab5e42ea5446789a89de40f014a6e28b38">3f6f88</a></td><td>2 lines</td><td>01/25/2013</td><td>398393: pre-req Spring framework version of 3.<wbr>1 or later</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=63ecfd72f525e623fcb3952e2ddc9bc0d781d12a">63ecfd</a></td><td>2 lines</td><td>02/08/2013</td><td>Test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f489df8ea7bf18793b83f0bd0b4a7ed7d8abab92">f489df</a></td><td>11 lines</td><td>03/13/2013</td><td>402985: call ClassLoader.<wbr>registerAsParallelCapable when available to avoid a deadlock</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d58f02bf0e0507e1f9203ee1decf13ebef617816">d58f02</a></td><td>2 lines</td><td>03/21/2013</td><td>allow for Gemini Blueprint 2.<wbr>0.<wbr>x</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b78432e4bbde6ba3708c87d484b0d6139b16fdf6">b78432</a></td><td>2 lines</td><td>03/21/2013</td><td>allow for Gemini Blueprint 2.<wbr>0.<wbr>x</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=06384589f38fb46308f8292e9cd8e9ef95c1bfd6">063845</a></td><td>2 lines</td><td>03/21/2013</td><td>make test less sensitive</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fd952285a30badd0135fe8df1b077c4113d4e2c3">fd9522</a></td><td>3 lines</td><td>03/22/2013</td><td>adjust test for GB 2.<wbr>0</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=23ec16030ea321df2673fee269a408205d3eaf2f">23ec16</a></td><td>1 lines</td><td>03/22/2013</td><td>avoid testcase timing issue</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=6853e4410faa34e4c5cae0e4dcd4cfb44411c184">6853e4</a></td><td>2 lines</td><td>03/22/2013</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c994ab510c9f90e55efc2f82244a9fd6b54b23ba">c994ab</a></td><td>136 lines</td><td>03/22/2013</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=cbfd58637b9b9b7db62c41414fb74b166ee419a8">cbfd58</a></td><td>10 lines</td><td>03/22/2013</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=2cb4f0ea37fb39bf567baeb6d0515f1461ac3b18">2cb4f0</a></td><td>110 lines</td><td>03/22/2013</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=0b74f50786baa752a9e20a80a9cee20f0432b510">0b74f5</a></td><td>48 lines</td><td>03/22/2013</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=72b6a69e3f92a1db6ea63a769bb59879fb979bd1">72b6a6</a></td><td>30 lines</td><td>03/22/2013</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=f7e3547e25a0bdb31954290a3c6d4cd02bdded9c">f7e354</a></td><td>14 lines</td><td>03/22/2013</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=356fa12414de3dc7384b37c3230da4e7c8a2aa6a">356fa1</a></td><td>6 lines</td><td>03/22/2013</td><td>fix plan version range</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=d4b75d9349dcfbaeb8dd70826a7a7c9c34ed274d">d4b75d</a></td><td>2 lines</td><td>03/22/2013</td><td>401781: remove/<wbr>suppress warnings under Ruby 1.<wbr>9.<wbr>x</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=ed8d9872bcbbf77b6cf101c64efb3d5392f92bdf">ed8d98</a></td><td>4 lines</td><td>03/22/2013</td><td>401781: remove/<wbr>suppress warnings under Ruby 1.<wbr>9.<wbr>x</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=29513350f884e4a1334ba073e9e207109e5437ee">295133</a></td><td>8 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=4a49f3c44a6d770d9128635a9650c5631674a9ed">4a49f3</a></td><td>14 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=346121840fc7d88750659efb36615be9953e87c2">346121</a></td><td>46 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=365c70d4417cde86de958338f5e4cd7aa61cd392">365c70</a></td><td>22 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=cf2634cdb46fbe37cef5829e633747c4bbc8793d">cf2634</a></td><td>234 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=ee6e3ed56c63b5b8b0b20b5bebf6ad73cc1b655d">ee6e3e</a></td><td>28 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=ee80bd43b58341479b564feddd4dd3e278924d8a">ee80bd</a></td><td>116 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=986767a724f78783044411311d7bab2b1da3b606">986767</a></td><td>74 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=0cdd867809cf07f75a899ecbe1b34b9e4823f5ef">0cdd86</a></td><td>44 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git/commit?id=32a895228145c95d175642fa1e92e37da6b3e1c0">32a895</a></td><td>18 lines</td><td>04/16/2013</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td colspan="4"><b>Hristo Iliev (SAP SE)</b> (15 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=61738ad048b124afc067295227b292ccd9c7de9d">61738a</a></td><td>772 lines</td><td>08/18/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322774">Bug 322774</a> Add ClassLoading commands to equinox shell.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=2ec0d6f72ca823720a663df3b01fa27bddb46fdb">2ec0d6</a></td><td>1 lines</td><td>08/23/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322990">Bug 322990</a>] Adjust o…e…v…osgi.<wbr>extensions.<wbr>equinox project to declare self as a FragmentHost.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=3426a47c609124e4571d9e9f579f6a02fc0a7e69">3426a4</a></td><td>23 lines</td><td>09/15/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=309688">Bug 309688</a>: obtain deadlocked thread info from the VM</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=1971786de1ffb81b6e1e610759e20302b036e675">197178</a></td><td>2 lines</td><td>09/27/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326156">Bug 326156</a>: set default ant target</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=8ce3f500e41f998a2f119b43b9f0645ced8824f0">8ce3f5</a></td><td>21 lines</td><td>09/27/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326140">Bug 326140</a>: document how to set jmx.<wbr>permissions manually if necessary on Windows</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=15812b2fdf686bb8faab7d07d04a753cdc819047">15812b</a></td><td>4 lines</td><td>09/28/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=325843">Bug 325843</a> - VSH command does not print correct line endings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=4aa0afb3af59be11d943d0d515705ccf19be108c">4aa0af</a></td><td>7 lines</td><td>10/18/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328030">Bug 328030</a> - Build fails - ANT not found (on windows)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/309688">309688</a></td><td>2,498 bytes</td><td>09/15/2010</td><td>Automatic deadlock detection thread dump contains incorrect object ids
+Attachment 178928: ThreadInfo writing by VM</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/322774">322774</a></td><td>50,011 bytes</td><td>08/16/2010</td><td>Supportability shell commands for class loading issues
+Attachment 176663: Pach produced with GIT format-patch</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/322990">322990</a></td><td>707 bytes</td><td>08/18/2010</td><td>org.<wbr>eclipse.<wbr>virgo.<wbr>osgi.<wbr>extensions.<wbr>equinox is not a fragment bundle as required by Equinox 3.<wbr>6
+Attachment 176871: GIT patch for org.<wbr>eclipse.<wbr>virgo.<wbr>osgi-extensions</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/325840">325840</a></td><td>32,225 bytes</td><td>09/21/2010</td><td>Tests for Virgo classloading commands
+Attachment 179305: New and improved unit tests for classloading commands</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/325843">325843</a></td><td>1,614 bytes</td><td>09/21/2010</td><td>VSH command does not print correct line endings
+Attachment 179318: Added standard line ending in VSH help</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/326140">326140</a></td><td>3,018 bytes</td><td>09/24/2010</td><td>'How to set correct permissions' documentation
+Attachment 179523: Setting correct permissions in Windows troubleshooting installation section + updated book info</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/326156">326156</a></td><td>744 bytes</td><td>09/24/2010</td><td>Default target for documentation does not exist
+Attachment 179525: Default target set to doc-html</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/328030">328030</a></td><td>1,093 bytes</td><td>10/18/2010</td><td>Build fails - ANT not found
+Attachment 181086: Added exec of ANT.<wbr>BAT for Windows</td> </tr>
+ <tr><td colspan="4"><b>Joel Rosi-Schwartz</b> (2 contributions)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/342675">342675</a></td><td>2,572 bytes</td><td>04/14/2011</td><td>User guide refers to incorrect hosted repository context path
+Attachment 193249: Patch for fix.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/342676">342676</a></td><td>2,589 bytes</td><td>04/14/2011</td><td>User guide refers to incorrect hosted repository context path
+Attachment 193247: Patch for fix.<wbr></td> </tr>
+ <tr><td colspan="4"><b>Joel Rosi-Schwartz (Etish Limited)</b> (1 contribution)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=4efbc11b439ea12f82f65319435399c59103d3bf">4efbc1</a></td><td>6 lines</td><td>04/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=342676">Bug 342676</a>: correct documentation of the hosted repository context path</td> </tr>
+ <tr><td colspan="4"><b>Lazar Kirchev (SAP SE)</b> (5 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=dca28ed19a957c7ebbcfacc5648817d212dceb32">dca28e</a></td><td>3,945 lines</td><td>01/27/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328566">Bug 328566</a>: enhanced telnet support over the equinox console</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=73644c6f41c9bb6f4bf292df4c6de2fa98626127">73644c</a></td><td>19 lines</td><td>07/20/2011</td><td>Fixes the IDs of the listed with vsh bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=68364da07711be029e969ddc732f64aa610e343d">68364d</a></td><td>1 lines</td><td>07/20/2011</td><td>Fix broken vsh help command</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/328566">328566</a></td><td>168,250 bytes</td><td>01/27/2011</td><td>Add TAB completion and command History to Virgo console
+Attachment 187730: Proposed patch for enhanced telnet support over the equinox console</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/328566">328566</a></td><td>6,380 bytes</td><td>01/27/2011</td><td>Add TAB completion and command History to Virgo console
+Attachment 187731: Documentation patch for the telnet enhancement patch</td> </tr>
+ <tr><td colspan="4"><b>Mathilde Ffrench</b> (1 contribution)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=21b8ce990e084f184ac3e9231bcfcd13698dab53">21b8ce</a></td><td>35 lines</td><td>08/04/2015</td><td>437526 - Fixes "Incorrect number of parameters" for plan commands</td> </tr>
+ <tr><td colspan="4"><b>Olivier Girardot</b> (11 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b3371b81c9e8558cbd6c06a189a9bedc98e7681b">b3371b</a></td><td>140 lines</td><td>08/09/2010</td><td>Added ConfigurationAdminDumpContributorTests from Olivier Girardot (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322088">Bug 322088</a>).<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3f475aa14aa9a6b70736345143991471e3400a03">3f475a</a></td><td>124 lines</td><td>08/10/2010</td><td>New BlockingSignalTests contribution.<wbr> (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321397">Bug 321397</a>).<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6aed63fd535198d320a2be88e63e6388258e5210">6aed63</a></td><td>107 lines</td><td>08/13/2010</td><td>Modified ConfigurationAdminConfigurationInfo to cope with null Dictionary;</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=31a6e18ea6338456d6d3e496f289ba3a23b4cbc6">31a6e1</a></td><td>87 lines</td><td>08/16/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322424">Bug 322424</a> - Add tests for class org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>authentication.<wbr>Role</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=cdaa5762188022199c1a98b776ea49eb584e56df">cdaa57</a></td><td>169 lines</td><td>09/10/2012</td><td>322258: Add tests for User class</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/321397">321397</a></td><td>3,720 bytes</td><td>08/06/2010</td><td>Adding tests for kernel core class org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>core.<wbr>BlockingSignal
+Attachment 176073: Cleaned up contribution file</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/322088">322088</a></td><td>3,802 bytes</td><td>08/08/2010</td><td>Adding tests for kernel core class org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>config.<wbr>internal.<wbr>ConfigurationAdminDumpContributor
+Attachment 176120: Proposed test class with two test case</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/322176">322176</a></td><td>3,909 bytes</td><td>08/09/2010</td><td>Adding tests for kernel core class org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>config.<wbr>internal.<wbr>ConfigurationAdminConfigurationInfo
+Attachment 176176: Proposed test class with six test cases</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/322176">322176</a></td><td>3,577 bytes</td><td>08/12/2010</td><td>Adding tests for kernel core class org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>config.<wbr>internal.<wbr>ConfigurationAdminConfigurationInfo
+Attachment 176497: Updated class after review</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/322258">322258</a></td><td>5,182 bytes</td><td>08/10/2010</td><td>Adding tests for kernel authentication class org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>authentication.<wbr>User
+Attachment 176257: Proposed test class with nineteen test cases</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/322424">322424</a></td><td>2,159 bytes</td><td>08/11/2010</td><td>Adding tests for kernel authentication class org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>authentication.<wbr>Role
+Attachment 176391: Role test class with nine test cases</td> </tr>
+ <tr><td colspan="4"><b>Patsy Phelan</b> (5 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=72af32cc6ee51a146b37773fecdfb03fbe12d81a">72af32</a></td><td>4 lines</td><td>10/28/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328922">Bug 328922</a>: fix menu-bar sample</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=3055636913a07164d6784747f263f213779957b7">305563</a></td><td>897 lines</td><td>12/13/2010</td><td>Apply patch of improved sample application</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/328922">328922</a></td><td>2,883 bytes</td><td>10/28/2010</td><td>virgo snaps menu-bar sample does not work
+Attachment 181933: Git Patch Set for fix.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/330300">330300</a></td><td>55,244 bytes</td><td>11/15/2010</td><td>Virgo Snaps example with Spring MVC
+Attachment 183179: Sample Code Bundles.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/330300">330300</a></td><td>2,366 bytes</td><td>11/15/2010</td><td>Virgo Snaps example with Spring MVC (Comment)</td> </tr>
+ <tr><td colspan="4"><b>Polina Genova</b> (4 contributions)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/389418">389418</a></td><td>739 bytes</td><td>09/13/2012</td><td>[util] Create a new InitialEvent that works with List of artefacts (Comment)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/389421">389421</a></td><td>512 bytes</td><td>09/13/2012</td><td>[bulk] Adapt the new multifile InitialEvent in the deployer APIs and the hot-deployer (Comment)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/389423">389423</a></td><td>97 bytes</td><td>09/13/2012</td><td>[bulk] Adapt the Nano Simple Deployer (Comment)</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/389424">389424</a></td><td>97 bytes</td><td>09/13/2012</td><td>[bulk] Adapt the Nano War Deployer (Comment)</td> </tr>
+ <tr><td colspan="4"><b>Polina Genova</b> (11 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=43e1a42138d6742aac8150d5a5c309fa12788753">43e1a4</a></td><td>270 lines</td><td>09/13/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=389418">Bug 389418</a> - [util] Create a new InitialEvent that works with List of artefacts.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=5045d35e06c9d557b8be684dbd9b83caf7037737">5045d3</a></td><td>78 lines</td><td>09/13/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=389421">Bug 389421</a> - [bulk] Adapt the new multifile InitialEvent in the deployer APIs and the hot-deployer</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=992a25ce7b04241379789a034585f35d53d76d69">992a25</a></td><td>214 lines</td><td>09/13/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=389423">Bug 389423</a> - [bulk] Adapt the Nano Simple Deployer</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=b68345ca57c21b40a9469ff9650fc573823ce586">b68345</a></td><td>85 lines</td><td>09/13/2012</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=389424">Bug 389424</a> - [bulk] Adapt the Nano War Deployer</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=dcef081f01c65bb0d91262e33c068b7c0efe2b1d">dcef08</a></td><td>289 lines</td><td>11/23/2012</td><td>394687 - Add utility class for easy handling of deployables' status files</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=be00101d51e72be056da97677031a1a0f7967d4d">be0010</a></td><td>196 lines</td><td>11/23/2012</td><td>394770 - Introduce new API method and implementations to support offline update of deployable files.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=69f434aee94bb65481b7b9153a12984c8ac83976">69f434</a></td><td>179 lines</td><td>11/23/2012</td><td>394770 - Provide implementation in virgo.<wbr>web.<wbr>war.<wbr>deployer to support offline update of deployable files.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.eclipse-mirror.git/commit?id=ce088c16daacbd2bbdc59cd6809bd2be15b57055">ce088c</a></td><td>9 lines</td><td>02/24/2013</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=400080">Bug 400080</a>: Fix the incorrect construction of URL in org.<wbr>apache.<wbr>openejb.<wbr>config.<wbr>AutoConfig.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=7a3fcf003e5dc4bf0721934f9cf3fbe217db9395">7a3fcf</a></td><td>154 lines</td><td>02/26/2013</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=400237">Bug 400237</a>: Fixed deployment of plain web applications with strange symbols in the name (such as ‘ ‘, ‘%’, ‘~’)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git/commit?id=0b08503bb3bc3c9bd54c335f32aaa0278eb3a3b0">0b0850</a></td><td>80 lines</td><td>05/17/2013</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=408123">Bug 408123</a>: Preserve original war name in deploy status files.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=0b52855ff04c254d16294143559fb79a29548e1d">0b5285</a></td><td>54 lines</td><td>05/17/2013</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=408123">Bug 408123</a>: Preserve original war name in deploy status files.<wbr></td> </tr>
+ <tr><td colspan="4"><b>Radoslav Ivanov</b> (2 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=36738175ccd15c11eee1a23987de61a7aec0e885">367381</a></td><td>30 lines</td><td>05/17/2011</td><td>346066 Patch to remove th euse of reserved names so it works with new version of EL</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/346066">346066</a></td><td>4,330 bytes</td><td>05/17/2011</td><td>Usage of reserved words for variable names could cause problem.<wbr>
+Attachment 195833: Patch proposal for jsp-s which use "import" as variable name.<wbr></td> </tr>
+ <tr><td colspan="4"><b>Rick Herrick</b> (2 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=36730cfc785531e37a1eadb7c816aacc08d5cca0">36730c</a></td><td>2 lines</td><td>05/04/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=344637">Bug 344637</a>: correctly take into account HOMEDRIVE Windows environment variable</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/344637">344637</a></td><td>218 bytes</td><td>05/03/2011</td><td>h2.<wbr>bat in greenpages sample refers to HOMEPATH environment variable, which fails when HOMEPATH doesn't exist on current drive
+Attachment 194638: Fixed h2.<wbr>bat</td> </tr>
+ <tr><td colspan="4"><b>Scott Brand</b> (2 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=006e113f9ec35c00be0ea65aac1742cdc29b6261">006e11</a></td><td>67 lines</td><td>12/14/2011</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=366351">Bug 366351</a> - Update virgo start and shutdown scripts to work under cygwin</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/366351">366351</a></td><td>11,356 bytes</td><td>12/11/2011</td><td>Update virgo start and shutdown scripts to work under cygwin
+Attachment 208240: contents of bin directory with updated scripts for cygwin support</td> </tr>
+ <tr><td colspan="4"><b>Steve Powell</b> (413 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=fbaa027e9847f690279b073f13ae272e3b42713c">fbaa02</a></td><td>2 lines</td><td>04/30/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311160">Bug 311160</a>: HeapDumpContributor writes to heap.<wbr>err not heap.<wbr>out if heap dump not possible.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=f7c1aff6e096e8f269d0ed623560d76338305d9f">f7c1af</a></td><td>56 lines</td><td>05/06/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311858">Bug 311858</a>] Extend DumpIntegrationTests checking.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=35f9f04337a58414aed29cd8d6ecda1606e87b22">35f9f0</a></td><td>82 lines</td><td>05/10/2010</td><td>Remove com.<wbr>springsource debris</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=d48f5875813d79a4a4e75b745c48f623a7f7db5a">d48f58</a></td><td>82 lines</td><td>05/10/2010</td><td>Remove com.<wbr>springsource debris</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=5bb3d4b7c61a442e8ade7333f4e661620ced4aa4">5bb3d4</a></td><td>318 lines</td><td>05/11/2010</td><td>New FileSystemUtils.<wbr>list*(file,*) to replace File.<wbr>list*(*).<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=848a40bff54e59304aa7b8763ed2a951ec783da0">848a40</a></td><td>318 lines</td><td>05/11/2010</td><td>New FileSystemUtils.<wbr>list*(file,*) to replace File.<wbr>list*(*).<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=32846a10541e1bac124be33b2cc017fcbc5b84d2">32846a</a></td><td>4 lines</td><td>05/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=66326229eadcd2e005147b02a88a7f6bb2469458">663262</a></td><td>14 lines</td><td>05/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=1421e554d544cd9f634b75a0f82bcb45c99bcd32">1421e5</a></td><td>20 lines</td><td>05/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=b2193421be295b492a15618b4101300f28354ce1">b21934</a></td><td>20 lines</td><td>05/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=637b977f366bd4f6d2656065f067d037cdd9aab6">637b97</a></td><td>198 lines</td><td>05/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=49cec48bbdeaa66b5571dcb9930a32eb2ab48be2">49cec4</a></td><td>18 lines</td><td>05/12/2010</td><td>Use FileSystemUtils.<wbr>list*(file,*)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=29d847ecf046219408f664faee52bbf36aab4969">29d847</a></td><td>28 lines</td><td>05/12/2010</td><td>FileSystemUtils.<wbr>list*(file,*) usage.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=92c5bf1bf6664b25250fabc4886f9ee73c81c8c8">92c5bf</a></td><td>4 lines</td><td>05/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=167aa49e3e951ea7c037d4e82b84b623e3fd9d6e">167aa4</a></td><td>14 lines</td><td>05/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=22e24ad4b1e0723640b9147d5562123264052249">22e24a</a></td><td>20 lines</td><td>05/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=bd233cd0b4c1c1c07ad621f655eb75c631ac5164">bd233c</a></td><td>20 lines</td><td>05/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ff6f4b8bbc3b209ba12938d85ff6e6c0caedda86">ff6f4b</a></td><td>198 lines</td><td>05/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=3559cfc9330713839a3ddcc664809dca9efc3d8f">3559cf</a></td><td>5,874 lines</td><td>05/19/2010</td><td>Initial checkin from web commit 33fb1cf8d9608d64b23db89ef345212f91c13a64</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=e65e88c798efd0b33d59bf809e98c42155139af5">e65e88</a></td><td>19,305 lines</td><td>05/19/2010</td><td>Missing files from original web repository.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=60ecdfbc05cb95a2c2999d3ad9dcdcafbb8be41e">60ecdf</a></td><td>83 lines</td><td>05/21/2010</td><td>Added moveTo() operation to PathReference (plus tests).<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=6b0025210efa9a50e8c7d14ad9de1fe6484e8e9c">6b0025</a></td><td>83 lines</td><td>05/21/2010</td><td>Added moveTo() operation to PathReference (plus tests).<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=bf4ca47e53b33a5072b684c15807829de259ca00">bf4ca4</a></td><td>172 lines</td><td>05/25/2010</td><td>Rename help resource files.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ed3a002da355ba83b6baa5ce455245b8ad49eeef">ed3a00</a></td><td>213 lines</td><td>06/03/2010</td><td>Added empty project org.<wbr>eclipse.<wbr>virgo.<wbr>kernel.<wbr>osgicommand, and CommandExecutor and LinePrinter interfaces to shell project.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d18bddeb3f6ea4f7e8f523b863ddfd504f08c85d">d18bdd</a></td><td>2 lines</td><td>06/03/2010</td><td>Fix osgicommand project build file.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b48e3ffdaaa07d6599d191062c1c0ac77149b185">b48e3f</a></td><td>190 lines</td><td>06/03/2010</td><td>Refactor JLineLocalShell to expose CommandExecutor and implement single command executor.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6cee9a90e0d1b5e54f0e63328bc48236e1253708">6cee9a</a></td><td>315 lines</td><td>06/03/2010</td><td>Refactoring to separate JLineShell and command execution properly.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=92e00f8b16b8abf4eaa4ca6636e2529a17084705">92e00f</a></td><td>2 lines</td><td>06/03/2010</td><td>Omitted reference to singleCommandExecutor</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e517523743e7994357f834698dc3dc4dbc398af5">e51752</a></td><td>160 lines</td><td>06/04/2010</td><td>Added Activator and Kernel shell bridge code to osgicommand bundle.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6ead204e83fe59f6bdb7d2c52bddcd4bf1fe0275">6ead20</a></td><td>7 lines</td><td>06/04/2010</td><td>Dummy _vsh command in bundle with minimal external surface.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4e0c0b87d13161e3df7789da03efd6fe49245aef">4e0c0b</a></td><td>43 lines</td><td>06/04/2010</td><td>Added call to Kernel command executor to osgicommand bundle</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=553abc38e16b79b2badd75813b73bf0cbd51d495">553abc</a></td><td>8 lines</td><td>06/04/2010</td><td>Modify config to start userregion with osgicommand bundle included and osgi.<wbr>console present.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=432cce059e09db910a39cf55e39e5a4858e9dde8">432cce</a></td><td>33 lines</td><td>06/04/2010</td><td>Update osgicommand bundle to delay getting service form kernel</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=fc3bca4514fec231bff3b94c4e6700888f577136">fc3bca</a></td><td>5 lines</td><td>06/07/2010</td><td>Fix help in osgi.<wbr>console</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=a5d0b2bff18cd953c740351f668702bda73b25d4">a5d0b2</a></td><td>636 lines</td><td>06/07/2010</td><td>Removal of JLine references</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c55b9edb4083f8557f90d686d2c283b046d466f7">c55b9e</a></td><td>67 lines</td><td>06/07/2010</td><td>Partial reversion of Jline elision.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=37ef34527077d61826c55fc00b6b474945e4fa9d">37ef34</a></td><td>10 lines</td><td>06/08/2010</td><td>Residual jline references removed.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=88b5502c2f1696cca884859c8d066f397f94888b">88b550</a></td><td>5 lines</td><td>06/08/2010</td><td>Added osgicommand bundle to kernel.<wbr>test framework</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=db4ed2a8928328945719045e9a4924d94e902c5a">db4ed2</a></td><td>8 lines</td><td>06/08/2010</td><td>Remove -shell option from dmk</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f5fa8ecc2bf3bb57af4721172bb7f04838f878cb">f5fa8e</a></td><td>4 lines</td><td>06/08/2010</td><td>Adjust exit help for shell command.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f5bf514e0c79bd300c14edd1bda87bfdbbd598e0">f5bf51</a></td><td>39 lines</td><td>06/08/2010</td><td>Disable remote shells properties (shell.<wbr>port, shell.<wbr>enabled); give warning if used.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=eaf03fc32fc335ad0cf216588cfa1391b96f2bb2">eaf03f</a></td><td>9 lines</td><td>06/08/2010</td><td>Set osgi.<wbr>console to 2401 by default; ssh shell removed from default kernel configuration.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f7c063bcc18fabf62d45aff2e39d795de46e802e">f7c063</a></td><td>1,046 lines</td><td>06/08/2010</td><td>DELETE SHELL SUPPORT</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=43de3768eca1cca708b77bdac968d835dd8018f9">43de37</a></td><td>19 lines</td><td>06/09/2010</td><td>ExceptionCleaner javaDoc corrections.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=73dbd7ebbd02748440ddf96928e5da3442a80e67">73dbd7</a></td><td>19 lines</td><td>06/09/2010</td><td>ExceptionCleaner javaDoc corrections.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=3a66592cc2421328188f9246b2d60a633c932704">3a6659</a></td><td>142 lines</td><td>06/09/2010</td><td>Added explicit test for moveTo to check that fast move works.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=d92ba88c69ee1a35e20660287754d09d23915143">d92ba8</a></td><td>142 lines</td><td>06/09/2010</td><td>Added explicit test for moveTo to check that fast move works.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=530c29e26a5141f862d676cc285305781df0cfc6">530c29</a></td><td>23 lines</td><td>06/09/2010</td><td>Add test for coverage of moveTo() method on PathReference.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=ef91cd288b6f26b2b8cba57c3d14eeedda86e9a9">ef91cd</a></td><td>23 lines</td><td>06/09/2010</td><td>Add test for coverage of moveTo() method on PathReference.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=348ac906e72b037eabe0ec7f982819507414617d">348ac9</a></td><td>2 lines</td><td>06/09/2010</td><td>Put web-server in eclipse git for ripplor.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2e26940d107dcfa29396e3731f00966710604970">2e2694</a></td><td>2 lines</td><td>06/10/2010</td><td>Re-expose shell.<wbr>* packages to userrregion for admin app.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=a8e88031cad0a9d128ce02756f2b4b436b6316c8">a8e880</a></td><td>21 lines</td><td>06/10/2010</td><td>Remove references to service wrapper</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=046ed0b207771245004de33633c5ce88c147fe4d">046ed0</a></td><td>4 lines</td><td>06/10/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=d558db66e760460015a212cb4613c00af3abf227">d558db</a></td><td>16 lines</td><td>06/10/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=aa25f60d0a2121a743f0bdb823187960af3f9a5a">aa25f6</a></td><td>16 lines</td><td>06/10/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8b40e01bf0b4cda166b4bbd54e38bc9dec6345c0">8b40e0</a></td><td>164 lines</td><td>06/10/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=3e4f4517cea771e473cdd0f2f5d03df0c7c5d029">3e4f45</a></td><td>28 lines</td><td>06/10/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=22f203ed66a14dedc6f37f8974f181132279729e">22f203</a></td><td>74 lines</td><td>06/10/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=18b46b919dd5b840b695c69eb9f099ee01bd55b2">18b46b</a></td><td>64 lines</td><td>06/10/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=289c250250fd808d271b3121cf40f4603964b1d9">289c25</a></td><td>14 lines</td><td>06/10/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=b70b67dc23910c84185e8b7dbdc823e13bdef4fe">b70b67</a></td><td>606 lines</td><td>06/10/2010</td><td>Update releaselor for virgo releases</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=2bbd6de9cfd8c3802c1bc7c7e9aeff50fc3aa3f6">2bbd6d</a></td><td>6 lines</td><td>06/10/2010</td><td>Typo in call syntax in ripplor.<wbr>rb</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=367d7f9aee104c032e27e032630343512d4e317f">367d7f</a></td><td>24 lines</td><td>06/11/2010</td><td>Remove publish-static and properties.<wbr>keys from releaselor.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=2b96d7db8aeb61de8d5b7baca09dc8b4d556fd05">2b96d7</a></td><td>8 lines</td><td>06/11/2010</td><td>Push overridden in repository.<wbr>rb</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=d5a14e9771a348e1fa3311ed92c5d6e1a3c73ce6">d5a14e</a></td><td>29 lines</td><td>06/11/2010</td><td>Implement DRY_RUN notifications for releaselor</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=37bc3ff9bde4ab78977731f3b7e8c48bcef64802">37bc3f</a></td><td>2 lines</td><td>06/11/2010</td><td>Typo in repository build() method.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=cf2b24ad8f0f08def3e76452dafbb03168c69aee">cf2b24</a></td><td>4 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=12c6f79773d9309596f978e00048bf35ee5bb6cf">12c6f7</a></td><td>14 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=3c97c4a8651cb60b77a26e8affad0493bca09f03">3c97c4</a></td><td>20 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=a159d3f920f07355d45a2a7cd7ed871e79e7a7d3">a159d3</a></td><td>20 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=adce84e6b55bcbe0ca7005a2f4794f5fd3faf467">adce84</a></td><td>200 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=b82f886af2853c45856d9dc5df01428fca7aab32">b82f88</a></td><td>32 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=8ac1d524d248157ece0fa47314f074389b50429f">8ac1d5</a></td><td>86 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=f14512efabcdd3e414d7f5ca633e38701e4eb5ee">f14512</a></td><td>80 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=9db17ee02cee78d5025a0f9a7afe5304398bd59a">9db17e</a></td><td>16 lines</td><td>06/13/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=69ce9b01b056c56919defbd9ff7372b1430f59d5">69ce9b</a></td><td>1 lines</td><td>06/13/2010</td><td>Remove osgi-test-stubs from releaselor list</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=eb6bb5e67b1bfe46be93eb124e2600d3edbcccf8">eb6bb5</a></td><td>1 lines</td><td>06/14/2010</td><td>Revert "Remove osgi-test-stubs from releaselor list"</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=39adfabb67835c428a4d5aaa12677d0e75c717a3">39adfa</a></td><td>18 lines</td><td>06/15/2010</td><td>Updated version references in templates and MANIFESTs to prepare for version upgrade.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6df13253674d8c09befdea066cdc5ebf82017960">6df132</a></td><td>106 lines</td><td>06/15/2010</td><td>Userregion import package filters widened completely.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=51cacdde39455abc7ac566fa77268b1c8057f559">51cacd</a></td><td>32 lines</td><td>06/15/2010</td><td>Update userregion properties to widen completely the version ranges of import packages from the kernel.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8dda7f9a067334cfc68e000d63400f11c84a9cd0">8dda7f</a></td><td>9 lines</td><td>06/15/2010</td><td>Exploit PathReference.<wbr>moveTo() in kernel deployer for performance.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=f16bf98f1d5680197c33b9c4bf15bf79f3a0d242">f16bf9</a></td><td>2 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=598e2f46a24e9fe211b4d52f223b314ed5fb99ce">598e2f</a></td><td>4 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=0d8600b5ecdd3eae1061aaa8d6f74e5bd8259770">0d8600</a></td><td>4 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=1bdadd4edf83e934f81a21875299d34ef46e70cb">1bdadd</a></td><td>14 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=22787345c0d21b7da6b6c0b356fcabf71e54470e">227873</a></td><td>4 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=de3c6f393b7666e2a74ca751d53a23b775236678">de3c6f</a></td><td>20 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=c946a80c054a06bec1cd5b38b37a794dc75a0e56">c946a8</a></td><td>20 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=07418690d07bc526e26bb4b42f53431341f1ffbf">074186</a></td><td>4 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=73a574003cb410e494ba7a76f4a27b9ae0f4bc1e">73a574</a></td><td>200 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f233628312b5a4dc6bf25be2855ca3369e0a3f2a">f23362</a></td><td>4 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f3038729c088f0acac84d94f2488c96c20090778">f30387</a></td><td>32 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=7d9d81d0b83e7722b83cee377c4663376bc7e5a3">7d9d81</a></td><td>4 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=26088f6c93efb6e16aedb2067956a3d972f9063a">26088f</a></td><td>86 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=f607cab14213b5c318d8086dbec56dcbc0cfcbba">f607ca</a></td><td>4 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=6cc7268093968e9ff760b53c6d584b888953efeb">6cc726</a></td><td>76 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=686beeb5d96be77c774f645a338fde3dbb87bf69">686bee</a></td><td>16 lines</td><td>06/15/2010</td><td>[RELEASELOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=4ddcc4b7ed0f9b8588be757621a05f82a1a75d74">4ddcc4</a></td><td>4 lines</td><td>06/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=d4f046abc63c8cf7c857242e69face7e20e2c069">d4f046</a></td><td>36 lines</td><td>06/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a96b2f39dd39e4f3dd774ddaf2361f8f8ac7e840">a96b2f</a></td><td>26 lines</td><td>06/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=021496e0e553fa6aabc425ed86a30b3a19b06614">021496</a></td><td>8 lines</td><td>06/16/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=60250a1633fe857226bc713496ced2cbeea087ba">60250a</a></td><td>3 lines</td><td>06/16/2010</td><td>Delete obsolete update-dependency script.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=888c32975854d80332cf7fb343adb0fa7f02ac54">888c32</a></td><td>2 lines</td><td>06/23/2010</td><td>Medic dependency version updated.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2723d759b41505fe2655e2f4e2217ecf85e3a616">2723d7</a></td><td>4 lines</td><td>06/24/2010</td><td>[DMS-2719] Suppress dump-producing tests for artifact size reduction.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=1da6f3e5fcddeaa73ae2bf2cf139578469e1b524">1da6f3</a></td><td>159 lines</td><td>07/02/2010</td><td>Diagnose file.<wbr>list() null problems in FileSystemChecker.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=1ea56706acc1aa468f085e047227432ecbf41aaa">1ea567</a></td><td>159 lines</td><td>07/02/2010</td><td>Diagnose file.<wbr>list() null problems in FileSystemChecker.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=c2d719b1c9ef4ccc7a4453b5c7adbed8e98d3f2b">c2d719</a></td><td>69 lines</td><td>07/02/2010</td><td>Add diagnostics (debug logging) to FileSystemChecker</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=db33e6aa96ecdcd08df17215a3419a311282a15e">db33e6</a></td><td>69 lines</td><td>07/02/2010</td><td>Add diagnostics (debug logging) to FileSystemChecker</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=91b011a07b7ac3d9280a619cfc0b1b403480fb2f">91b011</a></td><td>8 lines</td><td>07/02/2010</td><td>Make logger lighter in FileSystemChecker</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=d4bc7256ef418e5ce644dedf00f7c61c3643e088">d4bc72</a></td><td>8 lines</td><td>07/02/2010</td><td>Make logger lighter in FileSystemChecker</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=7eef01ea10d47015a3a51ee5f2117bf1cb63d764">7eef01</a></td><td>2 lines</td><td>07/02/2010</td><td>Add logger to new FileSystemChecker() args.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=0127ddd85413fc75e0f8256285b6517628f176cf">0127dd</a></td><td>181 lines</td><td>07/09/2010</td><td>[DMS-2769] Improve service waiting in user region startup and add diagnostics.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f743671d013f1b4a5b7b62201ac30742f60a1981">f74367</a></td><td>221 lines</td><td>07/09/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319401">Bug 319401</a>] StartupTracker improved.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=b69c0e172e9997de818d3913300da74a4c4b7d60">b69c0e</a></td><td>706 lines</td><td>07/19/2010</td><td>Boost util tests to meet 80.<wbr>2% covearge minimum.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=f4aaabd1884b1ddad308624bfcb8321e2ea777e8">f4aaab</a></td><td>706 lines</td><td>07/19/2010</td><td>Boost util tests to meet 80.<wbr>2% covearge minimum.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=0f94eb95a308c19466a245c565979a8ad8f07f2c">0f94eb</a></td><td>63 lines</td><td>07/19/2010</td><td>Modified FileSystemCheckerTests to allow for variation in platform.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=28add79bd2eb53d91e4adf6b5a37c3fea313eb76">28add7</a></td><td>63 lines</td><td>07/19/2010</td><td>Modified FileSystemCheckerTests to allow for variation in platform.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=56c284f2316422affc626b85b9d2e4023f0dacfd">56c284</a></td><td>16 lines</td><td>07/19/2010</td><td>Adjust FileSystemCheckerTests testDebugState() test for Windows variation.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=5f52bfb15f8bb1f2a08705a069e8d7bf3efd85cc">5f52bf</a></td><td>16 lines</td><td>07/19/2010</td><td>Adjust FileSystemCheckerTests testDebugState() test for Windows variation.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=7c21d39c6804ed5e1150fd54002dcae5f164a638">7c21d3</a></td><td>4 lines</td><td>07/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=e2d3e5b951ea242d7cbd16779d3cfee64e6efcd1">e2d3e5</a></td><td>16 lines</td><td>07/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=af619a03e61eea2008375218dafa55545fc7ea63">af619a</a></td><td>16 lines</td><td>07/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=78fdd5fe47cbdaec4b797ecc30b3f52920bac1f9">78fdd5</a></td><td>184 lines</td><td>07/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=d9436cf010e7b0ccd4269d35076334119d4f2d66">d9436c</a></td><td>28 lines</td><td>07/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=20d642dcaf1ede60015679a143b62005ed6f504b">20d642</a></td><td>76 lines</td><td>07/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=c60dce9dca30bb05d8e44d09f5dac80d33c1fe3a">c60dce</a></td><td>68 lines</td><td>07/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=a98d5edf988531f256c16486c6f1e7fc89ac5108">a98d5e</a></td><td>14 lines</td><td>07/20/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=a5f9aa070719c584a20aec71db02ef68bb054f37">a5f9aa</a></td><td>4 lines</td><td>07/20/2010</td><td>Update version.<wbr>rb to correctly delimit variable names in scan.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=dca06f374188da4751d356e7ebfcb6fc5ee39d01">dca06f</a></td><td>1 lines</td><td>07/20/2010</td><td>Remove reference to com.<wbr>springsource.<wbr>json in build.<wbr>versions.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=e6afdc0bd3794e69f4d581026c53dd6fd479e834">e6afdc</a></td><td>100 lines</td><td>07/22/2010</td><td>Update code-style_templates.<wbr>xml for headers and comments.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=fab1eacb33bd582536d61003d07d7629826aea24">fab1ea</a></td><td>86 lines</td><td>07/22/2010</td><td>Update code-style_templates.<wbr>xml new file comment.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=b2842bafe10fee101a48d9893350514d537318d1">b2842b</a></td><td>3 lines</td><td>07/22/2010</td><td>Last update to eclipse code-templates.<wbr>xml.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=ee5acefa0fcc7e5ee1014e8e017eb280d729564a">ee5ace</a></td><td>2 lines</td><td>07/22/2010</td><td>Post last update to the eclipse code_templates.<wbr>xml.<wbr> Project reference improved.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=77913bed42425fda2f4ca5c9a836eb6c86a27348">77913b</a></td><td>150 lines</td><td>07/22/2010</td><td>Patch to preserve synchronous deployment option in recovery log.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=bb6624e842aa1dec1fbbf7508a6ec9a32ae48340">bb6624</a></td><td>4 lines</td><td>07/28/2010</td><td>Update osgi.<wbr>console port number</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=78de5a300f13106bbec247fb50076c6797296ecf">78de5a</a></td><td>10 lines</td><td>07/28/2010</td><td>Update to gemini-web 1.<wbr>1.<wbr>0.<wbr>CI-37</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=e241b3890a9bbea1e2d492d77d56fda94b05d0f8">e241b3</a></td><td>4 lines</td><td>07/28/2010</td><td>Update gemini-web dependency to 1.<wbr>1.<wbr>0.<wbr>CI-37</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=f0c30336a41fdcea336b4836b84393d16474a7d6">f0c303</a></td><td>3 lines</td><td>07/29/2010</td><td>Add osgi.<wbr>configuration.<wbr>area=target to test.<wbr>config.<wbr>properties</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=ac5a229e5de7789615437dcbc27f19d3625ee6f2">ac5a22</a></td><td>28 lines</td><td>07/29/2010</td><td>Made OSGi Framework tests use osgi.<wbr>configuration.<wbr>area=target by default.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=a57eadc90dc832e3ff54b9ef35fd197edbecebe5">a57ead</a></td><td>1 lines</td><td>07/29/2010</td><td>Modify smoke-test to use target as osgi work area.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=9183394167f0018193ffa134c07382d4ba318fc7">918339</a></td><td>57 lines</td><td>07/30/2010</td><td>Change level of EntryExit traces to omit INFO level -- and update tests.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=b3eb587848cd4959214fedfbb36520880ac40611">b3eb58</a></td><td>6 lines</td><td>07/30/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ee5644695ec0bcfff1a6a824223d698a3fb68744">ee5644</a></td><td>70 lines</td><td>07/30/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=cef61e1daca876fa00a98129f356e76b0c650662">cef61e</a></td><td>12 lines</td><td>07/30/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=8ec8ea63d04a9c17c19577ce4807e20dcddd0f5a">8ec8ea</a></td><td>48 lines</td><td>07/30/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=f107ddd9f9f0b165eb31cc896cb79e69bed249d4">f107dd</a></td><td>40 lines</td><td>07/30/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=9dab4ca84483e4d7e704077bb0bb1aa1fb43f3e9">9dab4c</a></td><td>12 lines</td><td>07/30/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=85b496ed8734229fa11fcf788ef534c6d319ac68">85b496</a></td><td>8 lines</td><td>08/04/2010</td><td>[<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321634">Bug 321634</a>] Fix version pattern in plan schema.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9e949d4cf3764ed07a360ae730818f57f68e8f53">9e949d</a></td><td>3 lines</td><td>08/06/2010</td><td>Merge update build.<wbr>versions to incloude org.<wbr>slf4j.<wbr>spi.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=4d6a7662de835a83ef271d1de020e2ead7624066">4d6a76</a></td><td>3 lines</td><td>08/06/2010</td><td>Update build.<wbr>versions to include org.<wbr>slf4j.<wbr>spi version.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=9a4bdef5f63ffd6a9c3e68f8d1888c998fba9bac">9a4bde</a></td><td>5 lines</td><td>08/06/2010</td><td>Clover coverage increased to count Lexer and Parser tests and TestLogger.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=ff9bcb0d16e475deeee49c9aa22d6518929133cb">ff9bcb</a></td><td>5 lines</td><td>08/06/2010</td><td>Clover coverage increased to count Lexer and Parser tests and TestLogger.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=f10c04a003167419fd331b3d2ca84162a5967160">f10c04</a></td><td>2 lines</td><td>08/12/2010</td><td>Fix eclipse .<wbr>classpath sources for o…e…v…osgi.<wbr>launcher in o…e…v…kernel.<wbr>deployer.<wbr>test.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c3b5384044e320802bdf87cc69ad9d02b209afe0">c3b538</a></td><td>12 lines</td><td>08/13/2010</td><td>Attempt to eliminate warnings about unused throws.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=0fb31a9daa52e31c65fadb0d8b27da2cd16006ab">0fb31a</a></td><td>96 lines</td><td>08/18/2010</td><td>Remove Eclipse project specific settings for util projects.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=2893120ad368edeb1886052465e258a0d86b7882">289312</a></td><td>96 lines</td><td>08/18/2010</td><td>Remove Eclipse project specific settings for util projects.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9bae333d31bab197826268f48adef822b8193866">9bae33</a></td><td>168 lines</td><td>08/18/2010</td><td>Remove Eclipse project specific settings from kernel projects.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2365a10aafa75e56cf4068b723f53cf805c845f3">2365a1</a></td><td>8 lines</td><td>08/19/2010</td><td>Configuration adjustments in tests and root logging level in external config.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=84cc25b89c6e9ff13f2adf2a793e58fcfc675850">84cc25</a></td><td>13 lines</td><td>08/19/2010</td><td>Remove all references to mina and sshd.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=24f99d8ce00487a2e43b4ef2558eeb69424c0d02">24f99d</a></td><td>12 lines</td><td>08/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=a62af6a4832b7e5a0dc7c4f176e840678542f750">a62af6</a></td><td>16 lines</td><td>08/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=9c3010bdf06eeb2f4bf7ea2c1f1f54473ad3a8cf">9c3010</a></td><td>16 lines</td><td>08/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=468be5426462914e3dc222a17099f421a5b9fc62">468be5</a></td><td>198 lines</td><td>08/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=a1c58eea767a11db2adf8078a890d25333940374">a1c58e</a></td><td>32 lines</td><td>08/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=d24a7e3ec47a666c5687cea4fdb67e0f60174adb">d24a7e</a></td><td>84 lines</td><td>08/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=ab99121cb22ef6179df3191934d0244aeacef5c3">ab9912</a></td><td>74 lines</td><td>08/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=439d4948179e4c97bda7a2eb91a70cb937b7da59">439d49</a></td><td>16 lines</td><td>08/23/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=08ca82d97231f06967cfa7011c4385255b2370e8">08ca82</a></td><td>105 lines</td><td>08/25/2010</td><td>Remove EquinoxConsoleManager -- it is not used.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=b604654b8d654a716cebf5d81d779658b978cf31">b60465</a></td><td>24 lines</td><td>09/03/2010</td><td>Update tomcat and related dependencies;</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=8fc0cc3772a1cb43a9b6f6dd60cc8b0b9d06597f">8fc0cc</a></td><td>3 lines</td><td>09/06/2010</td><td>Remove unnecessary (and unsatisfiable) import from org.<wbr>eclipse.<wbr>virgo.<wbr>apps.<wbr>admin.<wbr>web</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=5c391df6136a2b8ff046845afd1f03f0fa13ff89">5c391d</a></td><td>8 lines</td><td>09/06/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=aea8d6f4421c4884a9f3aabccdb65adbfc8a2106">aea8d6</a></td><td>6 lines</td><td>09/06/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=324b15fff166c9cdf3c86aa16b586f6086bd199f">324b15</a></td><td>2 lines</td><td>09/06/2010</td><td>Version.<wbr>rb: allow var name prefixes to be detected, but only full dot levels.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=dab19bed4d58b314a5d77b8fef58d85faa73b977">dab19b</a></td><td>6 lines</td><td>09/10/2010</td><td>Test setproxy</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=93125678461a176e4e317bd71ca77fb96cfd4145">931256</a></td><td>2 lines</td><td>09/10/2010</td><td>Test test</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=b690b597f078ba27caa9cbfc9fd516f318d3b3da">b690b5</a></td><td>4 lines</td><td>09/10/2010</td><td>test test 2</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=c30043918ccbc89a2885a793225f3fa437a5e6f8">c30043</a></td><td>2 lines</td><td>09/10/2010</td><td>test test 3</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=1b2ff91619b09c06f48030af959236e581839df8">1b2ff9</a></td><td>1 lines</td><td>09/13/2010</td><td>Add require 'fileutils' to update-dependency.<wbr>rb script.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=581b6f93bf8441423e4f9b783f7c58f0551ce854">581b6f</a></td><td>12 lines</td><td>09/14/2010</td><td>Remove strange chars from javaDoc.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=386b231b56863ee5c8f6700a60abf536875db67a">386b23</a></td><td>227 lines</td><td>09/17/2010</td><td>Removed references to Admin Shell.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=9d18a642c4a00d20c078ac1d656fa9647e39bb2b">9d18a6</a></td><td>65 lines</td><td>09/17/2010</td><td>Tidied up refs to Admin Shell and explained about enabling the Equinox Console.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6116c5814645067f628b77400b940686c53e83fd">6116c5</a></td><td>120 lines</td><td>09/17/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322626">Bug 322626</a>: documentation corrections for Equinox Console and extension</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=2f246b6f7fdb8db926bce15b27fab8cdb7efdd3e">2f246b</a></td><td>221 lines</td><td>09/17/2010</td><td>Some docbook markup corrections.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=95f4f6de837d528fa0779a6795dde808df38c35a">95f4f6</a></td><td>362 lines</td><td>09/17/2010</td><td>Merge branch '<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322774">Bug 322774</a>'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=13bbe177feb323f4ef43f48256842794e1f12992">13bbe1</a></td><td>10 lines</td><td>09/22/2010</td><td>Add 'diagnostic' target and fail condition on set-hudson-proxy.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=878d34a57524accdb5e329949a923b3e9ac5ddde">878d34</a></td><td>2 lines</td><td>09/22/2010</td><td>Updated virgo-build to version 1.<wbr>27</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=01d0aea5e3500b3a6a6dc42e50e8e463d5103887">01d0ae</a></td><td>42 lines</td><td>09/22/2010</td><td>Introduce s3-repo-read (using http proptocols)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=fe596640fb1c24f55a0d3f85691d0dfccc078605">fe5966</a></td><td>28 lines</td><td>09/23/2010</td><td>Add check-proxy target to validate proxy property settings.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=d676e60b1260292f7805bf8b11c8bbe83732ec47">d676e6</a></td><td>2 lines</td><td>09/23/2010</td><td>Updated to virgo-build 1.<wbr>29</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=869a8904b121b110f1ea4a53aa6d1626a0a1b65d">869a89</a></td><td>54 lines</td><td>09/23/2010</td><td>Delete spurious ivysettings.<wbr>xml files.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=039dcaf2ca0c902846aa392f7822dc9635a23e13">039dca</a></td><td>6 lines</td><td>09/28/2010</td><td>run a shell command on the build system (private target for test)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=65ac1dfdb19958cf53b8ded82a29fb814444262e">65ac1d</a></td><td>4 lines</td><td>10/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=51ee953144a88004155f134aff5eae85542d1b89">51ee95</a></td><td>6 lines</td><td>10/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=53c73326d35be93902fe111093f9bd8eea626d9d">53c733</a></td><td>72 lines</td><td>10/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=5efbc7f1ef1f8ac2318e237a47a877b4d2bd653d">5efbc7</a></td><td>16 lines</td><td>10/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=a801f8fb1adf54ad55fdebd3ddd0e19bde461d03">a801f8</a></td><td>52 lines</td><td>10/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a33db3426fa886763f998ebc5d74f3152a592da4">a33db3</a></td><td>52 lines</td><td>10/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=95e0403079c32a8db23519d4e01d6737f2447249">95e040</a></td><td>12 lines</td><td>10/12/2010</td><td>[RIPPLOR] Updated versions</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=d5953f85fbfe4b3bf204ea73c5ed9d90c882adec">d5953f</a></td><td>41 lines</td><td>10/15/2010</td><td>Added all-bundles-exec variant of all-bundles to multi-bundle and exec-ant to common.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=46130d96a13236a84ca0f09748aee05de96b533c">46130d</a></td><td>2 lines</td><td>10/15/2010</td><td>Updated to virgo-build 1.<wbr>30</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=3893614a862cde17dc8d87c4df8291adc0538682">389361</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=0257ab2ee97be176423bef4c726e960237fbb365">0257ab</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=aea32ae4f85ebc4ca1a1269219aab44c8ad566cb">aea32a</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=05b1d33297dc54c68dbe357bbe4be1f1f0986c4d">05b1d3</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=791c11d1593ce6e0bf26b23a293c2fdb984d36fd">791c11</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=c44e7ba08f4faf66d1448eecd8b9d5c50021b0bf">c44e7b</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=7b0822c334546ef1fb78575af983779e7e4ba677">7b0822</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=1c96db6ab2c46452fc0fd564265b92caf6ab0cd7">1c96db</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=5c85a9e91511e592a40bd47faa1fff0b0aad7884">5c85a9</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=4d10fed9b1d3f6b9485e48dc773c9b8efeb677e5">4d10fe</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=26fe89a9c19705e26950ec63f106d554b895e18e">26fe89</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=3da99fa1b6f15f1f82e84f4e5666f308ad100b7c">3da99f</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=5cb32ae4a088719a497f0d93beee5aac776b116a">5cb32a</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=514f7fb01d488bc75ca83085306d078ed525237c">514f7f</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=3c8592ff6e459567cc54935c10948437cbe259fb">3c8592</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=1ee1d9a34235f835775819349bda8d30604e77c3">1ee1d9</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=6221b925f380c1de1a4b4aade0a4a1e36dc2e081">6221b9</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=21c03dd3099d1777c6616c6eb01f70c1a2231bfa">21c03d</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=d343319546a3c6a6322263edf7ecfcffd7e6e12b">d34331</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>30'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=f5ce40938b5d4230e888e7db962786f964583cfc">f5ce40</a></td><td>40 lines</td><td>10/15/2010</td><td>Augment diagnostics target to include environment variables and all Ant properties.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=af526b5c859b0e701bd98ca0f5c63e1e2f7d0eef">af526b</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=0d4eccf0437aeff68d77effc851124f2dc76e4c5">0d4ecc</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=3be7ea144e93332ceef23d868e1e233727da21a2">3be7ea</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=09e0e0484eaf4ee3d9fba6b86579c2615cc98c8b">09e0e0</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=1cb9cc26d4eb0d96fec2aba0f056b6c1cd47e8eb">1cb9cc</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=f383f11ef1794bb011e59ca668618c468394767c">f383f1</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a481e34494c0f9a974d8daaf4550451221a9a674">a481e3</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=a19c976c4cac06e9a96448b5af237a5a37ef8e27">a19c97</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=acb693f8dfa85d56ca3ea4123334756a40562815">acb693</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=391f3d3aed9eb33684af8e28315344fb7d299a45">391f3d</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=31d1b1c8fc6b534c7bff8a653accbda2aa28e9ca">31d1b1</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=d788f9cf0bbfbe0fd59edc5f750d91f220251ebd">d788f9</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=405bf97538dc86160106f000ae86b7cde6bc249d">405bf9</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=d1937c300ca77efa9fc062ddadf2898806f8c06b">d1937c</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=7216cca98ac2c8c5ef7db78c1d35412268445e45">7216cc</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=19a04b9c73ef9939e5eb4b18d27f32c49d2ec8c1">19a04b</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=3cc503fe4b07672aab4100720cf82e044bf4d1c9">3cc503</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=d5b85c9625afbc5a4a6462bb79492bba578e42e1">d5b85c</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=78c5de26e43403cbca39ffb9c8d2c07bd117f7bf">78c5de</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=0348bef9807d522b68148c702c3eabb14d3c0fe5">0348be</a></td><td>2 lines</td><td>10/15/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>31'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=0c1217331a793848ddabb498ef15c5543d500605">0c1217</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=f55dc3a6e0c03f4b239a4b3dcf82d5dcbdc23ef5">f55dc3</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=0eae9fae67f2214ea30e00172de06652e222c2c4">0eae9f</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=75288c119dc3805208719129d264ce80bbc11278">75288c</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=c1e5025188e7aa420bc30b711aebdc0ce8cf4514">c1e502</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=9b82ac13c250e11149c7950c7201c711de2be59d">9b82ac</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=f28eebdc5b6ba1fb0b6fb2b8b8d5336b6d72ab98">f28eeb</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=5318f2df6bdd667310a23838828bf79d7a2d20a8">5318f2</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8dd3a9ba38b957956afcc4cf0deac7beef17352f">8dd3a9</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=42f6ae046162e15cbbf16741ebcd73b4009c4b61">42f6ae</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=b3203c0bb828e248252e107435e9be5032c6ed78">b3203c</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=7f3e22dbda345fc9963cdcfea3b413227ed785ce">7f3e22</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=e6feb90a982256a3688d847aabcf46b3bf8060c7">e6feb9</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=ee4b08a005c22142dfee33f52dac8897a10e2e97">ee4b08</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=e077d2a0d828263df52c525fc6d3365c5dce6253">e077d2</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=dc0cf1acd79858073e6ebd69d1982fd6edbe9a5a">dc0cf1</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=7df93f6ac78ec00b6799934fe95b925855523abb">7df93f</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=03599216b8ac914b4f906a1eafcea31c31a44806">035992</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=740889228eda2f09dfbb0ef04f20f9a266709be3">740889</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=8966feac3868845372ca3d93ce1dd88924bb4de2">8966fe</a></td><td>2 lines</td><td>10/18/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>32'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=bb4162659936b55f54a5e1bdd84dbabfb594b66a">bb4162</a></td><td>28 lines</td><td>10/18/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328047">Bug 328047</a> - Remove last remaining refs to PatternLayout in logback config in medic and user-guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=f309f3e0268fe0b884b23232dcd2561a52183d9b">f309f3</a></td><td>18 lines</td><td>10/18/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328047">Bug 328047</a> - Remove last remaining refs to PatternLayout in logback config in medic and user-guide</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=577a949f2ddd7c3b86dac9f692928b65771930fb">577a94</a></td><td>8 lines</td><td>10/18/2010</td><td>Correcting the virgo-build-updatelor script to work with both 2.<wbr>1.<wbr>x and master.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=bef3499fb5a3e1d79a8a02b0ffc0e81c1bcdf710">bef349</a></td><td>13 lines</td><td>10/19/2010</td><td>Check return code of exec-ant to prematurely fail.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=29bde02321c6a9451a7462ca593d6d84f846ed0a">29bde0</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=08a1a58bb56deb5eaf0bf8a19bc4556eccf30d71">08a1a5</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=9eb1bca6427d91cac905697c6c011de4958a368b">9eb1bc</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=36c423bfa88832daae1ff1946dac1e6896671ea1">36c423</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=dc063ebc6c541f11309a7a1e1776565d68a78058">dc063e</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6cb313e92770d21d1547fe67e5d651d85b4439f0">6cb313</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=3e49cf5242b67c145c5d69a5b3a965aeacd0b7cc">3e49cf</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=4fb9341006b8f92fe59bfe8c2303ba53b6939944">4fb934</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=d115fdf295bf1f023f1d7c55d9e9e64c0e06ede2">d115fd</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=4fbb16d4e6b225ff13f563cda40a8b4a453a89ab">4fbb16</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=bba658a0463fb46a501637075b0b84a02937b321">bba658</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=5b5e91fcec51ea6454d12fe45ef412a24084b3c8">5b5e91</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=1b02cb895eef2c58f8d27efbd94a53e1e41c0421">1b02cb</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=774be3905ba32db2487e4b599d4a1556d0091bbb">774be3</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=d251709b417497281f3312e587c7f8302bc0a066">d25170</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=ab3a4ce25b3e6ec78e10264b6889abb45857e315">ab3a4c</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=2b18d7b0b7594fcca7b0bf12a90fc2358e975a25">2b18d7</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=0a5f0d7f1a9da9c9d414fc73bad31996ce6fc469">0a5f0d</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=2360741a0bb755fdb5e4615634ccd70e6a7919a5">236074</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=216d817bed579dd3a9c6a3e08dd70b7a51c4a7c7">216d81</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=8c716e4c8cbb9a5f438038abb7e9c0adfa1d9613">8c716e</a></td><td>2 lines</td><td>10/19/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>33'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=676173b3a40ddbe0de4820ea1653b4e1fd181287">676173</a></td><td>19 lines</td><td>10/20/2010</td><td>Tidy up exec-ant target to diagnose return codes.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3f9beb4d34ac5058ca62e7415cdb5dc58d7e6aad">3f9beb</a></td><td>212 lines</td><td>10/20/2010</td><td>Update kernel project settings for Bundlor issues in STS.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=657b6ff652e62d5b76f77d3a48873e43719d12f4">657b6f</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=de9251265f126956da0cb61cd2ae906796db1afe">de9251</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=11e273d5b89fa525111e847dcc1dc5f133cef66e">11e273</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=957036d4fcd97764e29be1f242123778410ccc12">957036</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=bdbbe90a03d6b1c5f05e7a826b2f62ae45f5e548">bdbbe9</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=5e38a54adf12c2ccc77c2e808348c5077af27324">5e38a5</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=254988017349e018ecccd99a6b48f9193f250c95">254988</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=03b3363efd84ae53bd1bcccd63439b362726d481">03b336</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=8a3bc62ed7ada2dadad6c1ceb041fa0f654b9917">8a3bc6</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=e59feb31e6877fe23df4f8d25d3623a26f707c4d">e59feb</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=079b169f0b5002918da7e7aae5b73cbc9e00cd47">079b16</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=222cb08d919dad3a122780592c0b09d39e2b0735">222cb0</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=a774cdb573cc57758aee338c1e15774fbe91fd93">a774cd</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=1cbc370e60baa7822bdb8d03a0cae6dd6f156339">1cbc37</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=46a2f313c20e5a990928b46be70bb5b6e8c6597f">46a2f3</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=b3f5c0c292d5f8380105e4166baf1cdd76a67a54">b3f5c0</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=03e5ae9e79747a231770734963b4e4524af85e52">03e5ae</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=bf90b942eaa9efa9033777e4d5e284eb13e8c9bb">bf90b9</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=72d277d07aabf13dc864256e3c8be64638a93938">72d277</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=54755ee1807ad191870b1b7631125ac7fda45bb8">54755e</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=a1c6001815986c19a7485b63333dc5ce2afb8c21">a1c600</a></td><td>2 lines</td><td>10/20/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>34'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=a88282f1b0fddde381c33ed4866648cc9ef33b57">a88282</a></td><td>16 lines</td><td>10/21/2010</td><td>Solves <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=328246">Bug 328246</a> - Windows ant builds do not stop when jar or test.<wbr>do fails in subproject.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=6dac5c6e4d774589650c64f1fb6ca9832fe7acad">6dac5c</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=963d8b53a6a3792bc571368ba529344ae9e01188">963d8b</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=238ce55cffae4d303baeb58e8e4e91c21554e13f">238ce5</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=2bfa23df02fa81097b814a5faacb2ec89fd98ce6">2bfa23</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=c1bb99ef638ebff40586f585c1ec05980235a5f7">c1bb99</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=278fd5420fce0dbbc71a7c3b33611d5f50629ee5">278fd5</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=a5e3dc49a487c3d6f31bad82d1f8f91760d6f3bd">a5e3dc</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=875552e09c25ae3dca13680fc390f52bfe156fd5">875552</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=cd2190c418372dd591294ef5ea1e4a18ed965846">cd2190</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=da57cd7fb8a64bb9b8a4b604cbaf82dfb0229c68">da57cd</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=1a8e7219808467063b8a6685d896720bcdda2b73">1a8e72</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=c6216e3542d665e47d433d2acc7cf5c8f394d9a3">c6216e</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=9690ca2fa20e8e3dca7e228959ff5b71ba5d53ed">9690ca</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=7f87317af107634e1003268b5df344fb3e242354">7f8731</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=9fed1452f26a15b66bc6ceced4ce62d4a00dbe0a">9fed14</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=14df37186e0401bbe65c096edbf98aa9d8cd6102">14df37</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=a1793d5e6d2b315cc3dcfb9687f3cea81bd12edf">a1793d</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=0fd8800e2822706b08c2bf207afd38f711f9e689">0fd880</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=d11f8ca3bea23ac13583ae38397b71d9acaf3415">d11f8c</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=5ba3f90d65884e90d97294e682c273d9df3f221c">5ba3f9</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=a34f0566b91f15ee123fb945077a0351d36469b7">a34f05</a></td><td>2 lines</td><td>10/21/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>35'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=7fab5884b2195f31eaa3f015cffecb9001176b01">7fab58</a></td><td>2 lines</td><td>10/22/2010</td><td>Fix build stamp issue with sub-builds.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=15a590f1ff54ea3489f312216e84d6a5dc400972">15a590</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=90b1469c13b2e37fa5f3f391996af9b8cea856ba">90b146</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=afc4cf578ebff8c466a7c5f6f6617c048eaa9720">afc4cf</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=9055447d1409780a1225beb2b16f5b0cd63e54d9">905544</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=e0af58b5ddefabb8b4b70a65fcbf357e6a96517b">e0af58</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=b6492112362346cce78067732ee788da43b61ecf">b64921</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=872869170886d8dcb9bf78e5ee0c8a149612ffb4">872869</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=3e06a87cea852169c43af4ca2b6ddb42efeec428">3e06a8</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=d465aaea0b6c5a6c0da602789ee211c6d4a4aa02">d465aa</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=1934de507021bddd313f10b0ddac7048e94dccc5">1934de</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=e3bc9aa7efcd2cd320bb67561158d176d4e993f6">e3bc9a</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=4267c1b9516cdcee0d260f395deb0e62415d54ad">4267c1</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=05786c6cfcfe680745324463fc3fa4d209188c76">05786c</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=cbf73877cb1428e35a3c11a033cafa303295d463">cbf738</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=cc0501d8508a4c3e574d5241113c42c8651daf8a">cc0501</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=edf9c1d764543f0f2b1c535c5de5caa74ec6b37e">edf9c1</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=141475579ec4b0897be47d2650f1a93300516475">141475</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=11db9de572b52dd48615da13f85e0063f8d43055">11db9d</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=6fad1be26110a3a0561c9fe5468b423edbea4c26">6fad1b</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=9209bd74482ad5d485916a2af309f657d761008a">9209bd</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=66d3e36a52b76a4c9b1800ec68b4a3d77f73da6d">66d3e3</a></td><td>2 lines</td><td>10/22/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>36'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=891802150e3a73900521a5b0f03c97e8eca1cf33">891802</a></td><td>147 lines</td><td>10/27/2010</td><td>Update Solution build versions and Eclipse project settings.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=d8790fbc83a29a3dc29a337090150aa8797d9fb0">d8790f</a></td><td>613 lines</td><td>10/27/2010</td><td>Update greenpages start templates for version 2.<wbr>3.<wbr>0.<wbr>RELEASE and correct some mismatches</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=79403ddd09313feb5e1e80bef975d671eb604314">79403d</a></td><td>4 lines</td><td>10/27/2010</td><td>Update top-level solution and start pom versions.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=6a02d6b39d02b14096677bbfe3a74343c9ca0b24">6a02d6</a></td><td>204 lines</td><td>10/27/2010</td><td>Frontmatter and Installation sections of Getting Started -- update to Version 2.<wbr>1.<wbr>0.<wbr>RELEASE</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=8fc74e849ef0dc423e504fbabcbd0bc49478c2cd">8fc74e</a></td><td>49 lines</td><td>10/28/2010</td><td>Reset STS to 2.<wbr>5.<wbr>0.<wbr>RELEASE; and remove 'you' from the text.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=0598a0b9795777c70b109f436bbe261589350bf9">0598a0</a></td><td>13 lines</td><td>10/28/2010</td><td>Updated installing greenpages in getting started.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=e27afbb30a24f1622db3754df55973e3de1222ac">e27afb</a></td><td>137 lines</td><td>10/28/2010</td><td>Update Middle Tier section of getting started for 2.<wbr>1.<wbr>0.<wbr>RELEASE</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=2db43f9601a96e291120b44ca30b8b52f2b43ee7">2db43f</a></td><td>10 lines</td><td>10/28/2010</td><td>Some adjustments to versions and picture size in Getting Started.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=2dcb4c067dc5a08ddbbf59438d97740be95a9c59">2dcb4c</a></td><td>2 lines</td><td>11/08/2010</td><td>(329665) [P3] build.<wbr>stamp should be propagated to sub-builds for ripple, etc.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=0bd6b54dfd3f055f1926d8e07404a16f56c1a0c0">0bd6b5</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=bf2f6f7593cd88642acd07a004caa2176e2da862">bf2f6f</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=4f92786b65d52ba3d8f6592b4ac592fa55c24267">4f9278</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=da73c24573b36468be7a0efb7dcf2c2234adc965">da73c2</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=6c138b8fe74d5d6c4ee185e952e3309dcaec34fa">6c138b</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=db17162abac38db6574a505b8620acd30dc43b7d">db1716</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=5326c48fcec9661412e9de8b29f98c38f118cce7">5326c4</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=751947516028dfb2510f4a498cdd94eef8013b9a">751947</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=9c9adc1a0ce6c803d11dba536d271d178236c473">9c9adc</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=9d8204a6e31656b5d23a32ca15929459be9aee4c">9d8204</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=03def2e8a1d301875341512b137529e33f75aa5a">03def2</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=82cbbbbc2157ef0276e4fc1f7ed03c8c86903e7f">82cbbb</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=02c8445ab91060c762ac8ffdbc60d103df25a519">02c844</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=5356f3fc92fd52e38a8a6846057f563f48af2371">5356f3</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=69b5c6d3abd013419e28d72bea37adabc1d3fa7c">69b5c6</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=bce11405f5186ab0dda485dff27e3675b4ce084e">bce114</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=89bcc9dc659c6d8324f6de7f09c03ec7e3bbce86">89bcc9</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=c46e7f2164f1b7a0a275524d72b46d2cc98c656f">c46e7f</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=6ac161eb9d07d969540e83767231584ee7dfa342">6ac161</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=d8fc06d11c6c8c6a93a74d57401072db7b37cc37">d8fc06</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=243ed7a93b59461941f6124022c34a00639e1a4f">243ed7</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>37'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git/commit?id=05dbe1fbae98c0d253d1cdc5a73689ebbde40cb1">05dbe1</a></td><td>4 lines</td><td>11/08/2010</td><td>(329665) [P3] build.<wbr>stamp should be propagated to sub-builds for ripple, etc.<wbr> correction</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git/commit?id=d3238460a6883251c98c47aa3b1d86a5ff5ac240">d32384</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git/commit?id=84e0b5c4fc77654b739bebf488950f0e5cd47f31">84e0b5</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git/commit?id=fe359368a73cab79d0c1b0371259e469036c04fc">fe3593</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git/commit?id=f06150e5c326fdf6df5c15665c1edf0cd0671900">f06150</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git/commit?id=f2b1bd5762d54b4b6b46f5fb116bc73f6496b3ea">f2b1bd</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=53bfb574fc468e589c6a72c0705e66eb77ee6e86">53bfb5</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git/commit?id=894294356bcd480e5f3475af260a80e54aac4f31">894294</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git/commit?id=102067a711d5bd94de9043bf8253eb7bdc2e8e59">102067</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=5eb7377093eb48e9195c449b0caef0a196dedef3">5eb737</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=b3f383ac6a1436a5273f2a5a72fcdcb0b30a64b7">b3f383</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=da83341402b7de266c61f7ba5bb48e610925f018">da8334</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=81a6b17521d40a3e3aa00492f4fbe2d2fac672eb">81a6b1</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git/commit?id=84554dcdb18c5e002736cbc9d0acfb10246bc4b4">84554d</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=232687f8f8d00ff28bbe29c2104ada89e563e746">232687</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git/commit?id=3d7a990486de8b54d0bf9240565a7760e2533cd9">3d7a99</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=329895f23398fbea0cfc1b227e613458814a37eb">329895</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git/commit?id=665ac418bf32aca67a13a4e1ae1f8d3d4993b40e">665ac4</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git/commit?id=2a1fe2fe053b3036c6621692c095a9be71e97f43">2a1fe2</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git/commit?id=8d2adaf321f8390a05056613d109c7219c1317ba">8d2ada</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git/commit?id=f58d05b05b57dcebdb9ab46f8206404388a5d868">f58d05</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=f577cdd02889b695b753b123d6aeeef17e4e425d">f577cd</a></td><td>2 lines</td><td>11/08/2010</td><td>[UPDATE BUILDLOR] Updated Virgo Build to '1.<wbr>38'</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=068099dfc77bffbf21dba92f6948bcfa53211542">068099</a></td><td>18 lines</td><td>12/03/2010</td><td>tidy up some warnings</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git/commit?id=bf57b092ab7dfd856115e3d8bcbf419a872a0bb8">bf57b0</a></td><td>129 lines</td><td>12/06/2010</td><td>Use generics to remove warnings; hide deprecated PackageAdmin and ExportedPackage classes.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=827ab8125e7ce3db16d4aea8cfef5239b9e4dc30">827ab8</a></td><td>183 lines</td><td>12/06/2010</td><td>Remove warnings by using generics properly and suppressing deprecation warnings.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git/commit?id=bf123e4a2b8dd3677d4177aedf2d9d3308e269ff">bf123e</a></td><td>2 lines</td><td>12/06/2010</td><td>Adjust Eclipse Bundlor properties.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git/commit?id=cc3bb361f2d1ad89600b6b3dfdb0b0fe4b21ee68">cc3bb3</a></td><td>248 lines</td><td>12/06/2010</td><td>Fix Bundlor properties; add generics to ServiceReference usage.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=c4f5403917cf956c7cdb4300c0ea22f84b07228a">c4f540</a></td><td>7 lines</td><td>12/07/2010</td><td>Re-built manifest; also removed redundant casts in tests.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git/commit?id=e41d5d02f4371da890ff12ee1a247d5b6a639210">e41d5d</a></td><td>57 lines</td><td>12/07/2010</td><td>Disable Bundlor for integrationtest project;</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/commit?id=10d94eb9f05320d3727480c06a15b677f988b7dc">10d94e</a></td><td>47 lines</td><td>12/07/2010</td><td>Removed override and unchecked casting warnings.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=c24429722078a920ea61b93ed310ffe03710131f">c24429</a></td><td>93 lines</td><td>10/03/2012</td><td>Typos and abbreviation introduction.<wbr></td> </tr>
+ <tr><td colspan="4"><b>Thomas Watson (IBM)</b> (32 contributions)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d205e10a1bff8922ba9ab389aeb89bf27fb7e02c">d205e1</a></td><td>1,011 lines</td><td>03/07/2011</td><td>Initial attempt at generalizing RegionFilter</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=cc8f0be91abdd910f3acf0c6eec4c88fbcbb7149">cc8f0b</a></td><td>6 lines</td><td>03/07/2011</td><td>Fix for sharing whole bundles.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6fd054f67812fc701efc925eba5c61b4f8edefc0">6fd054</a></td><td>1 lines</td><td>03/07/2011</td><td>Fix for StubBundleRevision BSN in attributes.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2ff023daf9895f719a42ce74ca4d1cf6729b03ba">2ff023</a></td><td>18 lines</td><td>03/08/2011</td><td>Fix service find hook to share services from shared bundles.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=dc7d216df31491d88c3591cf47e76ed754b89a5b">dc7d21</a></td><td>8 lines</td><td>03/08/2011</td><td>Fix service find hook to share services from shared bundles</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=872a13f91cbb586989e73b7776dcf992a6f7c48b">872a13</a></td><td>16 lines</td><td>03/08/2011</td><td>test fixes.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ff162a9d83339f67d5dfa38049c72e6bca0d561d">ff162a</a></td><td>826 lines</td><td>03/08/2011</td><td>- make RegionFilter an inteface</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=6eea00d3678f950a25489423201db92a1576e3e5">6eea00</a></td><td>737 lines</td><td>03/09/2011</td><td>- use builder pattern for RegionFilters</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=dd1885e0dee73ceea135bb978a5a957282bbc504">dd1885</a></td><td>17 lines</td><td>03/09/2011</td><td>- Format code using virgo templates/<wbr>formaters.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ffc74a06b046ea080223f88b502b887f9581afc6">ffc74a</a></td><td>26 lines</td><td>03/11/2011</td><td>javadoc about immutable RegionFilter and getSharingPolicy</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=23ec496d7526a62bdade2b21a6b75aae67ee2c24">23ec49</a></td><td>6 lines</td><td>03/11/2011</td><td>Change to package private types.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=438a11cff913708ca5cff24f8c43638fdd761702">438a11</a></td><td>38 lines</td><td>03/11/2011</td><td>Change all RegionFilter.<wbr>is*Allowed(.<wbr>.<wbr>.<wbr>) methods to RegionFilter.<wbr>isAllowed(.<wbr>.<wbr>.<wbr>)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8964d85c633329444d87d8b6139ce1209a8947d8">8964d8</a></td><td>48 lines</td><td>03/11/2011</td><td>Add RegionFilterBuilder.<wbr>allowAll method.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ca96d4114a7d45ea05f4176b518817eed70007bf">ca96d4</a></td><td>108 lines</td><td>03/11/2011</td><td>Add more StandardRegionFilter tests.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=24427705786b14ab37eedffaa6fe3afbfd926c8c">244277</a></td><td>445 lines</td><td>03/15/2011</td><td>Add RegionDigraphPersistence to save and load RegionDigraphs</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c40c69861d363dbbe471550f555637f611511493">c40c69</a></td><td>4 lines</td><td>03/15/2011</td><td>Add toString for debugging.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2629bdc7dbaf397dc3399ee30349f2c2a6c43630">2629bd</a></td><td>10 lines</td><td>03/15/2011</td><td>Add checks for non-exist regions in edges.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ae23df050e7bb2715b692cf059889d6ffa42317b">ae23df</a></td><td>4 lines</td><td>03/15/2011</td><td>typo fix in message.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=be0b988443e885342eb62abb773f65adb7d51c78">be0b98</a></td><td>45 lines</td><td>03/15/2011</td><td>Add tests for cycles and multi connection</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=71dc59510d788b0753446b4c7fb0539822fbc7c0">71dc59</a></td><td>21 lines</td><td>03/15/2011</td><td>Fix javadoc.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=c095ad6432f4459f1e08970bbab6d09652f68196">c095ad</a></td><td>61 lines</td><td>03/15/2011</td><td>Do not close streams on read/<wbr>write of digraph.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ab0f2c9183d64a4f7fe2593f4715b501e273dda9">ab0f2c</a></td><td>29 lines</td><td>03/15/2011</td><td>Test multiple digraph saves/<wbr>loads to same stream.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ff5330d917696874d2d6bf7b269b49cbdb59c63e">ff5330</a></td><td>99 lines</td><td>03/15/2011</td><td>Handle disconnected digraphs.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=3659e02bc62e6cc0a5d20d8eb6b55ce7ef7c9edf">3659e0</a></td><td>81 lines</td><td>03/22/2011</td><td>Move RegionLifecycleListener to internal package.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=8635a443142c68ddb42ef64bad94eccb2b03c566">8635a4</a></td><td>2 lines</td><td>03/23/2011</td><td>Add note about internal interface.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=2d5214e1ca50e27ea3453b78785aeae321fe1f69">2d5214</a></td><td>48 lines</td><td>03/23/2011</td><td>Remove use of system bundle context.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=ca2891b974b4c90bd3e0dff7ec5bada0444d7e25">ca2891</a></td><td>5 lines</td><td>03/23/2011</td><td>Use light weight Collection for holding one value.<wbr></td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=cdfb3b9a659adce3fbcce72a387b4c049b09b943">cdfb3b</a></td><td>3 lines</td><td>03/23/2011</td><td>remove NonNull assertion checks</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git/commit?id=d9203b6ce1b49bf37b4881023183bde9ef01b8a2">d9203b</a></td><td>22 lines</td><td>03/23/2011</td><td>Stop registering the digraph twice.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/336941">336941</a></td><td>30,342 bytes</td><td>03/16/2011</td><td>Change state dumping and analysis to work with framework hooks
+Attachment 191303: Possible solution for persisting digraph</td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/338525">338525</a></td><td>116,193 bytes</td><td>03/14/2011</td><td>RegionFilter generalisation
+Attachment 191121: patch including region_api branch changes.<wbr></td> </tr>
+ <tr><td><a href="https://bugs.eclipse.org/341126">341126</a></td><td>1,935 bytes</td><td>03/28/2011</td><td>Make RegionLifecycleListener an internal detail.<wbr> (Comment)</td> </tr>
+ <tr><td colspan="4"><b>Violeta Georgieva (Pivotal Software, Inc.)</b> (1 contribution)</td> </tr>
+ <tr><td><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git/commit?id=7b582d3d21d5255485d083a95e68db6d11c68793">7b582d</a></td><td>127 lines</td><td>07/21/2010</td><td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312752">Bug 312752</a>: document context configuration</td> </tr>
+</tbody>
+</table>
+</div></div><div><h2>Source Repositories</h2>The information contained in this log was generated by using commit information from the following repositories:<ul><li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.apps.git">/gitroot/virgo/org.eclipse.virgo.apps.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.artifact-repository.git">/gitroot/virgo/org.eclipse.virgo.artifact-repository.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.bundlor.git">/gitroot/virgo/org.eclipse.virgo.bundlor.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.documentation.git">/gitroot/virgo/org.eclipse.virgo.documentation.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.eclipse-mirror.git">/gitroot/virgo/org.eclipse.virgo.eclipse-mirror.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.jetty-server.git">/gitroot/virgo/org.eclipse.virgo.jetty-server.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-system-verification-tests.git">/gitroot/virgo/org.eclipse.virgo.kernel-system-verification-tests.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel-tools.git">/gitroot/virgo/org.eclipse.virgo.kernel-tools.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.kernel.git">/gitroot/virgo/org.eclipse.virgo.kernel.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.medic.git">/gitroot/virgo/org.eclipse.virgo.medic.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.nano.git">/gitroot/virgo/org.eclipse.virgo.nano.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-extensions.git">/gitroot/virgo/org.eclipse.virgo.osgi-extensions.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.osgi-test-stubs.git">/gitroot/virgo/org.eclipse.virgo.osgi-test-stubs.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.packaging.git">/gitroot/virgo/org.eclipse.virgo.packaging.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.performance-test.git">/gitroot/virgo/org.eclipse.virgo.performance-test.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-configuration-properties.git">/gitroot/virgo/org.eclipse.virgo.sample-configuration-properties.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.samples.git">/gitroot/virgo/org.eclipse.virgo.samples.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-formtags.git">/gitroot/virgo/org.eclipse.virgo.sample-formtags.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-greenpages.git">/gitroot/virgo/org.eclipse.virgo.sample-greenpages.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.sample-osgi-examples.git">/gitroot/virgo/org.eclipse.virgo.sample-osgi-examples.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.snaps.git">/gitroot/virgo/org.eclipse.virgo.snaps.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.system-verification-tests.git">/gitroot/virgo/org.eclipse.virgo.system-verification-tests.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.test.git">/gitroot/virgo/org.eclipse.virgo.test.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.util.git">/gitroot/virgo/org.eclipse.virgo.util.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.virgo-build.git">/gitroot/virgo/org.eclipse.virgo.virgo-build.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web-server.git">/gitroot/virgo/org.eclipse.virgo.web-server.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git">/gitroot/virgo/org.eclipse.virgo.web.git</a></li>
+<li><a href="http://git.eclipse.org/c/virgo/org.eclipse.virgo.root.git">/gitroot/virgo/org.eclipse.virgo.root.git</a></li>
+</ul></div><p>© <!--?php echo date('Y'); ?--> The Eclipse Foundation Inc. All rights reserved.<br>
+ Made available to its Members for their internal use.</p><p>Generated on February 06, 2017</p></div>
+
+</body></html>
\ No newline at end of file