You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@tomee.apache.org by bu...@apache.org on 2015/04/10 11:17:47 UTC

svn commit: r947005 - in /websites/staging/tomee/trunk: cgi-bin/ content/ content/application-composer/

Author: buildbot
Date: Fri Apr 10 09:17:47 2015
New Revision: 947005

Log:
Staging update by buildbot for tomee

Added:
    websites/staging/tomee/trunk/content/application-composer/
    websites/staging/tomee/trunk/content/application-composer/advanced.html
    websites/staging/tomee/trunk/content/application-composer/getting-started.html
    websites/staging/tomee/trunk/content/application-composer/history.html
    websites/staging/tomee/trunk/content/application-composer/index.html
Modified:
    websites/staging/tomee/trunk/cgi-bin/   (props changed)
    websites/staging/tomee/trunk/content/   (props changed)
    websites/staging/tomee/trunk/content/documentation.html
    websites/staging/tomee/trunk/content/sitemap.xml

Propchange: websites/staging/tomee/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Apr 10 09:17:47 2015
@@ -1 +1 @@
-1667698
+1672588

Propchange: websites/staging/tomee/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Apr 10 09:17:47 2015
@@ -1 +1 @@
-1667698
+1672588

Added: websites/staging/tomee/trunk/content/application-composer/advanced.html
==============================================================================
--- websites/staging/tomee/trunk/content/application-composer/advanced.html (added)
+++ websites/staging/tomee/trunk/content/application-composer/advanced.html Fri Apr 10 09:17:47 2015
@@ -0,0 +1,283 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="UTF-8">
+      <title></title>
+    <meta name="description" content="Apache TomEE">
+    <meta name="author" content="Apache TomEE">
+    <meta name="google-translate-customization" content="f36a520c08f4c9-0a04e86a9c075ce9-g265f3196f697cf8f-10">
+    <meta http-equiv="Pragma" content="no-cache">
+    <meta http-equiv="Expires" content="0">
+    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">
+    <link href="./../resources/css/prettify.css" rel="stylesheet">
+    <link href="./../resources/css/bootstrap-mods.css" rel="stylesheet">
+    <link href="./../resources/css/main.css" rel="stylesheet">
+
+    <script type="text/javascript">
+        var t = encodeURIComponent(document.title.replace(/^\s+|\s+$/g,""));
+        var u = encodeURIComponent(""+document.URL);
+    
+      function fbshare () {
+          window.open(
+                  "http://www.facebook.com/sharer/sharer.php?u="+u,
+                  'Share on Facebook',
+                  'width=640,height=426');
+      };
+      function gpshare () {
+          window.open(
+                  "https://plus.google.com/share?url="+u,
+                  'Share on Google+',
+                  'width=584,height=385');
+      };
+      function twshare () {
+          window.open(
+                  "https://twitter.com/intent/tweet?url="+u+"&text="+t,
+                  'Share on Twitter',
+                  'width=800,height=526');
+      };
+      function pinshare () {
+          window.open("//www.pinterest.com/pin/create/button/?url="+u+"&media=http%3A%2F%2Ftomee.apache.org%2Fresources%2Fimages%2Ffeather-logo.png&description="+t,
+                  'Share on Pinterest',
+                  'width=800,height=526');
+      };
+    </script>
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="./../favicon.ico">
+    <link rel="apple-touch-icon" href="./../resources/images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="./../resources/images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="./../resources/images/apple-touch-icon-114x114.png">
+
+    <script src="./../resources/js/prettify.js" type="text/javascript"></script>
+    <script src="./../resources/js/jquery-latest.js"></script>
+    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+    <script src="./../resources/js/common.js"></script>
+    <script src="./../resources/js/prettyprint.js"></script>
+    <!--script src="//assets.pinterest.com/js/pinit.js" type="text/javascript" async></script//-->
+    
+    <script type="text/javascript">
+
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-2717626-1']);
+      _gaq.push(['_setDomainName', 'apache.org']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+  </head>
+
+  <body>
+
+    <div class="topbar" data-dropdown="dropdown">
+      <div class="fill">
+        <div class="container">
+          <a class="brand" href="./../index.html">Apache TomEE</a>
+          <ul class="nav">
+              <li class="dropdown">
+                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+                  Apache
+                      <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <!-- <li><a href="./../misc/whoweare.html">Who we are?</a></li> -->
+                     <!-- <li><a href="./../misc/heritage.html">Heritage</a></li> -->
+                     <li><a href="http://www.apache.org">Apache Home</a></li>
+                     <!-- <li><a href="./../misc/resources.html">Resources</a></li> -->
+                     <li><a href="./../misc/contact.html">Contact</a></li>
+                     <li><a href="./../misc/legal.html">Legal</a></li>
+                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                     <li class="divider"/>
+                     <li><a href="http://www.apache.org/security">Security</a></li>
+                  </ul>
+              </li>
+              <li><a href="./../index.html">Home</a></li>
+              <li><a href="./../downloads.html">Downloads</a></li>
+              <li><a href="./../documentation.html">Documentation</a></li>
+              <li><a href="./../examples-trunk/index.html">Examples</a></li>
+              <li><a href="./../support.html">Support</a></li>
+              <li><a href="./../contribute.html">Contribute</a></li>
+              <li><a href="./../security/index.html">Security</a></li>
+          </ul>
+
+            <!-- Google CSE Search Box Begins  -->
+            <FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
+                <INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
+                <INPUT type="hidden" name="cof" value="FORID:0">
+                <INPUT size="18" width="130" style="width:130px" name="q" type="text" placeholder="Search">
+            </FORM>
+            <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
+            <!-- Google CSE Search Box Ends -->
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+    
+
+<div class="page-header">
+    <small><a href="./../index.html">Home</a>&nbsp;&raquo&nbsp;<a href="./../application-composer/">Application Composer</a></small><br>
+    <h1>
+
+        <div style="float: right; position: relative; bottom: -10px; ">
+            <a onclick="javascript:gpshare()" class="gp-share sprite" title="Share on Google+">share [gp]</a>
+            <a onclick="javascript:fbshare()" class="fb-share sprite" title="Share on Facebook">share [fb]</a>
+            <a onclick="javascript:twshare()" class="tw-share sprite" title="Share on Twitter">share [tw]</a>
+            <a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
+            <a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
+        </div>
+    </h1>
+</div>
+
+<h1>Application Composer Advanced</h1>
+
+<p><a href="getting-started.html">Getting Started</a> page gives you already a lot of inputs but you caneven go further.</p>
+
+<h2>@Descriptors</h2>
+
+<p>You can reuse existing file descriptors using <code>@Descriptors</code>. The name is the file name
+and the path either a classpath path or a file path:</p>
+
+<p><code>`java
+// runner if needed etc...
+@Descriptors(@Descriptor(name = "persistence.xml", path = "META-INF/persistence.xml"))
+public class MyTest {
+   //...</div>
+</code>̀̀</p>
+
+<p>Note: this can be put in a <code>@Module</code> method as well.</p>
+
+<h2>Services</h2>
+
+<p>If you want to test a JAXRS or JAXWS service you need to activate these services.</p>
+
+<p>To do so just add the needed dependency and use <code>@EnableServices</code>:</p>
+
+<p><code>`java
+// runner if needed etc...
+@EnableService("jaxrs") // jaxws supported as well
+public class MyTest {
+   //...</div>
+</code>̀̀</p>
+
+<h2>Random port</h2>
+
+<p>Services like JAXRS and JAXWS relies on HTTP. Often it is nice to have a random port
+to be able to deploy multiple tests/projects on the same CI platform at the same time.</p>
+
+<p>To shortcut all the needed logic you can use <code>@RandomPort</code>. It is simply an injection giving
+you either the port (<code>int</code>) or the root context (<code>URL</code>):</p>
+
+<p><code>`java
+// runner, services if needed etc...
+public class MyTest {
+   @RandomPort("http")
+   private int port;</div>
+</code>̀̀</p>
+
+<p>Note: you can generate this way multiple ports. The value is the name of the service it will apply on (being said http
+is an alias for httpejbd which is our embedded http layer).</p>
+
+<h2>Nice logs</h2>
+
+<p><code>@SimpleLog</code> annotation allows you to have one liner logs</p>
+
+<h2>@JaxrsProvider</h2>
+
+<p><code>@JaxrsProvider</code> allows you to specify on a <code>@Module</code> method the list of JAXRS provider you want to use.</p>
+
+<h2>Dependencies without hacky code</h2>
+
+<p><code>@Jars</code> allows you to add dependencies (scanned) to your application automatically (like CDI libraries):</p>
+
+<p><code>``java
+@Module
+@Classes(cdi = true, value = { C1.class, C2.class, E1.class })
+@Jars("deltaspike-")
+public WebApp app() {
+    return new WebApp();</div>
+</code>̀`</p>
+
+<h2>@Default</h2>
+
+<p><code>@Default</code> automatically adds in the application <code>target/classes</code> as binaries and <code>src/main/webapp</code> as resources for maven projects.</p>
+
+<h2>@CdiExtensions</h2>
+
+<p>This annotation allows you to control which extensions are activated during the test.</p>
+
+<h2>@AppResource</h2>
+
+<p>This annotation allows injection of few particular test resources like:</p>
+
+<ul>
+<li>the test <code>AppModule</code> (application meta)</li>
+<li>the test <code>Context</code> (JNDI)</li>
+<li>the test <code>ApplicationComposers</code> (underlying runner)</li>
+<li><code>ContextProvider</code>: allow to mock JAXRS contexts</li>
+</ul>
+
+<h2>@MockInjector</h2>
+
+<p>Allows to mock EJB injections. It decorates a dedicated method returning an instance (or Class) implementing <code>FallbackPropertyInjector</code>.</p>
+
+<h2>@WebResource</h2>
+
+<p>Allow for web application to add folders containing web resources.</p>
+
+
+
+
+        <div id="edit" class="modal hide fade in" style="display: none; ">
+            <div class="modal-header">
+                <a class="close" data-dismiss="modal">x</a>
+
+                <h3>Thank you for contributing to the documentation!</h3>
+            </div>
+            <div class="modal-body">
+                <h4>Any help with the documentation is greatly appreciated.</h4>
+                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
+                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
+                <!--[if gt IE 6]>
+                <h4>Internet Explorer Users</h4>
+                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
+                <![endif]-->
+
+            </div>
+            <div class="modal-footer">
+                Do you have an Apache ID?
+                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
+                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
+            </div>
+        </div>
+        <script src="./../resources/js/bootstrap-modal.js"></script>
+
+        <footer>
+            <p>Copyright &copy; 1999-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+                Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation.
+                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
+        </footer>
+
+    </div> <!-- /container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+
+  </body>
+</html>

Added: websites/staging/tomee/trunk/content/application-composer/getting-started.html
==============================================================================
--- websites/staging/tomee/trunk/content/application-composer/getting-started.html (added)
+++ websites/staging/tomee/trunk/content/application-composer/getting-started.html Fri Apr 10 09:17:47 2015
@@ -0,0 +1,397 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="UTF-8">
+      <title></title>
+    <meta name="description" content="Apache TomEE">
+    <meta name="author" content="Apache TomEE">
+    <meta name="google-translate-customization" content="f36a520c08f4c9-0a04e86a9c075ce9-g265f3196f697cf8f-10">
+    <meta http-equiv="Pragma" content="no-cache">
+    <meta http-equiv="Expires" content="0">
+    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">
+    <link href="./../resources/css/prettify.css" rel="stylesheet">
+    <link href="./../resources/css/bootstrap-mods.css" rel="stylesheet">
+    <link href="./../resources/css/main.css" rel="stylesheet">
+
+    <script type="text/javascript">
+        var t = encodeURIComponent(document.title.replace(/^\s+|\s+$/g,""));
+        var u = encodeURIComponent(""+document.URL);
+    
+      function fbshare () {
+          window.open(
+                  "http://www.facebook.com/sharer/sharer.php?u="+u,
+                  'Share on Facebook',
+                  'width=640,height=426');
+      };
+      function gpshare () {
+          window.open(
+                  "https://plus.google.com/share?url="+u,
+                  'Share on Google+',
+                  'width=584,height=385');
+      };
+      function twshare () {
+          window.open(
+                  "https://twitter.com/intent/tweet?url="+u+"&text="+t,
+                  'Share on Twitter',
+                  'width=800,height=526');
+      };
+      function pinshare () {
+          window.open("//www.pinterest.com/pin/create/button/?url="+u+"&media=http%3A%2F%2Ftomee.apache.org%2Fresources%2Fimages%2Ffeather-logo.png&description="+t,
+                  'Share on Pinterest',
+                  'width=800,height=526');
+      };
+    </script>
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="./../favicon.ico">
+    <link rel="apple-touch-icon" href="./../resources/images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="./../resources/images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="./../resources/images/apple-touch-icon-114x114.png">
+
+    <script src="./../resources/js/prettify.js" type="text/javascript"></script>
+    <script src="./../resources/js/jquery-latest.js"></script>
+    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+    <script src="./../resources/js/common.js"></script>
+    <script src="./../resources/js/prettyprint.js"></script>
+    <!--script src="//assets.pinterest.com/js/pinit.js" type="text/javascript" async></script//-->
+    
+    <script type="text/javascript">
+
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-2717626-1']);
+      _gaq.push(['_setDomainName', 'apache.org']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+  </head>
+
+  <body>
+
+    <div class="topbar" data-dropdown="dropdown">
+      <div class="fill">
+        <div class="container">
+          <a class="brand" href="./../index.html">Apache TomEE</a>
+          <ul class="nav">
+              <li class="dropdown">
+                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+                  Apache
+                      <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <!-- <li><a href="./../misc/whoweare.html">Who we are?</a></li> -->
+                     <!-- <li><a href="./../misc/heritage.html">Heritage</a></li> -->
+                     <li><a href="http://www.apache.org">Apache Home</a></li>
+                     <!-- <li><a href="./../misc/resources.html">Resources</a></li> -->
+                     <li><a href="./../misc/contact.html">Contact</a></li>
+                     <li><a href="./../misc/legal.html">Legal</a></li>
+                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                     <li class="divider"/>
+                     <li><a href="http://www.apache.org/security">Security</a></li>
+                  </ul>
+              </li>
+              <li><a href="./../index.html">Home</a></li>
+              <li><a href="./../downloads.html">Downloads</a></li>
+              <li><a href="./../documentation.html">Documentation</a></li>
+              <li><a href="./../examples-trunk/index.html">Examples</a></li>
+              <li><a href="./../support.html">Support</a></li>
+              <li><a href="./../contribute.html">Contribute</a></li>
+              <li><a href="./../security/index.html">Security</a></li>
+          </ul>
+
+            <!-- Google CSE Search Box Begins  -->
+            <FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
+                <INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
+                <INPUT type="hidden" name="cof" value="FORID:0">
+                <INPUT size="18" width="130" style="width:130px" name="q" type="text" placeholder="Search">
+            </FORM>
+            <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
+            <!-- Google CSE Search Box Ends -->
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+    
+
+<div class="page-header">
+    <small><a href="./../index.html">Home</a>&nbsp;&raquo&nbsp;<a href="./../application-composer/">Application Composer</a></small><br>
+    <h1>
+
+        <div style="float: right; position: relative; bottom: -10px; ">
+            <a onclick="javascript:gpshare()" class="gp-share sprite" title="Share on Google+">share [gp]</a>
+            <a onclick="javascript:fbshare()" class="fb-share sprite" title="Share on Facebook">share [fb]</a>
+            <a onclick="javascript:twshare()" class="tw-share sprite" title="Share on Twitter">share [tw]</a>
+            <a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
+            <a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
+        </div>
+    </h1>
+</div>
+
+<h1>Application Composer Getting Started</h1>
+
+<p>ApplicationComposer API is mainly contained in <code>org.apache.openejb.testing</code> package
+(historically, today we would have called the package <code>org.apache.tomee.applicationcomposer</code>).</p>
+
+<h2>Dependencies</h2>
+
+<p>To start using ApplicationComposer you need to add some dependencies.</p>
+
+<p>The minimum required one is <code>openejb-core</code>:</p>
+
+<p><code>xml
+&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.openejb&lt;/groupId&gt;
+  &lt;artifactId&gt;openejb-core&lt;/artifactId&gt;
+  &lt;version&gt;${openejb.version&gt;&lt;/version&gt;
+&lt;/dependency&gt;
+</code></p>
+
+<p>If you need JAXRS services you'll add (or replace thanks to transitivity of maven) <code>openejb-cxf-rs</code>:</p>
+
+<p><code>xml
+&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.openejb&lt;/groupId&gt;
+  &lt;artifactId&gt;openejb-cxf-rs&lt;/artifactId&gt;
+  &lt;version&gt;${openejb.version&gt;&lt;/version&gt;
+&lt;/dependency&gt;
+</code>
+If you need JAXWS services you'll add (or replace thanks to transitivity of maven) <code>openejb-cxf</code>:</p>
+
+<p><code>xml
+&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.openejb&lt;/groupId&gt;
+  &lt;artifactId&gt;openejb-cxf&lt;/artifactId&gt;
+  &lt;version&gt;${openejb.version&gt;&lt;/version&gt;
+&lt;/dependency&gt;
+</code></p>
+
+<p>etc...</p>
+
+<h2>ApplicationComposer Components</h2>
+
+<h3>@Module</h3>
+
+<p>An ApplicationComposer needs at minimum a module (the application you need to deploy).</p>
+
+<p>To do so you have two cases:</p>
+
+<ul>
+<li>before TomEE 2.x: you can only write method(s) decorated with <code>@Module</code></li>
+<li>since TomEE 2.x: you can skip it and use <code>@Classes</code> directly on the ApplicationComposer class as a shortcut for:</li>
+</ul>
+
+<p><code>java
+@Module
+public WebApp app() {
+    return new WebApp();</div>
+</code></p>
+
+<p>The expected returned type of these methods are in <code>org.apache.openejb.jee</code> package:</p>
+
+<ul>
+<li><code>Application</code>: entry point to create an ear</li>
+<li><code>WebApp</code>: a web application</li>
+<li><code>EjbJar</code>: an ejb module</li>
+<li><code>EnterpriseBean</code> children: a simple EJB</li>
+<li><code>Persistence</code>: a persistence module with multiple units</li>
+<li><code>PersistenceUnit</code>: a simple unit (automatically wrapped in a <code>Persistence</code>)</li>
+<li><code>Connector</code>: a JCA connector module</li>
+<li><code>Beans</code>: a CDI module,</li>
+<li><code>Class[]</code> or <code>Class</code>: a set of classes scanned to discover annotations</li>
+</ul>
+
+<p>Note that for easiness <code>@Classes</code> was added to be able to describe a module and some scanned classes. For instance the
+following snippet will create a web application with classes C1, C2 as CDI beans and E1 as an EJB automatically:</p>
+
+<p><code>``java
+@Module
+@Classes(cdi = true, value = { C1.class, C2.class, E1.class })
+public WebApp app() {
+    return new WebApp();</div>
+</code>̀`</p>
+
+<h3>@Configuration</h3>
+
+<p>Often you need to customize a bit the container or at least create some resources like test databases.
+To do so you can create a method returning <code>Properties</code> which will be the container properties.</p>
+
+<p>Note: to simplify writing properties you can use <code>PropertiesBuilder</code> util class which is just a fluent API
+to write properties.</p>
+
+<p>In these properties you can reuse OpenEJB/TomEE property syntax for resources.</p>
+
+<p>Here is a sample:</p>
+
+<p><code>``java
+@Configuration
+public Properties configuration() {
+    return new PropertiesBuilder()
+        .p("db", "new://Resource?type=DataSource")
+        .p("db.JdbcUrld", "jdbc:hsqldb:mem:test")
+        .build();</div>
+</code>̀`</p>
+
+<p>Since TomEE 2.x you can also put properties on ApplicationComposer class using <code>@ContainerProperties</code> API:</p>
+
+<p><code>``java
+@ContainerProperties({
+  @ContainerProperties.Property(name = "db", value = "new://Resource?type=DataSource"),
+  @ContainerProperties.Property(name = "db.JdbcUrl", value = "jdbc:hsqldb:mem:test")</div>)
+public class MyAppComposer() {
+  // ...</div>
+</code>̀`</p>
+
+<h3>@Component</h3>
+
+<p>Sometimes you need to customize a container component. The most common use case is the security service
+to mock a little bit authorization if you don't care in your test.</p>
+
+<p>To do so just write a method decorated with <code>@Component</code> returning the instance you desire.</p>
+
+<p>Components in TomEE are stored in a container Map and the key needs to be a <code>Class</code>. This one is deduced from the returned
+type of the <code>@Component</code> method:</p>
+
+<p><code>``java
+@Component
+public SecurityService mockSecurity() {
+    return new MySecurityService();</div>
+</code>̀`</p>
+
+<h2>How to run it?</h2>
+
+<h3>JUnit</h3>
+
+<p>If you use JUnit you have mainly 2 solutions to run you "model" using the ApplicationComposer:</p>
+
+<ul>
+<li>using <code>ApplicationComposer</code> runner:</li>
+</ul>
+
+<p><code>``java
+@RunWith(ApplicationComposer.class)
+public class MyTest {
+    // ...</div>
+</code>̀`</p>
+
+<ul>
+<li>using <code>ApplicationComposerRule</code> rule:</li>
+</ul>
+
+<p><code>``java
+public class MyTest {
+    @Rule // or @ClassRule if you want the container/application lifecycle be bound to the class and not test methods
+    public final ApplicationComposerRule rule = new ApplicationComposerRule(this);</div>
+</code>̀`</p>
+
+<p>Tip: since TomEE 2.x ApplicationComposerRule is decomposed in 2 rules if you need: <code>ContainerRule</code> and <code>DeployApplication</code>.
+Using JUnit <code>RuleChain</code> you can chain them to get the samebehavior as <code>ApplicationComposerRule</code> or better deploy
+multiple ApplicationComposer models and controlling their deployment ordering (to mock a remote service for instance).</p>
+
+<p>Finally just write <code>@Test</code> method using test class injections as if the test class was a managed bean!</p>
+
+<h3>TestNG</h3>
+
+<p>TestNG integration is quite simple today and mainly <code>ApplicationComposerListener</code> class you can configure
+as a listener to get ApplicationComposer features.</p>
+
+<p>Finally just write TestNG <code>@Test</code> method using test class injections as if the test class was a managed bean!</p>
+
+<h3>Standalone</h3>
+
+<p>Since TomEE 2.x you can also use <code>ApplicationComposers</code> to directly run you ApplicationComposer model
+as a standalone application:</p>
+
+<p>```java
+public class MyApp {
+    public static void main(String[] args) {
+        ApplicationComposers.run(MyApp.class, args);
+    }</p>
+
+<pre><code>// @Module, @Configuration etc...</div>
+</code></pre>
+
+<p>`̀̀</p>
+
+<p>Tip: if <code>MyApp</code> has <code>@PostConstruct</code> methods they will be respected and if <code>MyApp</code> has a constructor taking an array
+of String it will be instantiated getting the second parameter as argument (ie you can propagate your main parameter
+to your model to modify your application depending it!)</p>
+
+<h2>JUnit Sample</h2>
+
+<p>```java
+@Classes(cdi = true, value = { MyService.class, MyOtherService.class })
+@ContainerProperties(@ContainerProperties.Property(name = "myDb", value = "new://Resource?type=DataSource"))
+@RunWith(ApplicationComposer.class)
+public class MyTest {
+    @Resource(name = "myDb")
+    private DataSource ds;</p>
+
+<pre><code>@Inject
+private MyService service;
+
+@Test
+public void myTest() {
+    // do test using injections
+</div>}
+</code></pre>
+
+<p>`̀̀</p>
+
+
+
+
+        <div id="edit" class="modal hide fade in" style="display: none; ">
+            <div class="modal-header">
+                <a class="close" data-dismiss="modal">x</a>
+
+                <h3>Thank you for contributing to the documentation!</h3>
+            </div>
+            <div class="modal-body">
+                <h4>Any help with the documentation is greatly appreciated.</h4>
+                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
+                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
+                <!--[if gt IE 6]>
+                <h4>Internet Explorer Users</h4>
+                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
+                <![endif]-->
+
+            </div>
+            <div class="modal-footer">
+                Do you have an Apache ID?
+                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
+                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
+            </div>
+        </div>
+        <script src="./../resources/js/bootstrap-modal.js"></script>
+
+        <footer>
+            <p>Copyright &copy; 1999-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+                Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation.
+                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
+        </footer>
+
+    </div> <!-- /container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+
+  </body>
+</html>

Added: websites/staging/tomee/trunk/content/application-composer/history.html
==============================================================================
--- websites/staging/tomee/trunk/content/application-composer/history.html (added)
+++ websites/staging/tomee/trunk/content/application-composer/history.html Fri Apr 10 09:17:47 2015
@@ -0,0 +1,230 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="UTF-8">
+      <title></title>
+    <meta name="description" content="Apache TomEE">
+    <meta name="author" content="Apache TomEE">
+    <meta name="google-translate-customization" content="f36a520c08f4c9-0a04e86a9c075ce9-g265f3196f697cf8f-10">
+    <meta http-equiv="Pragma" content="no-cache">
+    <meta http-equiv="Expires" content="0">
+    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">
+    <link href="./../resources/css/prettify.css" rel="stylesheet">
+    <link href="./../resources/css/bootstrap-mods.css" rel="stylesheet">
+    <link href="./../resources/css/main.css" rel="stylesheet">
+
+    <script type="text/javascript">
+        var t = encodeURIComponent(document.title.replace(/^\s+|\s+$/g,""));
+        var u = encodeURIComponent(""+document.URL);
+    
+      function fbshare () {
+          window.open(
+                  "http://www.facebook.com/sharer/sharer.php?u="+u,
+                  'Share on Facebook',
+                  'width=640,height=426');
+      };
+      function gpshare () {
+          window.open(
+                  "https://plus.google.com/share?url="+u,
+                  'Share on Google+',
+                  'width=584,height=385');
+      };
+      function twshare () {
+          window.open(
+                  "https://twitter.com/intent/tweet?url="+u+"&text="+t,
+                  'Share on Twitter',
+                  'width=800,height=526');
+      };
+      function pinshare () {
+          window.open("//www.pinterest.com/pin/create/button/?url="+u+"&media=http%3A%2F%2Ftomee.apache.org%2Fresources%2Fimages%2Ffeather-logo.png&description="+t,
+                  'Share on Pinterest',
+                  'width=800,height=526');
+      };
+    </script>
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="./../favicon.ico">
+    <link rel="apple-touch-icon" href="./../resources/images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="./../resources/images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="./../resources/images/apple-touch-icon-114x114.png">
+
+    <script src="./../resources/js/prettify.js" type="text/javascript"></script>
+    <script src="./../resources/js/jquery-latest.js"></script>
+    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+    <script src="./../resources/js/common.js"></script>
+    <script src="./../resources/js/prettyprint.js"></script>
+    <!--script src="//assets.pinterest.com/js/pinit.js" type="text/javascript" async></script//-->
+    
+    <script type="text/javascript">
+
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-2717626-1']);
+      _gaq.push(['_setDomainName', 'apache.org']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+  </head>
+
+  <body>
+
+    <div class="topbar" data-dropdown="dropdown">
+      <div class="fill">
+        <div class="container">
+          <a class="brand" href="./../index.html">Apache TomEE</a>
+          <ul class="nav">
+              <li class="dropdown">
+                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+                  Apache
+                      <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <!-- <li><a href="./../misc/whoweare.html">Who we are?</a></li> -->
+                     <!-- <li><a href="./../misc/heritage.html">Heritage</a></li> -->
+                     <li><a href="http://www.apache.org">Apache Home</a></li>
+                     <!-- <li><a href="./../misc/resources.html">Resources</a></li> -->
+                     <li><a href="./../misc/contact.html">Contact</a></li>
+                     <li><a href="./../misc/legal.html">Legal</a></li>
+                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                     <li class="divider"/>
+                     <li><a href="http://www.apache.org/security">Security</a></li>
+                  </ul>
+              </li>
+              <li><a href="./../index.html">Home</a></li>
+              <li><a href="./../downloads.html">Downloads</a></li>
+              <li><a href="./../documentation.html">Documentation</a></li>
+              <li><a href="./../examples-trunk/index.html">Examples</a></li>
+              <li><a href="./../support.html">Support</a></li>
+              <li><a href="./../contribute.html">Contribute</a></li>
+              <li><a href="./../security/index.html">Security</a></li>
+          </ul>
+
+            <!-- Google CSE Search Box Begins  -->
+            <FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
+                <INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
+                <INPUT type="hidden" name="cof" value="FORID:0">
+                <INPUT size="18" width="130" style="width:130px" name="q" type="text" placeholder="Search">
+            </FORM>
+            <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
+            <!-- Google CSE Search Box Ends -->
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+    
+
+<div class="page-header">
+    <small><a href="./../index.html">Home</a>&nbsp;&raquo&nbsp;<a href="./../application-composer/">Application Composer</a></small><br>
+    <h1>
+
+        <div style="float: right; position: relative; bottom: -10px; ">
+            <a onclick="javascript:gpshare()" class="gp-share sprite" title="Share on Google+">share [gp]</a>
+            <a onclick="javascript:fbshare()" class="fb-share sprite" title="Share on Facebook">share [fb]</a>
+            <a onclick="javascript:twshare()" class="tw-share sprite" title="Share on Twitter">share [tw]</a>
+            <a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
+            <a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
+        </div>
+    </h1>
+</div>
+
+<h1>Application Composer History</h1>
+
+<p>ApplicationComposer can look like a long story but following it you'll realize it is finally quite natural.</p>
+
+<h2>Internal tool</h2>
+
+<p>TomEE (former OpenEJB) is an Application Server. One of the most important task writing an Application Server
+is to ensure the implemented features do what is expected. However it is hard to write N test applications, in N modules
+to ensure it works smoothly. In particular when you want to test a small part of the whole server.</p>
+
+<p>So you immediately think to mocking what is not needed. It works but has a big pitfall: test is often a noop or hide 
+a lot of issues.</p>
+
+<p>So the idea came to be able to shortcut the part we don't care much about runtime: the application packaging.</p>
+
+<p>Here what is the ApplicationComposer: an (originally test) API to create a EE application programmatically.</p>
+
+<h2>Designs</h2>
+
+<p>ApplicationComposer design was aligned on this simple need. An ApplicationComposer "test" (browsing other pages you'll see
+it is much more than test today) is composed of mainly 2 parts:</p>
+
+<ul>
+<li>modules: methods describing a module of an application. It can be a persistence.xml, an ejb-jar.xml, a web.xml...but all programmatically.</li>
+<li>configuration: container configuration allowing to interact with container (creating resources for instance)</li>
+</ul>
+
+<h2>Test but not only</h2>
+
+<p>ApplicationComposer was originally a JUnit only runner but was pretty quickly extended to TestNG too and
+today you can even use it to write <code>main(String[])</code> - even in a shade!</p>
+
+<p>API was greatly simplified and it allows you pretty easily to deploy with a simple shade a JAXRS/JAXWS/JMS service!</p>
+
+<h2>Going further</h2>
+
+<p>If you want to go further you can browse:</p>
+
+<ul>
+<li><a href="getting-started.html">Getting Started</a></li>
+<li><a href="advanced.html">Advanced</a></li>
+</ul>
+
+
+
+
+        <div id="edit" class="modal hide fade in" style="display: none; ">
+            <div class="modal-header">
+                <a class="close" data-dismiss="modal">x</a>
+
+                <h3>Thank you for contributing to the documentation!</h3>
+            </div>
+            <div class="modal-body">
+                <h4>Any help with the documentation is greatly appreciated.</h4>
+                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
+                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
+                <!--[if gt IE 6]>
+                <h4>Internet Explorer Users</h4>
+                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
+                <![endif]-->
+
+            </div>
+            <div class="modal-footer">
+                Do you have an Apache ID?
+                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
+                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
+            </div>
+        </div>
+        <script src="./../resources/js/bootstrap-modal.js"></script>
+
+        <footer>
+            <p>Copyright &copy; 1999-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+                Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation.
+                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
+        </footer>
+
+    </div> <!-- /container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+
+  </body>
+</html>

Added: websites/staging/tomee/trunk/content/application-composer/index.html
==============================================================================
--- websites/staging/tomee/trunk/content/application-composer/index.html (added)
+++ websites/staging/tomee/trunk/content/application-composer/index.html Fri Apr 10 09:17:47 2015
@@ -0,0 +1,208 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="UTF-8">
+      <title></title>
+    <meta name="description" content="Apache TomEE">
+    <meta name="author" content="Apache TomEE">
+    <meta name="google-translate-customization" content="f36a520c08f4c9-0a04e86a9c075ce9-g265f3196f697cf8f-10">
+    <meta http-equiv="Pragma" content="no-cache">
+    <meta http-equiv="Expires" content="0">
+    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">
+    <link href="./../resources/css/prettify.css" rel="stylesheet">
+    <link href="./../resources/css/bootstrap-mods.css" rel="stylesheet">
+    <link href="./../resources/css/main.css" rel="stylesheet">
+
+    <script type="text/javascript">
+        var t = encodeURIComponent(document.title.replace(/^\s+|\s+$/g,""));
+        var u = encodeURIComponent(""+document.URL);
+    
+      function fbshare () {
+          window.open(
+                  "http://www.facebook.com/sharer/sharer.php?u="+u,
+                  'Share on Facebook',
+                  'width=640,height=426');
+      };
+      function gpshare () {
+          window.open(
+                  "https://plus.google.com/share?url="+u,
+                  'Share on Google+',
+                  'width=584,height=385');
+      };
+      function twshare () {
+          window.open(
+                  "https://twitter.com/intent/tweet?url="+u+"&text="+t,
+                  'Share on Twitter',
+                  'width=800,height=526');
+      };
+      function pinshare () {
+          window.open("//www.pinterest.com/pin/create/button/?url="+u+"&media=http%3A%2F%2Ftomee.apache.org%2Fresources%2Fimages%2Ffeather-logo.png&description="+t,
+                  'Share on Pinterest',
+                  'width=800,height=526');
+      };
+    </script>
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="./../favicon.ico">
+    <link rel="apple-touch-icon" href="./../resources/images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="./../resources/images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="./../resources/images/apple-touch-icon-114x114.png">
+
+    <script src="./../resources/js/prettify.js" type="text/javascript"></script>
+    <script src="./../resources/js/jquery-latest.js"></script>
+    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+    <script src="./../resources/js/common.js"></script>
+    <script src="./../resources/js/prettyprint.js"></script>
+    <!--script src="//assets.pinterest.com/js/pinit.js" type="text/javascript" async></script//-->
+    
+    <script type="text/javascript">
+
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-2717626-1']);
+      _gaq.push(['_setDomainName', 'apache.org']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+  </head>
+
+  <body>
+
+    <div class="topbar" data-dropdown="dropdown">
+      <div class="fill">
+        <div class="container">
+          <a class="brand" href="./../index.html">Apache TomEE</a>
+          <ul class="nav">
+              <li class="dropdown">
+                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+                  Apache
+                      <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <!-- <li><a href="./../misc/whoweare.html">Who we are?</a></li> -->
+                     <!-- <li><a href="./../misc/heritage.html">Heritage</a></li> -->
+                     <li><a href="http://www.apache.org">Apache Home</a></li>
+                     <!-- <li><a href="./../misc/resources.html">Resources</a></li> -->
+                     <li><a href="./../misc/contact.html">Contact</a></li>
+                     <li><a href="./../misc/legal.html">Legal</a></li>
+                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                     <li class="divider"/>
+                     <li><a href="http://www.apache.org/security">Security</a></li>
+                  </ul>
+              </li>
+              <li><a href="./../index.html">Home</a></li>
+              <li><a href="./../downloads.html">Downloads</a></li>
+              <li><a href="./../documentation.html">Documentation</a></li>
+              <li><a href="./../examples-trunk/index.html">Examples</a></li>
+              <li><a href="./../support.html">Support</a></li>
+              <li><a href="./../contribute.html">Contribute</a></li>
+              <li><a href="./../security/index.html">Security</a></li>
+          </ul>
+
+            <!-- Google CSE Search Box Begins  -->
+            <FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
+                <INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
+                <INPUT type="hidden" name="cof" value="FORID:0">
+                <INPUT size="18" width="130" style="width:130px" name="q" type="text" placeholder="Search">
+            </FORM>
+            <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
+            <!-- Google CSE Search Box Ends -->
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+    
+
+<div class="page-header">
+    <small><a href="./../index.html">Home</a>&nbsp;&raquo&nbsp;<a href="./../application-composer/">Application Composer</a></small><br>
+    <h1>
+
+        <div style="float: right; position: relative; bottom: -10px; ">
+            <a onclick="javascript:gpshare()" class="gp-share sprite" title="Share on Google+">share [gp]</a>
+            <a onclick="javascript:fbshare()" class="fb-share sprite" title="Share on Facebook">share [fb]</a>
+            <a onclick="javascript:twshare()" class="tw-share sprite" title="Share on Twitter">share [tw]</a>
+            <a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
+            <a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
+        </div>
+    </h1>
+</div>
+
+<h1>Application Composer</h1>
+
+<p>Here is the subdomain dedicated to the Application Composer.</p>
+
+<p>If you don't know at all what ApplicationComposer means, <a href="history.html">History</a> page
+will explain you where does it come from and what it can be used to today.</p>
+
+<p>If you are already familiar with ApplicationComposer concept and are just looking for a sample,
+<a href="getting-started.html">Getting Started</a> is designed for you.</p>
+
+<p>Finally if you already use ApplicationComposer and just desire to go further, <a href="advanced.html">Advanced</a>
+page is the one you need to look!</p>
+
+<p>Children:</p>
+
+<ul>
+<li><a href="history.html">History</a></li>
+<li><a href="getting-started.html">Getting Started</a></li>
+<li><a href="advanced.html">Advanced</a></li>
+</ul>
+
+
+
+
+        <div id="edit" class="modal hide fade in" style="display: none; ">
+            <div class="modal-header">
+                <a class="close" data-dismiss="modal">x</a>
+
+                <h3>Thank you for contributing to the documentation!</h3>
+            </div>
+            <div class="modal-body">
+                <h4>Any help with the documentation is greatly appreciated.</h4>
+                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
+                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
+                <!--[if gt IE 6]>
+                <h4>Internet Explorer Users</h4>
+                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
+                <![endif]-->
+
+            </div>
+            <div class="modal-footer">
+                Do you have an Apache ID?
+                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
+                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
+            </div>
+        </div>
+        <script src="./../resources/js/bootstrap-modal.js"></script>
+
+        <footer>
+            <p>Copyright &copy; 1999-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+                Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation.
+                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
+        </footer>
+
+    </div> <!-- /container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+
+  </body>
+</html>

Modified: websites/staging/tomee/trunk/content/documentation.html
==============================================================================
--- websites/staging/tomee/trunk/content/documentation.html (original)
+++ websites/staging/tomee/trunk/content/documentation.html Fri Apr 10 09:17:47 2015
@@ -162,7 +162,8 @@ You can also find us on IRC freenode.org
 <a href="deploying-in-tomee.html">Deploying in TomEE</a> <br />
 <a href="tomee-webapp.html">The 'tomee' webapp</a> <br />
 <a href="installation-drop-in-war.html">Install TomEE using the drop-in WAR</a> <br />
-<a href="refcard/refcard.html">TomEE Reference Card</a>  </div><div class="span-one-third"></p>
+<a href="refcard/refcard.html">TomEE Reference Card</a> <br />
+<a href="application-composer/index.html">ApplicationComposer</a></div><div class="span-one-third"></p>
 
 <h3>Configuration</h3>
 

Modified: websites/staging/tomee/trunk/content/sitemap.xml
==============================================================================
Binary files - no diff available.