You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ea...@apache.org on 2016/01/08 18:57:27 UTC

[44/52] [abbrv] [partial] qpid-dispatch git commit: DISPATCH-201 - Adding console html/js/css files

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3c9a22b4/console/app/site/doc/Configuration.md
----------------------------------------------------------------------
diff --git a/console/app/site/doc/Configuration.md b/console/app/site/doc/Configuration.md
new file mode 100644
index 0000000..fcd8775
--- /dev/null
+++ b/console/app/site/doc/Configuration.md
@@ -0,0 +1,392 @@
+## Environment Variables
+
+Using [Docker](http://docker.io/) containers is increasingly common. We now have a [docker container for running hawtio](https://github.com/fabric8io/hawtio-docker) for example.
+
+When using docker then environment variables are a preferred way to configure things with environmental values.
+
+So when using **hawtio-base** or **hawtio-default** you can use environment variables to override any of the properties on this page.
+
+To override property "hawtio.foo" just set an environment variable (using _ for dots).
+
+    export hawtio_foo=bar
+
+and if you boot up hawtio in that shell (or you pass that variable into a docker container) then you will override the system property _hawtio.foo_
+
+## Configuring Security
+
+hawtio enables security out of the box depending on the container it is running within. Basically there is two types of containers:
+
+- Karaf based containers
+- Web containers
+
+#### Default Security Settings for Karaf containers
+
+By default the security in hawtio uses these system properties when running in Apache Karaf containers (Karaf, ServiceMix, JBoss Fuse) which you can override:
+
+<table class="buttonTable table table-striped">
+  <thead>
+  <tr>
+    <th>Name</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  </thead>
+  <tbody>
+  <tr>
+    <td>
+      hawtio.authenticationEnabled
+    </td>
+    <td>
+      true
+    </td>
+    <td>
+      Whether or not security is enabled
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.realm
+    </td>
+    <td>
+      karaf
+    </td>
+    <td>
+      The security realm used to login
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.role or hawtio.roles
+    </td>
+    <td>
+      admin,viewer
+    </td>
+    <td>
+      The user role or roles required to be able to login to the console. Multiple roles to allow can be separated by a comma.  Set to * or an empty value to disable role checking when hawtio authenticates a user.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.rolePrincipalClasses
+    </td>
+    <td>      
+    </td>
+    <td>
+      Principal fully qualified classname(s). Multiple classes can be separated by a comma.  Leave unset or set to an empty value to disable role checking when hawtio authenticates a user.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.noCredentials401
+    </td>
+    <td>
+      false
+    </td>
+    <td>
+      Whether to return HTTP status 401 when authentication is enabled, but no credentials has been provided. Returning 401 will cause the browser popup window to prompt for credentails. By default this option is false, returning HTTP status 403 instead.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.authenticationContainerDiscoveryClasses
+    </td>
+    <td>
+      io.hawt.web.tomcat.TomcatAuthenticationContainerDiscovery
+    </td>
+    <td>
+        List of used AuthenticationContainerDiscovery implementations separated by comma. By default there is just TomcatAuthenticationContainerDiscovery, which is used to authenticate users on Tomcat from tomcat-users.xml file. Feel free to remove it if you want to authenticate users on Tomcat from configured jaas login module or feel free to add more classes of your own.
+    </td>
+  </tr>    
+  </tbody>
+</table>
+
+Changing these values is often application server specific. Usually the easiest way to get hawtio working in your container is to just ensure you have a new user with the required role (by default its the 'admin' role).
+
+
+##### Example: customize the allowed roles in Fabric8
+
+Hawtio reads its values in form of system properties. To define them in Fabric8:
+
+    dev:system-property hawtio.roles my_organization_admin
+    # restart hawtio bundle
+    restart io.hawt.hawtio-web
+
+Now only users with the `my_organization_admin` role will be allowed to login in Hawtio.
+
+To add the `my_organization_admin` role to the `admin` user in Fabric8:
+
+    jaas:manage --realm karaf
+    jaas:roleadd admin my_organization_admin
+    jaas:update
+
+
+
+#### Default Security Settings for web containers
+
+By default the security in hawtio uses these system properties when running in any other container which you can override:
+
+<table class="buttonTable table table-striped">
+  <thead>
+  <tr>
+    <th>Name</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  </thead>
+  <tbody>
+  <tr>
+    <td>
+      hawtio.authenticationEnabled
+    </td>
+    <td>
+      false
+    </td>
+    <td>
+      Whether or not security is enabled
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.realm
+    </td>
+    <td>
+      *
+    </td>
+    <td>
+      The security realm used to login
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.role or hawtio.roles
+    </td>
+    <td>
+    </td>
+    <td>
+       The user role or roles required to be able to login to the console. Multiple roles to allow can be separated by a comma.  Set to * or an empty value to disable role checking when hawtio authenticates a user.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.rolePrincipalClasses
+    </td>
+    <td>
+    </td>
+    <td>
+      Principal fully qualified classname(s). Multiple classes can be separated by comma.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.noCredentials401
+    </td>
+    <td>
+    </td>
+    <td>
+       Whether to return HTTP status 401 when authentication is enabled, but no credentials has been provided. Returning 401 will cause the browser popup window to prompt for credentails. By default this option is false, returning HTTP status 403 instead.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.authenticationContainerDiscoveryClasses
+    </td>
+    <td>
+      io.hawt.web.tomcat.TomcatAuthenticationContainerDiscovery
+    </td>
+    <td>
+        List of used AuthenticationContainerDiscovery implementations separated by comma. By default there is just TomcatAuthenticationContainerDiscovery, which is used to authenticate users on Tomcat from tomcat-users.xml file. Feel free to remove it if you want to authenticate users on Tomcat from configured jaas login module or feel free to add more classes of your own.
+    </td>
+  </tr>  
+  </tbody>
+</table>
+
+
+
+#### Configuring or disabling security in web containers
+
+Set the following JVM system property to enable security:
+
+    hawtio.authenticationEnabled=true
+
+Or adjust the web.xml file and configure the &lt;env-entry&gt; element, accordingly.
+
+##### Configuring security in Apache Tomcat
+
+From **hawt 1.2.2** onwards we made it much easier to use Apache Tomcats userdata file (conf/tomcat-users.xml) for security.
+All you have to do is to set the following **CATALINA_OPTS** environment variable:
+
+    export CATALINA_OPTS=-Dhawtio.authenticationEnabled=true
+
+Then **hawtio** will auto detect that its running in Apache Tomcat, and use its userdata file (conf/tomcat-users.xml) for security.
+
+For example to setup a new user named scott with password tiger, then edit the file '''conf/tomcat-users.xml''' to include:
+
+    <user username="scott" password="tiger" roles="tomcat"/>
+
+Then you can login to hawtio with the username scott and password tiger.
+
+If you only want users of a special role to be able to login **hawtio** then you can set the role name in the **CATALINA_OPTS** environment variable as shown:
+
+    export CATALINA_OPTS='-Dhawtio.authenticationEnabled=true -Dhawtio.role=manager'
+
+Now the user must be in the manager role to be able to login, which we can setup in the '''conf/tomcat-users.xml''' file:
+
+    <role rolename="manager"/>
+    <user username="scott" password="tiger" roles="tomcat,manager"/>
+
+Note that if you still want to use your own login modules instead of conf/tomcat-users.xml file, you can do it by remove TomcatAuthenticationContainerDiscovery from     
+system properties and point to login.conf file with your login modules configuration. Something like:
+
+    export CATALINA_OPTS='-Dhawtio.authenticationEnabled=true -Dhawtio.authenticationContainerDiscoveryClasses= -Dhawtio.realm=hawtio -Djava.security.auth.login.config=$CATALINA_BASE/conf/login.conf'
+
+Then you can configure jaas in file TOMCAT_HOME/conf/login.conf (Example of file below in jetty section).     
+
+##### Configuring security in Jetty
+
+
+
+To use security in jetty you first have to setup some users with roles. To do that navigate to the etc folder of your jetty installation and create the following file etc/login.properties and enter something like this:
+
+    scott=tiger, user
+    admin=CRYPT:adpexzg3FUZAk,admin,user
+
+You have added two users. The first one named scott with the password tiger. He has the role user assigned to it. The second user admin with password admin which is obfuscated (see jetty realms for possible encryption methods). This one has the admin and user role assigned.
+
+Now create a second file in the same directory called login.conf. This is the login configuration file.
+
+    hawtio {
+      org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required 
+      debug="true"
+      file="${jetty.base}/etc/login.properties";
+    };
+
+Next you have to change the hawtio configuration:
+    
+<table class="buttonTable table table-striped">
+  <thead>
+  <tr>
+    <th>Name</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  </thead>
+  <tbody>
+  <tr>
+    <td>
+      hawtio.authenticationEnabled
+    </td>
+    <td>
+      true
+    </td>
+    <td>
+      Whether or not security is enabled
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.realm
+    </td>
+    <td>
+      hawtio
+    </td>
+    <td>
+      The security realm used to login
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.role
+    </td>
+    <td>
+    admin
+    </td>
+    <td>
+      The user role required to be able to login to the console
+    </td>
+  </tr>
+  <tr>
+    <td>
+      hawtio.rolePrincipalClasses
+    </td>
+    <td>
+    </td>
+    <td>
+      Principal fully qualified classname(s). Multiple classes can be separated by comma.
+    </td>
+  </tr>
+  </tbody>
+</table>
+
+You have now enabled security for hawtio. Only users with role "admin" are allowed.
+
+At last enable the jaas module in jetty. This is done by adding the following line to the start.ini which is located in the jetty.base folder:
+
+    # Enable security via jaas, and configure it
+    --module=jaas
+
+## Configuration Properties
+
+The following table contains the various configuration settings for the various hawtio plugins.
+
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th>System Property</th>
+      <th>Description</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>hawtio.offline</td>
+      <td>Whether to run hawtio in offline mode (default false). When in offline mode, then some plugins is not enabled such as <a href="http://hawt.io/plugins/maven/">Maven</a> and <a href="http://hawt.io/plugins/git/">Git</a>.</td>
+    </tr>
+    <tr> 
+      <td>hawtio.dirname</td>
+      <td>The directory name for the hawtio home. Is by default <tt>/.hawtio</tt>. This complete home directory for hawtio is the <tt>hawtio.config.dir</tt><tt>hawtio.dirname</tt>, so remember to have leading / in this option. The out of the box options translates as the: <tt>user.home/.hawtio</tt> directory.</td>
+    </tr>
+    <tr> 
+      <td>hawtio.config.dir</td>
+      <td>The directory on the file system used to keep a copy of the configuration for hawtio; for all user settings, the dashboard configurations, the wiki etc. Typically you will push this configuration to some remote git server (maybe even github itself) so if not specified this directory will be a temporary created directory. However if you are only running one hawtio server then set this somewhere safe and you probably want to back this up!. See also the hawtio.dirname option.</td>
+    </tr>
+    <tr>
+      <td>hawtio.config.repo</td>
+      <td>The URL of the remote git repository used to clone for the dashboard and wiki configuration. This defaults to <b>git@github.com:hawtio/hawtio-config.git</b> but if you forked the hawtio-config repository then you would use your own user name; e.g. <b>git@github.com:myUserName/hawtio-config.git</b></td>
+    </tr>
+    <tr>
+      <td>hawtio.config.cloneOnStartup</td>
+      <td>If set to the value of <b>false</b> then there will be no attempt to clone the remote repo</td>
+    </tr>
+    <tr>
+      <td>hawtio.config.importURLs</td>
+      <td>The URLs (comman separated) of jar/zip contents that should be downloaded and imported into the wiki on startup. This supports the <code>mvn:group/artifact/version[/extension/classifier]</code> syntax so you can refer to jars/zips from maven repos</td>
+    </tr>
+    <tr>
+      <td>hawtio.config.pullOnStartup</td>
+      <td>If set to the value of <b>false</b> then there will be no attempt to pull from the remote config repo on startup</td>
+    </tr>
+    <tr>
+      <td>hawtio.maven.index.dir</td>
+      <td>The directory where the maven indexer will use to store its cache and index files</td>
+    </tr>
+    <tr>
+      <td>hawtio.sessionTimeout</td>
+      <td><strong>hawtio 1.2.2</strong> The maximum time interval, in seconds, that the servlet container will keep this session open between client accesses. If this option is not configured, then hawtio uses the default session timeout of the servlet container.</td>
+    </tr>
+  </tbody>
+</table>
+
+## Web Application configuration
+
+If you are using a web container, the easiest way to change the web app configuration values is:
+
+* Create your own WAR which depends on the **hawtio-default.war** like the [sample project's pom.xml](https://github.com/hawtio/hawtio/blob/master/sample/pom.xml#L17)
+* Create your own [blueprint.properties](https://github.com/hawtio/hawtio/blob/master/sample/src/main/resources/blueprint.properties#L7) file that then can override whatever properties you require
+
+#### OSGi configuration
+
+Just update the blueprint configuration values in OSGi config admim as you would any OSGi blueprint bundles. On OSGi all the hawtio Java modules use OSGi blueprint.
+
+
+#### More information
+
+In the [articles](http://hawt.io/articles/index.html) colleciton you may find links to blog posts how to setup authentication with hawtio in various other containers. 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3c9a22b4/console/app/site/doc/Directives.html
----------------------------------------------------------------------
diff --git a/console/app/site/doc/Directives.html b/console/app/site/doc/Directives.html
new file mode 100644
index 0000000..8e5892d
--- /dev/null
+++ b/console/app/site/doc/Directives.html
@@ -0,0 +1,63 @@
+<h2>AngularJS Directives</h2>
+
+<p>The following lists the external directives available in the <a
+        href="https://github.com/hawtio/hawtio/blob/master/DEVELOPERS.md#javascript-libraries">libraries used by
+  hawtio</a> together with its <a href="http://hawt.io/plugins/index.html">developer plugins</a>.
+
+<ul>
+  <li>
+    <a href="http://hawt.io/directives/">
+      Hawtio Directives
+    </a> provides a hawt set of directives created and maintained by the hawtio team.
+  </li>
+  <li>
+    <a href="http://codef0rmer.github.io/angular-dragdrop/#/">angular dragdrop</a>
+    <ul>
+      <li><a href="http://codef0rmer.github.io/angular-dragdrop/#/">Drag and Drop</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="http://angular-ui.github.io/bootstrap/">angular UI</a>
+    <ul>
+      <li><a href="http://angular-ui.github.io/bootstrap/#accordion">Accordion</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#alert">Alert</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#buttons">Buttons</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#carousel">Carousel</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#collapse">Collapse</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#datepicker">Datepicker</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#dialog">Dialog</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#dropdownToggle">Dropdown Toggle</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#modal">Modal</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#pagination">Pagination</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#popover">Popover</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#progressbar">Progressbar</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#rating">Rating</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#tabs">Tabs</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#timepicker">Timepicker</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#tooltip">Tooltip</a></li>
+
+      <li><a href="http://angular-ui.github.io/bootstrap/#typeahead">Typeahead</a></li>
+    </ul>
+  </li>
+ <li>
+    <a href="http://angular-ui.github.io/ng-grid/">ng-grid</a>
+    <ul>
+      <li><a href="http://angular-ui.github.io/ng-grid/">Grid</a></li>
+    </ul>
+  </li>
+</ul>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3c9a22b4/console/app/site/doc/GetStarted.md
----------------------------------------------------------------------
diff --git a/console/app/site/doc/GetStarted.md b/console/app/site/doc/GetStarted.md
new file mode 100644
index 0000000..055ca90
--- /dev/null
+++ b/console/app/site/doc/GetStarted.md
@@ -0,0 +1,256 @@
+You can use hawtio from a Chrome Extension or in many different containers - or outside a container in a stand alone executable jar. Below are all the various options for running hawtio. To see whats changed lately check out the <a class="btn btn-default" href="http://hawt.io/changelog.html">change log</a>
+
+The Hawtio platform consists of 2 parts, the backend which is running in a Java Web Container the Jolokia gateway (JMX to JSON) and the front end containing the Angular, D3, ... Javascript to do the rendering of the JSON responses in a very nice way. 
+Depending how you plan to use Hawtio for your project in your environment, you can run the backend using a [java standalone jar](#standalone), [a servlet engine](#web-container), [application server](#jee) or [an OSGI container](#osgi).
+If you do not use a servlet container or application server, you can also embed the hawtio backend [inside your process](#embedded).
+ 
+The front end could be accessed using the **HTML5 web console** or from [Google Browser](#chrome-ext)
+
+The out of the box defaults try to do the right thing for most folks but if you want to configure things then please check out the <a class="btn btn-default" href="http://hawt.io/configuration/index.html">configuration guide</a>
+
+<a name="standalone"></a>
+## Using the executable jar
+
+You can startup hawtio on your machine using the hawtio-app executable jar.
+
+<a class="btn btn-large  btn-primary" href="https://oss.sonatype.org/content/repositories/public/io/hawt/hawtio-app/1.4.45/hawtio-app-1.4.45.jar">Download the executable hawtio-app-1.4.45.jar</a>
+
+Once you have downloaded it, just run this from the command line:
+
+    java -jar hawtio-app-1.4.45.jar
+
+And the console should show you which URL to open to view hawtio; which by default is [http://localhost:8282/hawtio/](http://localhost:8282/hawtio/)
+
+You can specify the port number to use, for example to use port 8090 run from the command line:
+
+    java -jar hawtio-app-1.4.45.jar --port 8090
+
+hawtio supports other options which you can get listed by running from command line:
+
+    java -jar hawtio-app-1.4.45.jar --help
+
+<a name="web-container"></a>
+## Using a Servlet Engine or Application Server
+
+If you are running Tomcat 5/6/7, Jetty 7/8 or you could just deploy a WAR:
+(JBoss AS or Wildfly users see other containers section further below)
+
+<div class="row">
+  <div class="col-md-6 span6 text-center">
+    <p>
+      <a class="btn btn-large  btn-primary" href="https://oss.sonatype.org/content/repositories/public/io/hawt/hawtio-default/1.4.45/hawtio-default-1.4.45.war">Download hawtio-default.war</a>
+    </p>
+    <p>
+      a bare hawtio web application with minimal dependencies
+    </p>
+  </div>
+  <div class="col-md-6 span6 text-center">
+    <p>
+      <a class="btn btn-large  btn-primary" href="https://oss.sonatype.org/content/repositories/public/io/hawt/sample/1.4.45/sample-1.4.45.war">Download sample.war</a>
+    </p>
+    <p>
+      a hawtio web application which comes with some <a href="http://activemq.apache.org/">Apache ActiveMQ</a> and
+      <a href="http://camel.apache.org/">Apache Camel</a> to play with which is even <i>hawter</i>
+    </p>
+  </div>
+</div>
+
+Copy the WAR file to your deploy directory in your container.
+
+If you rename the downloaded file to _hawtio.war_ then drop it into your deploy directory then open [http://localhost:8282/hawtio/](http://localhost:8282/hawtio/) and you should have your hawtio console to play with.
+
+Otherwise you will need to use either [http://localhost:8282/hawtio-default-1.4.45/](http://localhost:8282/hawtio-default-1.4.45/) or [http://localhost:8282/sample-1.4.45/](http://localhost:8282/sample-1.4.45/)  depending on the file name you downloaded.
+
+Please check [the configuration guide](http://hawt.io/configuration/index.html) to see how to configure things; in particular security.
+
+If you are working offline and have no access to the internet on the machines you want to use with hawtio then you may wish to
+ <a class="btn btn-default" href="https://oss.sonatype.org/content/repositories/public/io/hawt/hawtio-default-offline/1.4.45/hawtio-default-offline-1.4.45.war">Download hawtio-default-offline.war</a> which avoids some pesky errors appearing in your log on startup (as the default behaviour is to clone a git repo on startup for some default wiki and dashboard content).
+
+If you don't see a Tomcat / Jetty tab for your container you may need to enable JMX.
+
+<a name="osgi"></a>
+## Using Fuse, Fabric8, Apache Karaf or Apache Servicemix
+
+If you are using 6.1 or later of [JBoss Fuse](http://www.jboss.org/products/fuse), then hawtio is installed out of the box
+
+Otherwise if you are using 6.0 or earlier of [Fuse](http://www.jboss.org/products/fuse) or a vanilla [Apache Karaf](http://karaf.apache.org/) or [Apache ServiceMix](http://servicemix.apache.org/) then try the following:
+
+    features:addurl mvn:io.hawt/hawtio-karaf/1.4.45/xml/features
+    features:install hawtio
+
+If you are using [Apache Karaf](http://karaf.apache.org/) 2.3.3 or newer then you can use 'features:chooseurl' which is simpler to do:
+
+    features:chooseurl hawtio 1.4.45
+    features:install hawtio
+
+The hawtio console can then be viewed at [http://localhost:8181/hawtio/](http://localhost:8181/hawtio/). The default login for Karaf is karaf/karaf, and for ServiceMix its smx/smx.
+
+**NOTE** if you are on ServiceMix 4.5 then you should install hawtio-core instead of hawtio, eg
+
+    features:addurl mvn:io.hawt/hawtio-karaf/1.4.45/xml/features
+    features:install hawtio-core
+
+### If you use a HTTP proxy
+
+If you are behind a http proxy; you will need to enable HTTP Proxy support in Fuse / Karaf / ServiceMix to be able to download hawtio from the central maven repository.
+
+There are a few [articles about](http://mpashworth.wordpress.com/2012/09/27/installing-apache-karaf-features-behind-a-firewall/) [this](http://stackoverflow.com/questions/9922467/how-to-setup-a-proxy-for-apache-karaf) which may help. Here are the steps:
+
+Edit the **etc/org.ops4j.pax.url.mvn.cfg** file and make sure the following line is uncommented:
+
+    org.ops4j.pax.url.mvn.proxySupport=true
+
+You may also want **org.ops4j.pax.url.mvn.settings** to point to your Maven settings.xml file. **NOTE** use / in the path, not \.
+
+    org.ops4j.pax.url.mvn.settings=C:/Program Files/MyStuff/apache-maven-3.0.5/conf/settings.xml
+
+Fuse / Karaf / ServiceMix will then use your [maven HTTP proxy settings](http://maven.apache.org/guides/mini/guide-proxies.html) from your **~/.m2/settings.xml** to connect to the maven repositories listed in **etc/org.ops4j.pax.url.mvn.cfg** to download artifacts.
+
+If you're still struggling getting your HTTP proxy to work with Fuse, try jump on the [Fuse Form and ask for more help](https://community.jboss.org/en/jbossfuse).
+
+## Other containers
+
+The following section gives details of other containers
+
+<a name="jee"></a>
+### If you use JBoss AS or Wildfly
+
+You may have issues with slf4j JARs in WAR deployments on JBoss AS or Wildfly. To resolve this you must use <a class="btn-default" href="https://oss.sonatype.org/content/repositories/public/io/hawt/hawtio-no-slf4j/1.4.45/hawtio-no-slf4j-1.4.45.war">Download hawtio-no-slf4j.war</a>.
+
+See more details [here](http://totalprogus.blogspot.co.uk/2011/06/javalanglinkageerror-loader-constraint.html).
+
+Additionally related to logging, you can remove the log4j.properties from the root of the classpath so that Wildlfy
+uses its logging mechanisms instead of trying to use the embedded log4j. From the command line, you can
+try:
+
+    zip -d hawtio.war WEB-INF/classes/log4j.properties
+    
+Since hawtio does use some CDI beans, but does not deploy a beans.xml CDI descriptor, you can also relax
+Wildfly's [implicit CDI detection](https://docs.jboss.org/author/display/WFLY8/CDI+Reference) by changing the 
+Weld config to look like this:
+
+        <system-properties>
+            <property name="hawtio.authenticationEnabled" value="false" />
+        </system-properties>
+        
+To enable security, you'll need to set you configuration up like this:
+
+    <extensions>
+        ...
+    </extensions>
+    
+    <system-properties>
+        <property name="hawtio.authenticationEnabled" value="true" />
+        <property name="hawtio.realm" value="jboss-web-policy" />
+        <property name="hawtio.role" value="admin" />
+    </system-properties>
+    
+You can follow the [steps outlined in this blog](http://www.christianposta.com/blog/?p=403) for a more comprehensive
+look at enabling security in Wildfly with hawtio.
+
+If you experience problems with security, you would need to disable security in hawtio by [configure the system properties](http://www.mastertheboss.com/jboss-configuration/how-to-inject-system-properties-into-jboss) by adding the following to your **jboss-as/server/default/deploy/properties-service.xml** file (which probably has the mbean definition already but commented out):
+
+    <mbean code="org.jboss.varia.property.SystemPropertiesService"
+     name="jboss:type=Service,name=SystemProperties">
+
+      <attribute name="Properties">
+            hawtio.authenticationEnabled=false
+      </attribute>
+    </mbean>
+
+Or in newer versions (Wildfly 8.1) you'll want to add this to standalone/configuration/standalone.xml:
+
+    <extensions>
+        ...
+    </extensions>
+    
+    <system-properties>
+        <property name="hawtio.authenticationEnabled" value="false" />
+    </system-properties>
+
+### Enable JMX on Jetty 8.x
+
+If you are using Jetty 8.x then JMX may not enabled by default, so make sure the following line is not commented out in **jetty-distribution/start.ini** (you may have to uncomment it to enable JMX).
+
+    etc/jetty-jmx.xml
+
+
+<a name="embedded"></a>
+## Using hawtio inside a stand alone Java application
+
+If you do not use a servlet container or application server and wish to embed hawtio inside your process try the following:
+
+Add the following to your pom.xml
+
+    <dependency>
+      <groupId>io.hawt</groupId>
+      <artifactId>hawtio-embedded</artifactId>
+      <version>${hawtio-version}</version>
+     </dependency>
+
+Then in your application run the following code:
+
+    import io.hawt.embedded.Main;
+
+    ...
+    Main main = new Main();
+    main.setWar("somePathOrDirectoryContainingHawtioWar");
+    main.run();
+
+If you wish to do anything fancy it should be easy to override the Main class to find the hawtio-web.war in whatever place you wish to locate it (such as your local maven repo or download it from some server etc).
+
+<a name="chrome-ext"></a>
+## Using the Chrome Extension (currently not working)
+
+> Chrome Extension currently does not work, as Google requires extensions to be installed using their app store, and hawtio are not yet published to the app store. This may change in the future.
+
+<a class="btn btn-large btn-primary" href="http://central.maven.org/maven2/io/hawt/hawtio-crx/1.4.45/hawtio-crx-1.4.45.crx">Download the hawtio Chrome Extension version 1.4.45</a>
+
+* Then you'll need to open the folder that the CRX file got downloaded to. On a Mac in Chrome you right click the downloaded file and click <b>Show in Finder</b>
+
+* now in <a href="https://www.google.com/intl/en/chrome/browser/">Google Chrome</a> open the <a class="btn btn-default btn-large" href="chrome://extensions/">Extensions Page</a> at <b>chrome://extensions/</b> or <b>Window pull down menu -&gt; Extensions</b>
+
+* now drop the downloaded CRX file (from Finder or Windows Explorer) onto Chrome's <a href="chrome://extensions/">Extensions Page</a> at <b>chrome://extensions/</b> or <b>Window pull down menu -&gt; Extensions</b> and it should install the hawtio extension for Chrome.
+
+* now to open a <a href="http://hawt.io/">hawtio</a> tab or window at any point, just open a new tab / window in Chrome, click the <b>Apps</b> button on the left hand of the bookmark bar which should open a window with all your extensions in there....
+
+* you should see a <a href="http://hawt.io/">hawtio icon</a> in the apps page. If not <a href="http://hawt.io/community/index.html">let us know!</a>.
+
+* Click the <a href="http://hawt.io/">hawtio icon</a>
+
+* the <b>Connect</b> page should appear where you can then connect to any processes which are running a <a href="http://jolokia.org/">jolokia agent</a>.
+
+* have fun and profit! Please share with us your <a href="http://hawt.io/community/index.html">feedback!</a> or <a href="https://twitter.com/hawtio">tweet us!</a>
+
+## Using a git Clone
+
+From a git clone you should be able to run the a sample hawtio console as follows:
+
+    git clone git@github.com:hawtio/hawtio.git
+    cd hawtio/sample
+    mvn jetty:run
+
+Then opening [http://localhost:8282/hawtio/](http://localhost:8282/hawtio/) should show hawtio with a sample web application with some ActiveMQ and Camel inside to interact with.
+
+A good MBean for real time values and charts is `java.lang/OperatingSystem`. Try looking at queues or Camel routes. Notice that as you change selections in the tree the list of tabs available changes dynamically based on the content.
+
+## Using Third Party Plugins
+
+**hawtio** is fully pluggable, and allows to integrate with custom plugins, as if they are out of the box. There is different approaches how you can install and use custom plugins with hawtio, which you can read more about at [How Plugin Works](http://hawt.io/plugins/howPluginsWork.html).
+
+## Using hawtio Maven Plugins
+
+**hawtio** offers a number of [Maven Plugins](http://hawt.io/maven/), so that users can bootup Maven projects and have hawtio embedded in the running JVM.
+
+## Trying SNAPSHOT builds
+
+The **hawtio** project has a CI server which builds and deploys daily builds to a [Maven repository](https://repository.jboss.org/nexus/content/repositories/fs-snapshots/io/hawt). For example to try the latest build of the 'hawtio-default' WAR you can
+download it from the [Maven repository](https://repository.jboss.org/nexus/content/repositories/fs-snapshots/io/hawt/hawtio-default).
+
+
+## Further Reading
+
+* [Articles and Demos](http://hawt.io/articles/index.html)
+* [FAQ](http://hawt.io/faq/index.html)
+* [How to contribute](http://hawt.io/contributing/index.html)
+* [Join the hawtio community](http://hawt.io/community/index.html)

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3c9a22b4/console/app/site/doc/HowPluginsWork.md
----------------------------------------------------------------------
diff --git a/console/app/site/doc/HowPluginsWork.md b/console/app/site/doc/HowPluginsWork.md
new file mode 100644
index 0000000..ff16f0f
--- /dev/null
+++ b/console/app/site/doc/HowPluginsWork.md
@@ -0,0 +1,78 @@
+Currently hawtio uses JMX to discover which MBeans are present and then dynamically updates the navigation bars and tabs based on what it finds. The UI is updated whenever hawtio reloads the mbeans JSON; which it does periodically or a plugin can trigger explicitly.
+
+So you can deploy the standard [hawtio-web.war](https://oss.sonatype.org/content/repositories/public/io/hawt/hawtio-web/1.4.19/hawtio-web-1.4.19.war); then as you deploy more services to your container, hawtio will update itself to reflect the suitable plugins in the UI.
+
+Relying on JMX for discovery doesn't mean though that plugins can only interact with JMX; they can do anything at all that a browser can. e.g. a plugin could use REST to discover UI capabilities and other plugins.
+
+A hawtio plugin is anything that will run inside a browser. We've tried to keep hawtio plugins as technology agnostic as possible; so a plugin is just some combination of JS / HTML / CSS / markup / images and other content that can be loaded in a browser.
+
+
+## What is a Plugin?
+
+From a plugin developer's perspective a plugin is just a set of resources; usually at least one JavaScript file.
+
+For [all the plugins](http://hawt.io/plugins/index.html) we've done so far we've picked [AngularJS](http://angularjs.org/) as the UI framework, which has nice a two-way binding between the HTML markup and the JS data model along with modularisation, web directives and dependency injection.
+
+We're using TypeScript to generate the JS code to get syntax for modules, classes, interfaces, type inference and static type checking; but folks can use anything that compiles to JS (e.g. vanilla JS or JSLint / Google Closure, CoffeeScript or any of the JVM language -> JS translators like GWT, Kotlin, Ceylon etc)
+
+In terms of JS code, we're using JavaScript modules to keep things separated, so plugins can't conflict but they can work together if required. From an AngularJS perspective we're using AngularJS's modules and dependency injection; which makes it easy for plugins to interact with each other & share services between them. e.g. plugins which want to interact with or listen to changes in the MBean tree can be injected with the Workspace service etc.
+
+### Example Plugin
+
+If you want so see some example code, here's a [log plugin](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/log/js/logPlugin.ts) designed to work with an MBean which queries the log statements from SLF4J/log4j, etc.
+
+* We can [map single page URIs templates](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/log/js/logPlugin.ts#L5) to HTML templates (partials) and controllers. This will add the view at http://localhost:8282/hawtio/#/logs if you are running hawtio locally.
+* These AngularJS modules can be added and removed at runtime inside the same single page application without requiring a reload.
+* [Here's where we register a top-level navigation bar item](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/log/js/logPlugin.ts#L12) for this the new log tab.
+* Here's a [sub tab in the JMX plugin](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/log/js/logPlugin.ts#L19) which is only visible if you select a node in the JMX tree.
+
+Thanks to the dependency injection of [AngularJS](http://angularjs.org/) different plugins can expose services and perform various kinds of integration and wiring together.
+
+## Adding Your Own Plugins
+
+There are various ways of adding your own plugins to hawtio:
+
+### Static Linking
+
+The simplest way to make plugins available is to statically link them inside the WAR hosting the hawtio web application.
+
+e.g. if you create a maven WAR project and [add the hawtio-web WAR dependency and use the maven war plugin](https://github.com/hawtio/hawtio/blob/master/sample/pom.xml#L17) you can then add your own plugins into the **src/main/webapp/app** directory.
+
+### Separate Deployment Unit
+
+Plugins can be packaged up as a separate deployment unit (WAR, OSGi bundle, EAR, etc) and then deployed like any other deployment unit.
+
+The plugin then needs to expose a hawtio plugin MBean instance which describes how to load the plugin artifacts (e.g. local URLs inside the container or public URLs to some website). See the [plugin examples](https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples) for more details.
+
+So plugins can be deployed into the JVM via whatever container you prefer (web container, OSGi, JEE). 
+
+To see how this works check out the [plugin examples and detailed description](https://github.com/hawtio/hawtio/blob/master/hawtio-plugin-examples/readme.md).
+
+For example WAR deployment units can easily be deployed in a web container such as Apache Tomcat. Just drop the plugin in the deploy directory along with the hawtio WAR. And hawtio will automatic detect the custom plugin.
+
+The standalone hawtio application (hawtio-app) is also capable of using custom plugins as WAR files. This can be done by copying the plugin WARs to the plugins sub directory where hawtio-app is launched.
+
+For example the current directory is `myfolder`, where we create a sub directory named `plugins`, and then copy our custom plugins as WAR files to that directory. And then just launch hawtio-app as usual.
+
+    myfolder$
+    mkdir plugins
+    cp ~/mycustomplugin.war plugins
+    java -jar hawtio-app-1.4.40.jar
+    
+You can copy as many custom plugins to the `plugins` directory.
+
+An important aspect however, is that the name of the WAR file must match the context-path name, that has been configured in the `web.xml` file. For example the groovy-shell example plugin has configured `groovy-shell-plugin` as its context-path, which means the name of the WAR file must be `groovy-shell-plugin.war`. Here is the name configured [here](https://github.com/hawtio/hawtio/blob/master/hawtio-plugin-examples/groovy-shell-plugin/pom.xml#L23), which will be used as placeholder in the [web.xml](https://github.com/hawtio/hawtio/blob/master/hawtio-plugin-examples/groovy-shell-plugin/src/main/resources/WEB-INF/web.xml#L14) file.
+
+
+### Using a Registry
+
+We've not fully implemented this yet--but we can have a simple JSON registry inside the hawtio application which maps known MBean object names to external plugins. We can then auto-install plugins using trusted JSON repositories of plugins.
+
+This has the benefit of not requiring any changes to the JVM being managed (other than Jolokia being inside).
+
+Here is a [sample JSON file](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/test.json) to show the kind of thing we mean.
+
+### Plugin Manager (plugin)
+
+We could add a "plugin manager" plugin to allow users to add new plugins either into the JVM, some registry or purely on the client side with local storage. So rather like with [jenkins](http://jenkins-ci.org/) you can install new plugins from a repository of well known plugins, we could add the same capability to hawtio.
+

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3c9a22b4/console/app/site/doc/HowToMakeUIStuff.md
----------------------------------------------------------------------
diff --git a/console/app/site/doc/HowToMakeUIStuff.md b/console/app/site/doc/HowToMakeUIStuff.md
new file mode 100644
index 0000000..6b2f984
--- /dev/null
+++ b/console/app/site/doc/HowToMakeUIStuff.md
@@ -0,0 +1,25 @@
+# Hints and tips on making different UI components
+
+This document tries to give some hints and tips on how to make common UI stuff
+
+## Modal Dialogs
+
+Its handy to have popups with detailed views, confirmation dialogs or wizards.
+
+Here's a quick and easy way to make them in hawtio:
+
+* ensure your angular module depends on **'ui.bootstrap.dialog'**:
+
+    angular.module(pluginName, ['bootstrap', 'ui.bootstrap.dialog', 'hawtioCore'])
+
+* create a [new Core.Dialog() object in your controller scope](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/activemq/js/browse.ts#L7) with some name
+
+* Then in the modal dialog markup, using [angular ui bootstrap modals](http://angular-ui.github.io/bootstrap/#/modal) refer to **name.show** and **name.options**, then to open/show use **name.open()** and **name.close()**as in this [example markup for the above controller code](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/activemq/html/browseQueue.html#L70)
+
+This also means you only have to come up with 1 name per dialog - the name of the dialog object - rather than naming the various flags/options/open/close methods :)
+
+## Grids / Tables
+
+We have 2 implementations currentl, [ng-grid](http://angular-ui.github.io/ng-grid/) which has a really nice directive and angular way of working with it; check it out for the documentation on how to make a grid.
+
+We've also got a [datatable plugin](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/datatable/doc/developer.md) which provides a directive and API to ng-grid but uses the underlying [jQuery DataTable widget](http://datatables.net/) until ng-grid is as fast and solves all the same use cases.

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3c9a22b4/console/app/site/doc/MavenPlugins.md
----------------------------------------------------------------------
diff --git a/console/app/site/doc/MavenPlugins.md b/console/app/site/doc/MavenPlugins.md
new file mode 100644
index 0000000..5e853b7
--- /dev/null
+++ b/console/app/site/doc/MavenPlugins.md
@@ -0,0 +1,291 @@
+# hawtio Maven Plugins
+**Available as of hawtio 1.2.1**
+
+**hawtio** offers a number of Maven Plugins, so that users can bootup Maven projects and have **hawtio** embedded in the running JVM.
+
+## Maven Goals
+
+**hawtio** offers the following Maven Goals, and each goal is further documented below:
+
+<table class="table">
+  <tr>
+    <th>Goal</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>run</td>
+    <td>This goal runs the Maven project, by executing the configured mainClass (as a public static void main)</td>
+  </tr>  
+  <tr>
+    <td>spring</td>
+    <td>This goal runs the Maven project as a Spring application, by loading Spring XML configurations files from the classpath or file system.</td>
+  </tr>    
+  <tr>
+    <td>camel</td>
+    <td>This goal is an extension to the <a href="http://camel.apache.org/camel-maven-plugin.html">Apache Camel Maven Plugins</a>, allowing to run the Camel Maven project and have hawtio embedded. This allows users to gain visibility into the running JVM, and see what happens, such as live visualization of the Camel routes, and being able to debug and profile routes, and much more, offered by the <a href="http://hawt.io/plugins/camel/">Camel plugin</a>.</td>
+  </tr>
+  <tr>
+    <td>camel-blueprint</td>
+    <td>The same as the camel goal but needed when using OSGi Blueprint Camel applications.</td>
+  </tr>         
+  <tr>
+    <td>test</td>
+    <td>This goal run the unit tests of the Maven project. Can be used together with the <a href"http://hawt.io/plugins/junit.html">JUnit</a> plugin to run unit tests from within hawtio console as well. This plugin is currently <strong>Work in progress</strong>, and subject for changes.</td>
+  </tr>         
+</table>
+
+
+### Common Maven Goal configuration
+
+All of the **hawtio** Maven Plugins provides the following common options:
+
+<table class="table">
+  <tr>
+    <th>Option</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>logClasspath</td>
+    <td>false</td>
+    <td>Whether to log the classpath.</td>
+  </tr>  
+  <tr>
+    <td>logDependencies</td>
+    <td>false</td>
+    <td>Whether to log resolved Maven dependencies.</td>
+  </tr>  
+  <tr>
+    <td>offline</td>
+    <td>false</td>
+    <td>Whether to run hawtio in offline mode. Some of the hawtio plugins requires online connection to the internet.</td>
+  </tr>  
+</table>
+
+
+
+### run Maven Goal configuration
+
+Currently all of the **hawtio** Maven Plugins provides the following common options:
+
+<table class="table">
+  <tr>
+    <th>Option</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>context</td>
+    <td>hawtio</td>
+    <td>The context-path to use for the embedded hawtio web console.</td>
+  </tr>  
+  <tr>
+    <td>port</td>
+    <td>8282</td>
+    <td>The port number to use for the embedded hawtio web console.</td>
+  </tr>  
+  <tr>
+    <td>mainClass</td>
+    <td></td>
+    <td>The fully qualified name of the main class to executed to bootstrap the Maven project. This option is required, and must be a public static void main Java class.</td>
+  </tr>  
+  <tr>
+    <td>arguments</td>
+    <td></td>
+    <td>Optional arguments to pass to the main class.</td>
+  </tr>  
+  <tr>
+    <td>systemProperties</td>
+    <td></td>
+    <td>Optional system properties to set on the JVM.</td>
+  </tr>  
+</table>
+
+
+### spring Maven Goal configuration
+
+The spring goal extends the run goal and provides the following additional options:
+
+<table class="table">
+  <tr>
+    <th>Option</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>applicationContextUri</td>
+    <td>META-INF/spring/*.xml</td>
+    <td>Location on class-path to look for Spring XML files. Mulutple paths can be seperated with semi colon. Only either one of applicationContextUri or fileApplicationContextUri can be in use.</td>
+  </tr> 
+  <tr>
+    <td>fileApplicationContextUri</td>
+    <td></td>
+    <td>Location on file system to look for Spring XML files. Mulutple paths can be seperated with semi colon. Only either one of applicationContextUri or fileApplicationContextUri can be in use.</td>
+  </tr>     
+</table>
+
+
+### camel Maven Goal configuration
+
+The camel goal extends the run goal and provides the following additional options:
+
+<table class="table">
+  <tr>
+    <th>Option</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>applicationContextUri</td>
+    <td>META-INF/spring/*.xml</td>
+    <td>Location on class-path to look for Spring XML files. Mulutple paths can be seperated with semi colon. Only either one of applicationContextUri or fileApplicationContextUri can be in use.</td>
+  </tr> 
+  <tr>
+    <td>fileApplicationContextUri</td>
+    <td></td>
+    <td>Location on file system to look for Spring XML files. Mulutple paths can be seperated with semi colon. Only either one of applicationContextUri or fileApplicationContextUri can be in use.</td>
+  </tr>     
+</table>
+
+By default the camel plugin will assume the application is a Camel spring application and use the applicationContextUri or fileApplicationContextUri to use as Spring XML files. By configurign a custom mainClass, then the Camel application is using the custom mainClass to bootstrap the Camel application, and neither applicationContextUri, nor fileApplicationContextUri are in use.
+
+### camel-blueprint Maven Goal configuration
+
+The camel goal extends the run goal and provides the following additional options:
+
+<table class="table">
+  <tr>
+    <th>Option</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>applicationContext</td>
+    <td>OSGI-INF/blueprint/*.xml</td>
+    <td>Location on class-path to look for Blueprint XML files. Mulutple paths can be seperated with semi colon. Only either one of applicationContext or fileApplicationContext can be in use.</td>
+  </tr> 
+  <tr>
+    <td>fileApplicationContext</td>
+    <td></td>
+    <td>Location on file-system to look for Blueprint XML files. Mulutple paths can be seperated with semi colon. Only either one of applicationContext or fileApplicationContext can be in use.</td>
+  </tr> 
+  <tr>
+    <td>configAdminPid</td>
+    <td></td>
+    <td>To use a custom config admin persistence id. The configAdminFileName must be configured as well.</td>
+  </tr> 
+  <tr>
+    <td>configAdminFileName</td>
+    <td></td>
+    <td>Location of the configuration admin configuration file</td>
+  </tr>     
+</table>
+
+### test Maven Goal configuration
+
+The test **hawtio** Maven Plugins provides the following common options:
+
+<table class="table">
+  <tr>
+    <th>Option</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>className</td>
+    <td></td>
+    <td>Optional to select a specific unit test class to start testing (must specific class name as fully qualified classname)</td>
+  </tr>  
+  <tr>
+    <td>testName</td>
+    <td></td>
+    <td>Optional to select a specific test method(s) to filter and use for testing. You can use * as wildcard to match multiple test methods.</td>
+  </tr>  
+</table>
+
+If no **className** has been specified then **hawtio** is started up included the projects test classpath, and the <a href="hawt.io/plugins/junit">junit plugin</a> can be used to select tests to run from within **hawtio** console itself.
+
+If a **className** has been specified then unit testing of the selected class happens when **hawtio** has been started, **but** the unit test will not tear down until the user press enter in the shell. This is on purpose allowing using **hawtio** to inspect the state of the JVM during and after testing. For example to look at the Camel plugin to see route diagrams and profiles with metrics from the completed unit tests. 
+
+Pressing enter in the shell runs the tear down of the unit tests, which for example could unregister Camel from JMX and therefore remove the CamelContext used during testing. When using the <a href="hawt.io/plugins/junit">junit plugin</a> to run unit tests, then these tests will tear down immediately when they complete, and therefore remove any CamelContexts during testing. This may change in the future, allows to keep the CamelContexts alive after testing, giving end users time to inspect the data; and then tear down by pressing a button.
+
+
+## Configuring hawtio Maven Plugin in pom.xml
+
+In the Maven pom.xml file, the **hawtio** plugin is configured by adding the following in the &lt;build&gt;&lt;plugin&gt;section:
+
+    <plugin>
+      <groupId>io.hawt</groupId>
+      <artifactId>hawtio-maven-plugin</artifactId>
+      <version>1.4.14</version>
+      <configuration>
+        <!-- configuration options goes here -->
+      </configuration>
+    </plugin>
+
+In the &lt;configuration&gt; section we can configure the plugin with any of the options mentioned before. For example to log the classpath:
+
+      <configuration>
+        <logClasspath>true</logClasspath>
+      </configuration>
+
+And to change the port number from 8282 to 8090 do:
+
+      <configuration>
+        <logClasspath>true</logClasspath>
+        <port>8090</port>
+      </configuration>
+
+And to set a number of system properties to the JVM, such as the JVM http proxy settings is simply done within the nested &lt;systemProperties&gt; tag:
+
+      <configuration>
+        <logClasspath>true</logClasspath>
+        <port>8090</port>
+        <systemProperties>
+          <http.proxyHost>myproxyserver.org</http.proxyHost>
+          <http.proxyPort>8081<http.proxyPort>
+        </systemProperties>  
+      </configuration>
+
+
+## Camel Examples
+
+The <a href="http://camel.apache.org/download.html">Apache Camel distributons</a> includes a number of examples, which you can try out using Maven plugins.
+
+For example to try the Camel console from a shell type:
+
+    cd examples
+    cd camel-example-console
+    mvn compile
+    mvn camel:run
+
+To run the same example with **hawtio** embedded as a web console, you simply do
+
+    cd examples
+    cd camel-example-console
+    mvn compile
+    mvn io.hawt:hawtio-maven-plugin:1.4.14:camel
+
+Where 1.4.14 is the **hawtio** version to use.
+
+### Adding hawtio plugin to the Apache Camel examples
+
+In any Maven pom.xml file you can include the hawtio Maven plugin. For example to include the hawtio plugin in the Camel console example, you edit the pom.xml file in examples/camel-example-console directory. 
+
+In the &lt;build&gt;&lt;plugin&gt;section add the following xml code:
+
+    <plugin>
+      <groupId>io.hawt</groupId>
+      <artifactId>hawtio-maven-plugin</artifactId>
+      <version>1.4.14</version>
+    </plugin>
+
+And you can run the console example simply by typing
+
+    mvn hawtio:camel
+
+And the example is started together with the embedded **hawtio** web console, such as the screenshot below illustrates:
+
+<img src="https://raw.github.com/hawtio/hawtio/master/docs/images/camel-example-console.png" alt="screenshot">
+
+

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3c9a22b4/console/app/site/doc/Overview2dotX.md
----------------------------------------------------------------------
diff --git a/console/app/site/doc/Overview2dotX.md b/console/app/site/doc/Overview2dotX.md
new file mode 100644
index 0000000..483d0d6
--- /dev/null
+++ b/console/app/site/doc/Overview2dotX.md
@@ -0,0 +1,189 @@
+
+## Hawtio 2.x
+
+### Overview
+The main goals for 2.x are to update to a more recent AngularJS version as well as Bootstrap and Patternfly.  We also need to enable folks to re-use parts of the console.  Currently in 1.x there's a few options to customize the existing console:
+
+* Hide and arrange tabs via the preferences panel in the console itself
+* Add a vendor.js file or load a plugin that customizes the perspective plugin's configuration
+* Build a sliced up hawtio app.js via [hawtio-custom-app](https://github.com/hawtio/hawtio/tree/master/hawtio-custom-app)
+
+Hawtio 2.x introduces the possibility of packaging up hawtio plugins as bower components.  Some advantages are:
+
+* Dependencies for a plugin can usually be managed through bower
+* Plugins can be decoupled and developed/released individually
+* In the case of typescript plugins it's easier to distribute definition files for dependent plugins to use
+
+The first bullet point is the key bit, as we can combine bower with wiredep to automatically wire in plugin js (and css!) files and dependencies into a console's index.html file.  The 2.x plugin loader also still supports discovering plugins via a JSON file or a URL that produces some JSON, so we also still have the possibility of loading plugins on the fly as well.  A console project that pulls in hawtio plugins can also define it's own plugins for some specific functionality.  The assembly project also has greater control over the layout of the navigation and pages.
+
+### Components
+
+Here's a rundown of the current hawtio 2.x components:
+
+#### javascript plugins
+* [hawtio-core](https://github.com/hawtio/hawtio-core) - Tiny core module that contains the logging and plugin loader code.  It also contains 1 angular module that initializes some stub services that can be overridden by other plugins.  Responsible for loading plugins and bootstrapping a hawtio app
+* [hawtio-core-navigation](https://github.com/hawtio/hawtio-core-navigation) - Navigation bar, also can handle sub-tabs.  Provides a nice API that allows you to define your routes and tabs in one block, or you can define your routes and tabs separately
+
+
+#### typescript plugins
+* [hawtio-core-dts](https://github.com/hawtio/hawtio-core-dts) - A repository of typescript definition files for third-party scripts as well as any javascript plugins such as hawtio-core or hawtio-core-navigation.  Not actually a plugin, but is a dependency for any typescript plugin
+* [hawtio-core-perspective](https://github.com/hawtio/hawtio-core-perspective) - Perspective selector, adds itself to the navigation bar and provides an API to plugins to configure perspectives.
+* [hawtio-utilities](https://github.com/hawtio/hawtio-utilities) - A collection of helper functions used throughout hawtio, most plugins will probably depend on this module.
+* [hawtio-ui](https://github.com/hawtio/hawtio-ui) - The UI widgets from hawtio 1.x, including hawtio-simple-table and the editor plugin
+* [hawtio-forms](https://github.com/hawtio/hawtio-forms) - The forms plugin from hawtio 1.x, used to create forms from a simple schema
+* [hawtio-jmx](https://github.com/hawtio/hawtio-jmx) - The JMX and JVM plugins from hawtio 1.x as well as the tree plugin.  Now contains all jolokia initialization code as well as the Core.Workspace object service from hawtio 1.x.  Will likely be a dependency for any plugin that talks to jolokia.
+
+#### slush generators
+* [slush-hawtio-javascript](https://github.com/hawtio/slush-hawtio-javascript) - Generates a starter jvascript plugin project that depends on hawtio-core and hawtio-core-navigation with some example plugin code.
+* [slush-hawtio-typescript](https://github.com/hawtio/slush-hawtio-typescript) - Generates a starter typescript plugin project, depends on hawtio-utilities, hawtio-core and hawtio-core-navigation.
+
+
+### Getting started
+
+#### working with existing projects
+
+Git clone any of the above projects and then cd into the folder. 
+
+Then get npm and bower to install their stuff:
+
+    npm install
+    bower install
+
+you are now ready to run the default build with gulp
+
+    gulp
+
+and you should be able to open a web browser and work on the code and have things rebuild etc.
+
+#### initial setup
+
+To get started, first off make sure you're running a relatively recent version node/npm.  [Go download it](http://nodejs.org/) and re-install/upgrade if you're not sure.  Make sure you update your npm packages with a `sudo npm update -g`.  Then install a few tools:
+
+`npm install -g bower gulp slush slush-hawtio-javascript slush-hawtio-typescript typescript`
+
+If you only want to develop javascript plugins then you don't really need `slush-hawtio-typescript` and `typescript`.
+
+#### first project
+
+To create a project, first create a directory:
+
+`mkdir my-awesome-plugin`
+
+Then run the appropriate generator:
+
+`slush hawtio-typescript`
+
+*or*
+
+`slush hawtio-javascript`
+
+Answer the questions when prompted, the generator will then chug away and install a bunch of npm modules and bower components.  When you're back at the prompt you'll have a number of files in the current directory:
+
+* `package.json` - Contains any node modules this project depends on.  Manage with `npm install --save-dev` and `npm uninstall --save-dev`.
+* `bower.json` - Contains any bower modules this project depends on.  Also lists any main files this bower package has which is really important to fill in.  The generator already puts dist/my-awesome-plugin.js in here.
+* `gulpfile.js` - This configures the build, which is done by a tool called 'gulp'.
+* `plugins` - This directory contains code for an example plugin.  The build is set up to look at subdirectories, so put your plugin code in here following this kind of convention:
+
+
+   ```
+   plugins
+         |
+         -- foo
+              |
+              -- html
+              |
+              -- ts|js
+   ```
+
+* `d.ts` (typescript only) - a directory that contains definition files generated by the typescript compiler.
+* `defs.d.ts` (typescript only) - a definitions file that's automatically updated at build time to include all the files under `d.ts`
+* `index.html` - a simple index.html file you can use to view/test the plugin at development time.
+* `dist` - The output directory of the build, files in here should generally be configured in your bower.json under "main".
+
+To get going just start the build:
+
+`gulp`
+
+which will build the typescript (if applicable) and start up a web server listening on localhost:2772.  Open this in your browser and you should see a nav bar with 'Example' in it, which is the example plugin.
+
+### FAQ
+
+*My typescript code fails to compile with missing definitions for 'ng' etc...*
+
+In your plugin code make sure you add a reference path to the `includes.ts` file under `plugins`.  This will bring in all the definitions from hawtio-core-dts, hawtio-utilities etc.
+
+*Where can I add typescript definitions for some new dependency I brought in?*
+
+Best place is add or replace the reference path(s) in `plugins/includes.ts`, then it'll be available to all of your plugin code.
+
+*Can I have multiple plugins in one package?*
+
+Yes!
+
+*My plugin needs to talk to some other thing too, how does that happen?*
+
+Easiest thing to do is use a proxy:
+
+* run `npm install --save-dev proxy-middleware`
+* add this code to your gulpfile at the beginning:
+
+```javascript
+var url = require('url');
+var proxy = require('proxy-middleware');
+```
+
+* Change your 'connect' task to something like this:
+
+```javascript
+gulp.task('connect', ['watch'], function() {
+  plugins.connect.server({
+    root: '.',
+    livereload: true,
+    port: 2772,
+    fallback: 'index.html',
+    middleware: function(connect, options) {
+      return [
+        (function() {
+          var proxyOptions = url.parse('http://localhost:8282/hawtio/jolokia');
+          // proxies requests from /jolokia to the above URL
+          proxyOptions.route = '/jolokia';
+          return proxy(proxyOptions);
+        })() ];
+    }
+  });
+});
+```
+
+*I get weird compile errors but I didn't change anything!*
+
+It could be a dependency got compiled with an updated typescript version.  Run `npm update` in your package to update your node modules and try again.
+
+*Something under libs/ got messed up!*
+
+You can just blow away `libs` and run `bower update` to re-install dependencies anytime you like.
+
+*A bower dependency I want to install doesn't have `main` configured at all, what do I do?*
+
+Typically for these cases it's best to run `bower install` (don't add `--save`) on the package to get the files, then copy the .js or .css files into your packages `dist` directory, then configure those js and css files in your package's `bower.json` file in the `main` attribute.  That way any package that depends on your code will get the dependent javascript automatically wired into their index.html.
+
+
+### Releasing
+
+It's easy!  First make sure you have a README, and a changelog would be good.  Make sure you have a sane version in your bower.json file.  I'd also recommend updating package.json so it's consistent.  Since this is hawtio 2.x stuff all plugins should start at version 2.0.0.  Make sure you've built your plugin and check in any changes.  Then it's time to start the long winded release process of publishing a bower plugin:
+
+1. `git tag 2.0.0`
+2. `git push && git push --tags`
+3. `bower register my-awesome-plugin git@github.com:hawtio/my-awesome-plugin.git`
+
+say 'yes' in step 3 and congrats, you're done!  Now your plugin can easily be pulled in by other projects.
+
+If you fix an issue and need to make an update it also takes a lot of steps:
+
+1. Fix issue, update changelog etc.
+2. `bower version patch`
+3. `git push && git push --tags`
+
+phew, you're done!  Now you can `bower update` in other packages that pull in my-awesome-plugin as a dependency.
+
+
+

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/3c9a22b4/console/app/site/doc/Plugins.md
----------------------------------------------------------------------
diff --git a/console/app/site/doc/Plugins.md b/console/app/site/doc/Plugins.md
new file mode 100644
index 0000000..37dd129
--- /dev/null
+++ b/console/app/site/doc/Plugins.md
@@ -0,0 +1,331 @@
+**hawtio** is highly modular with lots of plugins (see below), so that hawtio can discover exactly what services are inside a JVM and dynamically update the console to provide an interface to them as things come and go. So after you have deployed hawtio into a container, as you add and remove new services to your JVM the hawtio console updates in real time.
+
+For more details see the [Configuration Guide](http://hawt.io/configuration/index.html) and [How Plugins Work](http://hawt.io/plugins/howPluginsWork.html).
+
+## Included Plugins
+
+The following plugins are all included by default in the [hawtio-web.war](https://oss.sonatype.org/content/repositories/public/io/hawt/hawtio-web/1.4.45/hawtio-web-1.4.45.war) distro. You can see the [source for the all default plugins here](https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app).
+
+
+<table class="table">
+  <tr>
+    <th>Plugin</th>
+    <th>Description</th>
+    <th>Source</th>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/api/">api</a></td>
+    <td>This plugin supports viewing the APIs of WSDL and WADL documents on <a href="http://cxf.apache.org/">Apache CXF</a> based web service endpoints</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/api">api</a></td>
+  </tr>  
+  <tr>
+    <td><a href="http://hawt.io/plugins/activemq/">activemq</a></td>
+    <td>Adds support for <a href="http://activemq.apache.org/">Apache ActiveMQ</a>. Lets you browse broker statistics, create queues/topcs, browse queues, send messages and visualise subscription and network information</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/activemq">activemq</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/apollo/">apollo</a></td>
+    <td>Adds support for <a href="http://activemq.apache.org/apollo/">Apache ActiveMQ Apollo</a>. Lets you browse broker statistics, create queues/topcs, browse queues, send messages and visualise subscription and network information</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/apollo">apollo</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/camel/">camel</a></td>
+    <td>Adds support for <a href="http://camel.apache.org/">Apache Camel</a>. Lets you browse CamelContexts, routes, endpoints. Visualise running routes and their metrics. Create endpoints. Send messages. Trace message flows, as well profile routes to identifiy which parts runs fast or slow.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/camel">camel</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/camin/">camin</a></td>
+    <td>The camin plugin is used to render Gantt sequence diagrams of <a href="http://camel.apache.org/">Apache Camel</a> routes.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/camin">camin</a></td>
+  </tr>
+  <tr>
+    <td>core</td>
+    <td>Provides the core plugin mechanisms.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/core">core</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/dashboard/">dashboard</a></td>
+    <td>Provides some default dashboards for viewing graphs, metrics and other widgets on a customisable tabbed view. You can create your own dashboards; they are stored and versioned as JSON files in a git repository so that you can easily share them on <a href="http://github.com/">github</a>. The default configuration repository <a href="https://github.com/hawtio/hawtio-config">is here</a></td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/dashboard">dashboard</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/dozer/">dozer</a></td>
+    <td>The Dozer plugin adds editing support for the <a href="http://dozer.sourceforge.net/">Dozer data mapping library</a> which can be used with <a href="http://camel.apache.org/">Apache Camel</a></td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/dozer">dozer</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/elasticsearch/">elasticsearch</a></td>
+    <td>The elasticsearch plugin allows to connect to an <a href="http://www.elasticsearch.org/">ElasticSearch</a> server and perform queries to retrieve documents from indices.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/elasticsearch">elasticsearch</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/fabric/">fabric</a></td>
+    <td>Adds support for <a href="http://fuse.fusesource.org/fabric/">Fuse Fabric</a> such as to view profiles, versions and containers in your fabric and view/edit the profile configuration in git.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/fabric">fabric</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/git/">git</a></td>
+    <td>Provides the HTML5 front end to the back end <a href="http://git-scm.com/">git repository</a> used to store configuration and files in plugins such as <a href="http://hawt.io/plugins/dashboard/">dashboard</a> and <a href="http://hawt.io/plugins/wiki/">wiki</a>. Uses the
+    <a href="https://github.com/hawtio/hawtio/blob/master/hawtio-git/src/main/java/io/hawt/git/GitFacadeMXBean.java#L26">GitFacadeMXBean</a> from the <a href="https://github.com/hawtio/hawtio/tree/master/hawtio-git">hawtio-git module</a></td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/git">git</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/health/">health</a></td>
+    <td>Adds support for <a href="http://hawt.io/plugins/health/">Health MBeans</a> so its easy to see the health of systems which support them
+    (such as <a href="http://activemq.apache.org/">Apache ActiveMQ</a> and <a href="http://fuse.fusesource.org/fabric/">Fuse Fabric</a>)</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/health">health</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/infinispan/">infinispan</a></td>
+    <td>Adds support for <a href="http://infinispan.org/">Infinispan</a> so you can visualise the caches you have and see their metrics.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/infinispan">infinispan</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/insight/">insight</a></td>
+    <td>This plugin provides a number of views for provising insight into a <a href="http://fuse.fusesource.org/fabric/">Fuse Fabric</a> using <a href="http://www.elasticsearch.org/">ElasticSearch</a> to query data for logs, metrics or historic Camel messages.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/insight">insight</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/jboss/">jboss</a></td>
+    <td>Adds support for <a href="http://www.jboss.org/jbossas">JBoss Application Server</a>, or <a href="http://www.wildfly.org/">JBoss WildFly</a> such as viewing, starting, stopping, refreshing web applications, view connectors and JMX etc.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/jboss">jboss</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/jclouds/">jclouds</a></td>
+    <td>Adds support for <a href="http://jclouds.org/">jclouds</a> so you can view your cloud resources and start, stop and restart your compute nodes etc.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/jclouds">jclouds</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/jetty/">jetty</a></td>
+    <td>Adds support for <a href="http://www.eclipse.org/jetty/">Jetty</a> such as viewing, starting, stopping, refreshing web applications, view connectors and JMX etc.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/jetty">jetty</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/jmx/">jmx</a></td>
+    <td>Provides the core <a href="http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html">JMX</a> support for interacting with MBeans, viewing real time attributes, charting and invoking operations.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/jmx">jmx</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/junit/">junit</a></td>
+    <td>Adds support for running JUnit tests from wihtin hawtio.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/junit">junit</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/jvm/">jvm</a></td>
+    <td>The jvm plugin allows you to connect to local or remote JVMs, and as well install the Jolokia JVM agent into the JVMs.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/jvm">jvm</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/karaf/">karaf</a></td>
+    <td>Adds support for <a href="http://karaf.apache.org/">Apache Karaf</a> so you can browse features, bundles, services and configuration.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/karaf">karaf</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/logs/">log</a></td>
+    <td>Provides support for visualising the <a href="http://hawt.io/plugins/logs/">logs</a> inside the JVM along with linking log statements to the source code which generates them. <i>Hawt!</i></td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/log">log</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/maven/">maven</a></td>
+    <td>Lets you query maven repositories for artefacts; then see the available versions, javadoc and source.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/maven">maven</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/openejb/">openejb</a></td>
+    <td>Adds support for <a href="http://openejb.apache.org/">Apache OpenEJB</a></td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/openejb">openejb</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/osgi/">osgi</a></td>
+    <td>Provides support for <a href="http://www.osgi.org/Main/HomePage">OSGi containers</a> such as <a href="http://karaf.apache.org/">Apache Karaf</a> using the standard OSGi management hooks.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/osgi">osgi</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/quartz/">quartz</a></td>
+    <td>Lets you view and manage Quartz Schedulers, such as adjusting triggers at runtime.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/quartz">quartz</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/source/">source</a></td>
+    <td>Used by the <a href="http://hawt.io/plugins/logs/">log plugin</a> to view the source code of any file in a maven source artefact using the maven coordinates, class name / file name and line number.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/source">source</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/threads/">threads</a></td>
+    <td>Provides support for viewing the threads running in the JVM.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/threads">threads</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/tomcat/">tomcat</a></td>
+    <td>Adds support for <a href="http://tomcat.apache.org/">Apache Tomcat</a> and <a href="http://tomee.apache.org/">Apache TomEE</a> such as viewing, starting, stopping, refreshing applications, view connectors, sessions, and JMX etc.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/tomcat">tomcat</a></td>
+  </tr>
+  <tr>
+    <td><a href="http://hawt.io/plugins/wiki/">wiki</a></td>
+    <td>Provides a git based wiki for viewing, creating and editing text files (Markdown, HTML, XML, property files, JSON) which are then versioned and stored in a git repository</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/wiki">wiki</a></td>
+  </tr>
+</table>
+
+
+## Developer plugins
+
+The following plugins are not intended to be used by users of hawtio, but are there for developers of hawtio plugins to use to build even _hawter_ plugins.
+
+<table class="table">
+  <tr>
+    <th>Plugin</th>
+    <th>Description</th>
+    <th>Source</th>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/branding/doc/developer.md">branding</a></td>
+    <td>The branding plugin applies an extra branding stylesheet depending on the version and type of server hawtio is running in.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/branding">branding</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/datatable/doc/developer.md">datatable</a></td>
+    <td>This plugin provides a programming API similar to <a href="http://angular-ui.github.com/ng-grid/">ng-grid</a> for writing table/grids in angularjs but uses <a href="http://datatables.net/">jQuery DataTables</a> as the underlying implementation.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/datatable">datatable</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/forcegraph/doc/developer.md">forcegraph</a></td>
+    <td>The force graph plugin adds a directive to hawtio that allows en easy and customizable way of displaying graph data as a D3 forced graph.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/forcegraph">forcegraph</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/forms/doc/developer.md">forms</a></td>
+    <td>This plugin provides an easy way, given a <a href="http://json-schema.org/">JSON Schema</a> model of generating a form with 2 way binding to some JSON data.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/forms">forms</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/ide/doc/developer.md">ide</a></td>
+    <td>This plugin provides a directive for linking to source code in your IDE. Currently only IDEA supported</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/ide">ide</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/perspective/doc/developer.md">perspective</a></td>
+    <td>The perspective plugin makes it easy to define different perspectives which affect which top level nav bars appear in hawtio so that it can behave in different ways for different kinds of users.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/perspective">perspective</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/tree/doc/developer.md">tree</a></td>
+    <td>This plugin provides a simple HTML directive for working with <a href="http://wwwendt.de/tech/dynatree/doc/dynatree-doc.html">jQuery DynaTree widgets</a> from AngularJS</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/tree">tree</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/ui/doc/developer.md">ui</a></td>
+    <td>Provides various AngularJS directives for custom widgets</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/ui">ui</a></td>
+  </tr>
+</table>
+
+## Server Side Plugins
+
+Each hawtio distro has these [browser based plugins](http://hawt.io/plugins/index.html) inside already. The hawtio UI updates itself in real time based on what it can find in the server side JVM it connects to. So for example if you deploy some Apache Camel then the Camel plugin will appear.
+
+In addition there are some server side Java based plugins you can deploy to add new behaviour to your hawtio console.
+
+<table class="table">
+  <tr>
+    <th>Server Side Plugin</th>
+    <th title="which distribution is this plugin included?">Distribution</th>
+    <th>Description</th>
+    <th>Source</th>
+  </tr>
+  <tr>
+    <td>fabric-core</td>
+    <td><a href="http://www.jboss.org/products/amq">JBoss A-MQ 6.1, <a href="http://www.jboss.org/products/fuse">JBoss Fuse</a> 6.1 and <a href="http://fabric8.io/">fabric8</a> distros</td>
+    <td>Provides support for the <a href="http://hawt.io/plugins/fabric/">fabric</a> plugin and adds an MBean for accessing the OSGi MetaType metadata for generating nicer OSGi Config Admin forms in the <a href="http://hawt.io/plugins/osgi/">osgi</a> plugin.</td>
+    <td><a href="https://github.com/jboss-fuse/fuse/tree/master/fabric/fabric-core">source</a></td>
+  </tr>
+  <tr>
+    <td>hawtio-aether</td>
+    <td>hawtio-default.war</td>
+    <td>Used by the <a href="http://hawt.io/plugins/maven/">maven</a> plugin to resolve dependency trees</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-aether/">source</a></td>
+  </tr>
+  <tr>
+    <td>hawtio-git</td>
+    <td>hawtio-web.war</td>
+    <td>Supports the <a href="http://hawt.io/plugins/wiki/">wiki</a> plugin and allows the <a href="http://hawt.io/plugins/dashboard/">dashboard</a> plugin to load/save/store and version dashboard configurations.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-git/">source</a></td>
+  </tr>
+  <tr>
+    <td>hawtio-json-schema-mbean</td>
+    <td>hawtio-default.war</td>
+    <td>Provides introspection and JSON Schema lookup of beans which is used for the <a href="http://hawt.io/plugins/fabric/">fabric</a> plugin and is needed for the Dozer editor in the  <a href="http://hawt.io/plugins/wiki/">wiki</a></td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-json-schema-mbean/">source</a></td>
+  </tr>
+  <tr>
+    <td>hawtio-local-jvm-mbean</td>
+    <td>hawtio-default.war</td>
+    <td>Provides 'jconsole-like' discovery of all JVMs on the same machine as the JVM so that the <a href="http://hawt.io/plugins/jvm/">jvm</a> plugin can easily connect to any local JVMs</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-local-jvm-mbean/">source</a></td>
+  </tr>
+  <tr>
+    <td>hawtio-ide</td>
+    <td>hawtio-default.war</td>
+    <td>Server side code for the <a href="https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/ide/doc/developer.md">ide</a> plugin</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-ide/">source</a></td>
+  </tr>
+  <tr>
+    <td>hawtio-maven-indexer</td>
+    <td>hawtio-default.war</td>
+    <td>Required for the <a href="http://hawt.io/plugins/maven/">maven</a> plugin so that it can download and quickly search maven central for artifacts.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-maven-indexer/">source</a></td>
+  </tr>
+  <tr>
+    <td>insight-log</td>
+    <td><a href="http://www.jboss.org/products/amq">JBoss A-MQ, <a href="http://www.jboss.org/products/fuse">JBoss Fuse</a> and <a href="http://fabric8.io/">fabric8</a> distros</td>
+    <td>Karaf based plugin which is required for the <a href="http://hawt.io/plugins/log/">log</a> plugin to query logs.</td>
+    <td><a href="https://github.com/jboss-fuse/fuse/tree/master/insight/insight-log">source</a></td>
+  </tr>
+  <tr>
+    <td>insight-log4j</td>
+    <td></td>
+    <td>A log4j based plugin required for the <a href="http://hawt.io/plugins/log/">log</a> plugin to query logs.</td>
+    <td><a href="https://github.com/jboss-fuse/fuse/tree/master/insight/insight-log4j">source</a></td>
+  </tr>
+</table>
+
+## External plugins
+
+<table class="table">
+  <tr>
+    <th>Plugin</th>
+    <th>Description</th>
+    <th>Source</th>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples/simple-plugin">simple-plugin</a></td>
+    <td>A very simple hello world plugin implemented as a separate plugin</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples/simple-plugin">simple-plugin</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples/custom-perspective">custom-perspective</a></td>
+    <td>A simple plugin that edits hawtio's default perspective definition, used to show or hide tabs and group tabs into different perspectives, implemented as a separate plugin</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples/custom-perspective">custom-perspective</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-karaf-terminal">hawtio-karaf-terminal</a></td>
+    <td>A terminal plugin brought over from Apache Felix that uses Ajax term in the front-end to implement a terminal in hawtio when it's running in an Apache Karaf based container.</td>
+    <td><a href="https://github.com/hawtio/hawtio/tree/master/hawtio-karaf-terminal">hawtio-karaf-terminal</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/jboss-fuse/fuse/blob/master/insight/insight-kibana3/src/main/webapp/js/kibana3Plugin.js">insight-kibana3</a></td>
+    <td>A hawtio plugin that embeds the kibana3 frontend for Elastic Search into hawtio.  Source link is to the plugin definition, had to tell hawtio where to find all of kibana3's javascript files in <a href="https://github.com/jboss-fuse/fuse/blob/master/insight/insight-kibana3/pom.xml">the pom.xml</a></td>
+    <td><a href="https://github.com/jboss-fuse/fuse/blob/master/insight/insight-kibana3/src/main/webapp/js/kibana3Plugin.js">insight-kibana3</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/jboss-fuse/fuse/tree/master/insight/insight-eshead/src/main/webapp/hawtio">insight-eshead</a></td>
+    <td>A plugin that embeds the ESHead elastic search frontend into hawtio, source link points to the hawtio specific stuff</td>
+    <td><a href="https://github.com/jboss-fuse/fuse/tree/master/insight/insight-eshead/src/main/webapp/hawtio">insight-eshead</a></td>
+  </tr>
+  <tr>
+    <td><a href="https://github.com/jboss-fuse/fuse/tree/master/insight/insight-eshead/src/main/webapp/hawtio">insight-eshead</a></td>
+    <td>A plugin that embeds the ESHead elastic search frontend into hawtio, source link points to the hawtio specific stuff</td>
+  </tr>
+</table>
+
+If you create a new external plugin to hawtio please fork this repository, update this file to add a link to your plugin and [submit a pull request](http://hawt.io/contributing/index.html).


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org