http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/style/deps/octicons/sprockets-octicons.scss
----------------------------------------------------------------------
diff --git a/docs/style/deps/octicons/sprockets-octicons.scss 
b/docs/style/deps/octicons/sprockets-octicons.scss
new file mode 100644
index 0000000..0e518fc
--- /dev/null
+++ b/docs/style/deps/octicons/sprockets-octicons.scss
@@ -0,0 +1,230 @@
+@font-face {
+  font-family: 'octicons';
+  src: font-url('octicons.eot?#iefix') format('embedded-opentype'),
+       font-url('octicons.woff') format('woff'),
+       font-url('octicons.ttf') format('truetype'),
+       font-url('octicons.svg#octicons') format('svg');
+  font-weight: normal;
+  font-style: normal;
+}
+
+// .octicon is optimized for 16px.
+// .mega-octicon is optimized for 32px but can be used larger.
+.octicon, .mega-octicon {
+  font: normal normal normal 16px/1 octicons;
+  display: inline-block;
+  text-decoration: none;
+  text-rendering: auto;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+.mega-octicon { font-size: 32px; }
+
+.octicon-alert:before { content: '\f02d'} /*  */
+.octicon-alignment-align:before { content: '\f08a'} /*  */
+.octicon-alignment-aligned-to:before { content: '\f08e'} /*  */
+.octicon-alignment-unalign:before { content: '\f08b'} /*  */
+.octicon-arrow-down:before { content: '\f03f'} /*  */
+.octicon-arrow-left:before { content: '\f040'} /*  */
+.octicon-arrow-right:before { content: '\f03e'} /*  */
+.octicon-arrow-small-down:before { content: '\f0a0'} /*  */
+.octicon-arrow-small-left:before { content: '\f0a1'} /*  */
+.octicon-arrow-small-right:before { content: '\f071'} /*  */
+.octicon-arrow-small-up:before { content: '\f09f'} /*  */
+.octicon-arrow-up:before { content: '\f03d'} /*  */
+.octicon-beer:before { content: '\f069'} /*  */
+.octicon-book:before { content: '\f007'} /*  */
+.octicon-bookmark:before { content: '\f07b'} /*  */
+.octicon-briefcase:before { content: '\f0d3'} /*  */
+.octicon-broadcast:before { content: '\f048'} /*  */
+.octicon-browser:before { content: '\f0c5'} /*  */
+.octicon-bug:before { content: '\f091'} /*  */
+.octicon-calendar:before { content: '\f068'} /*  */
+.octicon-check:before { content: '\f03a'} /*  */
+.octicon-checklist:before { content: '\f076'} /*  */
+.octicon-chevron-down:before { content: '\f0a3'} /*  */
+.octicon-chevron-left:before { content: '\f0a4'} /*  */
+.octicon-chevron-right:before { content: '\f078'} /*  */
+.octicon-chevron-up:before { content: '\f0a2'} /*  */
+.octicon-circle-slash:before { content: '\f084'} /*  */
+.octicon-circuit-board:before { content: '\f0d6'} /*  */
+.octicon-clippy:before { content: '\f035'} /*  */
+.octicon-clock:before { content: '\f046'} /*  */
+.octicon-cloud-download:before { content: '\f00b'} /*  */
+.octicon-cloud-upload:before { content: '\f00c'} /*  */
+.octicon-code:before { content: '\f05f'} /*  */
+.octicon-color-mode:before { content: '\f065'} /*  */
+.octicon-comment-add:before,
+.octicon-comment:before { content: '\f02b'} /*  */
+.octicon-comment-discussion:before { content: '\f04f'} /*  */
+.octicon-credit-card:before { content: '\f045'} /*  */
+.octicon-dash:before { content: '\f0ca'} /*  */
+.octicon-dashboard:before { content: '\f07d'} /*  */
+.octicon-database:before { content: '\f096'} /*  */
+.octicon-device-camera:before { content: '\f056'} /*  */
+.octicon-device-camera-video:before { content: '\f057'} /*  */
+.octicon-device-desktop:before { content: '\f27c'} /*  */
+.octicon-device-mobile:before { content: '\f038'} /*  */
+.octicon-diff:before { content: '\f04d'} /*  */
+.octicon-diff-added:before { content: '\f06b'} /*  */
+.octicon-diff-ignored:before { content: '\f099'} /*  */
+.octicon-diff-modified:before { content: '\f06d'} /*  */
+.octicon-diff-removed:before { content: '\f06c'} /*  */
+.octicon-diff-renamed:before { content: '\f06e'} /*  */
+.octicon-ellipsis:before { content: '\f09a'} /*  */
+.octicon-eye-unwatch:before,
+.octicon-eye-watch:before,
+.octicon-eye:before { content: '\f04e'} /*  */
+.octicon-file-binary:before { content: '\f094'} /*  */
+.octicon-file-code:before { content: '\f010'} /*  */
+.octicon-file-directory:before { content: '\f016'} /*  */
+.octicon-file-media:before { content: '\f012'} /*  */
+.octicon-file-pdf:before { content: '\f014'} /*  */
+.octicon-file-submodule:before { content: '\f017'} /*  */
+.octicon-file-symlink-directory:before { content: '\f0b1'} /*  */
+.octicon-file-symlink-file:before { content: '\f0b0'} /*  */
+.octicon-file-text:before { content: '\f011'} /*  */
+.octicon-file-zip:before { content: '\f013'} /*  */
+.octicon-flame:before { content: '\f0d2'} /*  */
+.octicon-fold:before { content: '\f0cc'} /*  */
+.octicon-gear:before { content: '\f02f'} /*  */
+.octicon-gift:before { content: '\f042'} /*  */
+.octicon-gist:before { content: '\f00e'} /*  */
+.octicon-gist-secret:before { content: '\f08c'} /*  */
+.octicon-git-branch-create:before,
+.octicon-git-branch-delete:before,
+.octicon-git-branch:before { content: '\f020'} /*  */
+.octicon-git-commit:before { content: '\f01f'} /*  */
+.octicon-git-compare:before { content: '\f0ac'} /*  */
+.octicon-git-merge:before { content: '\f023'} /*  */
+.octicon-git-pull-request-abandoned:before,
+.octicon-git-pull-request:before { content: '\f009'} /*  */
+.octicon-globe:before { content: '\f0b6'} /*  */
+.octicon-graph:before { content: '\f043'} /*  */
+.octicon-heart:before { content: '\2665'} /* ♥ */
+.octicon-history:before { content: '\f07e'} /*  */
+.octicon-home:before { content: '\f08d'} /*  */
+.octicon-horizontal-rule:before { content: '\f070'} /*  */
+.octicon-hourglass:before { content: '\f09e'} /*  */
+.octicon-hubot:before { content: '\f09d'} /*  */
+.octicon-inbox:before { content: '\f0cf'} /*  */
+.octicon-info:before { content: '\f059'} /*  */
+.octicon-issue-closed:before { content: '\f028'} /*  */
+.octicon-issue-opened:before { content: '\f026'} /*  */
+.octicon-issue-reopened:before { content: '\f027'} /*  */
+.octicon-jersey:before { content: '\f019'} /*  */
+.octicon-jump-down:before { content: '\f072'} /*  */
+.octicon-jump-left:before { content: '\f0a5'} /*  */
+.octicon-jump-right:before { content: '\f0a6'} /*  */
+.octicon-jump-up:before { content: '\f073'} /*  */
+.octicon-key:before { content: '\f049'} /*  */
+.octicon-keyboard:before { content: '\f00d'} /*  */
+.octicon-law:before { content: '\f0d8'} /*  */
+.octicon-light-bulb:before { content: '\f000'} /*  */
+.octicon-link:before { content: '\f05c'} /*  */
+.octicon-link-external:before { content: '\f07f'} /*  */
+.octicon-list-ordered:before { content: '\f062'} /*  */
+.octicon-list-unordered:before { content: '\f061'} /*  */
+.octicon-location:before { content: '\f060'} /*  */
+.octicon-gist-private:before,
+.octicon-mirror-private:before,
+.octicon-git-fork-private:before,
+.octicon-lock:before { content: '\f06a'} /*  */
+.octicon-logo-github:before { content: '\f092'} /*  */
+.octicon-mail:before { content: '\f03b'} /*  */
+.octicon-mail-read:before { content: '\f03c'} /*  */
+.octicon-mail-reply:before { content: '\f051'} /*  */
+.octicon-mark-github:before { content: '\f00a'} /*  */
+.octicon-markdown:before { content: '\f0c9'} /*  */
+.octicon-megaphone:before { content: '\f077'} /*  */
+.octicon-mention:before { content: '\f0be'} /*  */
+.octicon-microscope:before { content: '\f089'} /*  */
+.octicon-milestone:before { content: '\f075'} /*  */
+.octicon-mirror-public:before,
+.octicon-mirror:before { content: '\f024'} /*  */
+.octicon-mortar-board:before { content: '\f0d7'} /*  */
+.octicon-move-down:before { content: '\f0a8'} /*  */
+.octicon-move-left:before { content: '\f074'} /*  */
+.octicon-move-right:before { content: '\f0a9'} /*  */
+.octicon-move-up:before { content: '\f0a7'} /*  */
+.octicon-mute:before { content: '\f080'} /*  */
+.octicon-no-newline:before { content: '\f09c'} /*  */
+.octicon-octoface:before { content: '\f008'} /*  */
+.octicon-organization:before { content: '\f037'} /*  */
+.octicon-package:before { content: '\f0c4'} /*  */
+.octicon-paintcan:before { content: '\f0d1'} /*  */
+.octicon-pencil:before { content: '\f058'} /*  */
+.octicon-person-add:before,
+.octicon-person-follow:before,
+.octicon-person:before { content: '\f018'} /*  */
+.octicon-pin:before { content: '\f041'} /*  */
+.octicon-playback-fast-forward:before { content: '\f0bd'} /*  */
+.octicon-playback-pause:before { content: '\f0bb'} /*  */
+.octicon-playback-play:before { content: '\f0bf'} /*  */
+.octicon-playback-rewind:before { content: '\f0bc'} /*  */
+.octicon-plug:before { content: '\f0d4'} /*  */
+.octicon-repo-create:before,
+.octicon-gist-new:before,
+.octicon-file-directory-create:before,
+.octicon-file-add:before,
+.octicon-plus:before { content: '\f05d'} /*  */
+.octicon-podium:before { content: '\f0af'} /*  */
+.octicon-primitive-dot:before { content: '\f052'} /*  */
+.octicon-primitive-square:before { content: '\f053'} /*  */
+.octicon-pulse:before { content: '\f085'} /*  */
+.octicon-puzzle:before { content: '\f0c0'} /*  */
+.octicon-question:before { content: '\f02c'} /*  */
+.octicon-quote:before { content: '\f063'} /*  */
+.octicon-radio-tower:before { content: '\f030'} /*  */
+.octicon-repo-delete:before,
+.octicon-repo:before { content: '\f001'} /*  */
+.octicon-repo-clone:before { content: '\f04c'} /*  */
+.octicon-repo-force-push:before { content: '\f04a'} /*  */
+.octicon-gist-fork:before,
+.octicon-repo-forked:before { content: '\f002'} /*  */
+.octicon-repo-pull:before { content: '\f006'} /*  */
+.octicon-repo-push:before { content: '\f005'} /*  */
+.octicon-rocket:before { content: '\f033'} /*  */
+.octicon-rss:before { content: '\f034'} /*  */
+.octicon-ruby:before { content: '\f047'} /*  */
+.octicon-screen-full:before { content: '\f066'} /*  */
+.octicon-screen-normal:before { content: '\f067'} /*  */
+.octicon-search-save:before,
+.octicon-search:before { content: '\f02e'} /*  */
+.octicon-server:before { content: '\f097'} /*  */
+.octicon-settings:before { content: '\f07c'} /*  */
+.octicon-log-in:before,
+.octicon-sign-in:before { content: '\f036'} /*  */
+.octicon-log-out:before,
+.octicon-sign-out:before { content: '\f032'} /*  */
+.octicon-split:before { content: '\f0c6'} /*  */
+.octicon-squirrel:before { content: '\f0b2'} /*  */
+.octicon-star-add:before,
+.octicon-star-delete:before,
+.octicon-star:before { content: '\f02a'} /*  */
+.octicon-steps:before { content: '\f0c7'} /*  */
+.octicon-stop:before { content: '\f08f'} /*  */
+.octicon-repo-sync:before,
+.octicon-sync:before { content: '\f087'} /*  */
+.octicon-tag-remove:before,
+.octicon-tag-add:before,
+.octicon-tag:before { content: '\f015'} /*  */
+.octicon-telescope:before { content: '\f088'} /*  */
+.octicon-terminal:before { content: '\f0c8'} /*  */
+.octicon-three-bars:before { content: '\f05e'} /*  */
+.octicon-tools:before { content: '\f031'} /*  */
+.octicon-trashcan:before { content: '\f0d0'} /*  */
+.octicon-triangle-down:before { content: '\f05b'} /*  */
+.octicon-triangle-left:before { content: '\f044'} /*  */
+.octicon-triangle-right:before { content: '\f05a'} /*  */
+.octicon-triangle-up:before { content: '\f0aa'} /*  */
+.octicon-unfold:before { content: '\f039'} /*  */
+.octicon-unmute:before { content: '\f0ba'} /*  */
+.octicon-versions:before { content: '\f064'} /*  */
+.octicon-remove-close:before,
+.octicon-x:before { content: '\f081'} /*  */
+.octicon-zap:before { content: '\26A1'} /* ⚡ */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/committers.md
----------------------------------------------------------------------
diff --git a/docs/website/community/committers.md 
b/docs/website/community/committers.md
deleted file mode 100644
index 944ad0b..0000000
--- a/docs/website/community/committers.md
+++ /dev/null
@@ -1,119 +0,0 @@
----
-layout: website-normal
-title: Committer's Guide
-navgroup: community
----
-
-The Apache Brooklyn Git repositories are hosted in the ASF infrastructure and 
mirrored to Github. This is the current
-repository layout:
-
-- [Apache](https://git-wip-us.apache.org/repos/asf?s=incubator-brooklyn) - the 
main and official repository
-- [GitHub](https://github.com/apache/incubator-brooklyn) - mirror of the ASF 
repository, used to accept contributions
-  and do code reviews
-
-
-Before
-------
-
-For everything except the most trivial changes, the submitter must have a CLA 
on file. Check the [list of Apache
-committers, and non-commiters with ICLAs on 
record](https://people.apache.org/committer-index.html) and prompt the
-contributor to file an appropriate CLA if required.
-
-For all significant changes, there must be a Jira issue. If a Jira issue is 
not referenced in the PR and/or commit
-messages, prompt the contributor to open a Jira issue.
-
-
-Rules of thumb
---------------
-
-1. Every contribution is a piece of intellectual property.  This is the 
precious sustenance that nourishes our
-   project.  Please treat it with respect.
-2. Always give credit where it is due, ensure every merged commit reflects 
properly the individual who authored that
-   commit.  Preserve both the name and email address.
-3. Ensure your name and email address are there as the committer prior to 
pushing it to the Apache repositories.
-4. Always strive for linear commit history, avoid merge commits while pulling 
in contributor's changes.
-
-
-Setting up your repository
---------------------------
-
-Clone the canonical ASF repo using this command. The `--origin` option tells 
git to name the remote `apache` instead
-of the default, `origin`; this will reduce ambiguity when we later add a 
second remote upstream.
-
-    git clone --origin apache 
https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git
-
-Add a second remote, for the GitHub repository.
-
-    git remote add github https://github.com/apache/incubator-brooklyn.git
-
-For the GitHub remote, add an additional `fetch` reference which will cause
-every pull request to be made available as a remote branch in your workspace.
-
-    git config --local --add remote.github.fetch 
'+refs/pull/*/head:refs/remotes/github/pr/*'
-
-Finally, run `git fetch --all` to update from all remote repositories - you 
will see all the pull requests appear:
-
-    * [new ref]         refs/pull/98/head -> github/pr/98
-    * [new ref]         refs/pull/99/head -> github/pr/99
-
-
-Merging a pull request
-----------------------
-
-Fetch the latest remote branches, which will cause a remote branch for the PR 
to become available to you.
-
-    git fetch --all
-
-If you want to inspect the PR and/or run tests, check out the branch:
-
-    git checkout github/pr/1234
-
-To perform the merge, first update your master branch to the latest:
-
-    git checkout master
-    git pull --rebase
-
-Then merge and push:
-
-    git merge --no-ff -m 'This closes #1234' github/pr/1234
-    git push apache master
-
-Note that this commit message is important, as this is what will trigger the
-pull request to be automatically closed, and the `--no-ff` means that a merge
-commit will always be created.
-
-
-Alternative options
--------------------
-
-### Adding the remote reference to the contributor's repository
-
-Fetch the branch of the user you want to merge from
-
-    git fetch https://github.com/user-to-merge-from/incubator-brooklyn.git 
branch-to-merge-from
-
-If you commonly merge from a particular user, you'll want to add their repo as 
a remote to make fetching branches easier.
-
-    git remote add user-to-merge-from 
https://github.com/user-to-merge-from/incubator-brooklyn.git
-    git fetch user-to-merge-from
-
-
-### Merging from a patch file
-
-Save the patch from the Github patch link (just append '.patch' to the pull 
request link to get it). This patch will
-keep the authorship of the commit, so we should use it instead of the diff.
-
-Apply the patch preserving the original author:
-
-    git am pull-request-9876.patch
-
-
-Additional information
-----------------------
-
-Particularly for new committers, you may find the following information useful:
-
-* [Guide for new project
-  committers](https://www.apache.org/dev/new-committers-guide.html)
-* [Committers FAQ](https://www.apache.org/dev/committers.html)
-* [Git at Apache](https://git-wip-us.apache.org/)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/fork-after.png
----------------------------------------------------------------------
diff --git a/docs/website/community/fork-after.png 
b/docs/website/community/fork-after.png
deleted file mode 100644
index 3148ff3..0000000
Binary files a/docs/website/community/fork-after.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/fork-before.png
----------------------------------------------------------------------
diff --git a/docs/website/community/fork-before.png 
b/docs/website/community/fork-before.png
deleted file mode 100644
index 276eb9d..0000000
Binary files a/docs/website/community/fork-before.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/fork-new.png
----------------------------------------------------------------------
diff --git a/docs/website/community/fork-new.png 
b/docs/website/community/fork-new.png
deleted file mode 100644
index 34c2053..0000000
Binary files a/docs/website/community/fork-new.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/how-to-contribute.md
----------------------------------------------------------------------
diff --git a/docs/website/community/how-to-contribute.md 
b/docs/website/community/how-to-contribute.md
deleted file mode 100644
index 0f2ce1e..0000000
--- a/docs/website/community/how-to-contribute.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-layout: website-normal
-title: How to Contribute
----
-
-Welcome and thank you for your interest in contributing to Apache Brooklyn! 
This guide will take you through the
-process of making contributions to the Apache Brooklyn code base.
-
-
-Contributor license agreement
------------------------------
-
-Apache Brooklyn is licensed under the [Apache License, Version 
2.0](https://www.apache.org/licenses/LICENSE-2.0). All
-contributions will be under this license, so please read and understand this 
license before contributing.
-
-For all but the most trivial patches, you are required to file a Contributor 
License Agreement with the Apache
-Software Foundation. Please read the [guide to 
CLAs](https://www.apache.org/licenses/#clas) to find out how to file a
-CLA with the Foundation.
-
-
-Before you start
-----------------
-
-### Join the community
-
-If it's your first contribution or it's a particularly big or complex 
contribution, things typically go much more
-smoothly when they start off with a conversation. Visit our 
[Community](index.html) page to see how you can contact
-us via IRC or email.
-
-### Create an issue in Jira
-
-Your first step is to create or find an issue in [Brooklyn's 
Jira](https://issues.apache.org/jira/browse/BROOKLYN)
-for your feature request or fix. For small changes this isn't necessary, but 
it's good to see if your change fixes an
-existing issue anyway.
-
-
-### Contributing using GitHub
-
-This is our preferred way for contributing code. Our GitHub repository is 
located at
-[https://github.com/apache/incubator-brooklyn](https://github.com/apache/incubator-brooklyn)
-
-Your commit messages must properly describes the changes that have been made 
and their purpose
-([here are some 
guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)).
 If your
-contributions fix a Jira issue, then ensure that you reference the issue (like 
`BROOKLYN-9876`) in the commit message.
-
-Create a pull request (PR) in GitHub for the change you're interested in 
making. The comment section of the PR must
-contain a link to the Jira issue (if it has one).
-
-Some good references for working with GitHub are below.  We ask that you keep 
your change rebased to master as much
-as possible, and we will ask you to rebase again if master has moved before 
accepting your patch.
-
-- [Setting Up Git with GitHub](https://help.github.com/articles/set-up-git)
-- [Forking a Repository](https://help.github.com/articles/fork-a-repo)
-- [Submitting Pull 
Requests](https://help.github.com/articles/using-pull-requests)
-- [Rebasing your Branch](https://help.github.com/articles/interactive-rebase)
-
-Finally, add a comment in the Jira issue with a link to the pull request so we 
know the code is ready to be reviewed.
-
-### Reviews
-
-The Apache Brooklyn community will review your pull request before it is 
merged. This process can take a while, so
-please be patient. If we are slow to respond, please feel free to post a 
reminder to the PR, Jira issue, IRC channel
-or mailing list - see the [Community](index.html) page to see how to contact 
us.
-
-During the review process you may be asked to make some changes to your 
submission. While working through feedback,
-it can be beneficial to create new commits so the incremental change is 
obvious.  This can also lead to a complex set
-of commits, and having an atomic change per commit is preferred in the end.  
Use your best judgement and work with
-your reviewer as to when you should revise a commit or create a new one.
-
-A pull request is considered ready to be merged once it gets at lease one +1 
from a committer. Once all the changes
-have been completed and the pull request is accepted, you may be asked to 
rebase it against the latest code. You may
-also wish to squash some commits together and make other history revisions, to 
leave the commit history clean and
-easily understood.
-
-
-### Contributing without using GitHub
-
-If you prefer to not use GitHub, then that is fine - we are also happy to 
accept patches attached to a Jira issue.
-Our canonical repository is located at 
`https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git`; for example:
-
-    $ git clone https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git
-
-When producing patches, please use `git format-patch` or a similar mechanism - 
this will ensure that you are properly
-attributed as the author of the patch when a committer merges it.
-
-
-Handy Places
-------------
-
-Development bookmarks are available [here](links.html).

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/index.md
----------------------------------------------------------------------
diff --git a/docs/website/community/index.md b/docs/website/community/index.md
index e998e69..29fe46c 100644
--- a/docs/website/community/index.md
+++ b/docs/website/community/index.md
@@ -2,85 +2,72 @@
 layout: website-normal
 title: Community
 children:
-- { path: how-to-contribute.md }
-- { path: migrate-to-apache.md }
-- { path: committers.md }
+- mailing-lists.md
+- irc.md
+- { link: 'https://issues.apache.org/jira/browse/BROOKLYN', title: 'Bug 
Tracker (JIRA)' }
 - { path: how-to-contribute-docs.md }
 ---
 
 <div class="row">
 <div class="col-md-6" markdown="1">
 
-## Mailing lists
+<div class="panel panel-default">
+  <div class="panel-heading" markdown="1">
+#### [Mailing lists](mailing-lists.html)
+  </div>
+  <div class="panel-body" markdown="1">
+Our mailing lists is where most of the action around Brooklyn happens and is 
stored for posterity - here you can ask
+questions about how to use Brooklyn and learn from the experiences of others. 
It's also the place where discussions
+about the future of Brooklyn happen.
 
-Our main discussion list is our *dev* list - here you can ask questions and get
-help with issues, ranging from basic getting started through to detailed
-questions about Brooklyn's internals.
-
-To subscribe, send an email to:
-[[email protected]](mailto:[email protected])
-
-You can also [read and search the dev list
-archives](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/) on
-Apache's list archiver.
-
-
-### Other lists
-
-We also have a *commits* list - a read-only list which automatically posts as
-commits are made to our source repositories. Subscribe by sending an email to
-[[email protected]](mailto:[email protected]),
-and [read the archives 
here](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-commits/).
-
-
-### Historical lists
-
-Before Brooklyn joined the Apache Incubator, we had lists hosted on Google
-Groups. These lists are now deprecated and it's no longer possible to subscribe
-or post, but you may find useful information in the archives.
-
-- [Old Brooklyn users list 
archive](https://groups.google.com/forum/#!forum/brooklyn-dev)
-- [Old Brooklyn dev list 
archive](https://groups.google.com/forum/#!forum/brooklyn-dev)
-
-Once again, these lists are deprecated, so please subscribe to the 
Apache-hosted
-lists to receive new messages.
+<div class="text-center"><a class="btn btn-primary" href="mailing-lists.html" 
role="button">Mailing Lists</a></div>
+  </div>
+</div>
 
 </div><!-- col -->
 <div class="col-md-6" markdown="1">
 
-## Issue tracker
+<div class="panel panel-default">
+  <div class="panel-heading" markdown="1">
+#### [Issue tracker](https://issues.apache.org/jira/browse/BROOKLYN)
+  </div>
+  <div class="panel-body" markdown="1">
+Search for known issues, and report new bugs, using the `BROOKLYN` project on 
the Apache JIRA.
 
-We have a [Jira instance at 
Apache](https://issues.apache.org/jira/browse/BROOKLYN)
+<div class="text-center"><a class="btn btn-primary" 
href="https://issues.apache.org/jira/browse/BROOKLYN"; role="button">JIRA Bug 
Tracker</a></div>
+  </div>
+</div>
 
+</div><!-- col -->
+</div><!-- row -->
 
-## Contributing source code
-
-If you have changes or additions to the Brooklyn source code, we would love to
-see them! Please read our guide on [how to contribute](how-to-contribute.html).
-
-If you have used the *brooklyncentral* repository prior to Brooklyn's move to
-Apache, you can read the guide on
-[how to migrate your brooklyncentral fork to Apache](migrate-to-apache.html).
-
-Committers can read the corresponding [guide for committers](committers.html)
-to see how to review and merge contributions.
-
+<div class="row">
+<div class="col-md-6" markdown="1">
 
-## Contributing to the website and documentation
+<div class="panel panel-default">
+  <div class="panel-heading" markdown="1">
+#### [IRC](irc.html)
+  </div>
+  <div class="panel-body" markdown="1">
+Find us on `#brooklyncentral` on Freenode, or click below for more information.
 
-We would also be very happy to receive contributions to our website and
-documentation. You can read our [How to contribute
-documentation](how-to-contribute-docs.html) guide or, if you are impatient,
-simply click on the *Edit this page* button at the bottom of most pages on this
-site and follow the instructions.
+<div class="text-center"><a class="btn btn-primary" href="irc.html" 
role="button">IRC Information</a></div>
+  </div>
+</div>
 
+</div><!-- col -->
+<div class="col-md-6" markdown="1">
 
-## IRC
+<div class="panel panel-default">
+  <div class="panel-heading" markdown="1">
+#### [Developer community](../developers/)
+  </div>
+  <div class="panel-body" markdown="1">
+Want to contribute code to our project? Head over to our developer's section. 
Warning, bleeding edge code ahead!
 
-Join channel `#brooklyncentral` on the [Freenode](https://freenode.net/) IRC
-network. Many of the Brooklyn dev team can be found here. Note that the team
-is predominantly Europe-based, and channel activity is usually centered
-around European daylight hours.
+<div class="text-center"><a class="btn btn-warning" 
href="../developers/index.html" role="button">Developer's Section</a></div>
+  </div>
+</div>
 
 </div><!-- col -->
 </div><!-- row -->

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/irc.md
----------------------------------------------------------------------
diff --git a/docs/website/community/irc.md b/docs/website/community/irc.md
new file mode 100644
index 0000000..0c33048
--- /dev/null
+++ b/docs/website/community/irc.md
@@ -0,0 +1,14 @@
+---
+layout: website-normal
+title: IRC
+---
+
+Join channel `#brooklyncentral` on the [Freenode](https://freenode.net/) IRC
+network for instant chat with the Brooklyn community. Use your favourite IRC 
client, or use the embedded IRC web chat
+client here:
+
+<iframe 
src="http://webchat.freenode.net?channels=%23brooklyncentral&uio=MTE9MTIz7c"; 
width="647" height="400"></iframe>
+
+Many of the Brooklyn dev team can be found here. Note that the team
+is predominantly Europe-based, and channel activity is usually centered
+around European daylight hours.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/links.md
----------------------------------------------------------------------
diff --git a/docs/website/community/links.md b/docs/website/community/links.md
deleted file mode 100644
index 20a062d..0000000
--- a/docs/website/community/links.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: website-normal
-title: Development Bookmarks
-menu_proxy_for: how-to-contribute.md
----
-
-{% include fields.md %}
-
-Handy places:
-
-* **Code** is in Github at 
[https://github.com/apache/incubator-brooklyn/](https://github.com/apache/incubator-brooklyn/)
-
-* **Issues** are in Jira at 
[https://issues.apache.org/jira/browse/BROOKLYN/](https://issues.apache.org/jira/browse/BROOKLYN/)
-
-* **Maven repositories** are:
-  * [Apache releases]({{ apache_releases_repo_groupid_url }})
-  * [Apache snapshots]({{ apache_snapshots_repo_groupid_url }})
-  * Other repositories are at 
[http://developers.cloudsoftcorp.com/download/maven2/](http://developers.cloudsoftcorp.com/download/maven2/)
 for releases 
-  and 
[http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/](http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/)
 for snapshots
-            
-* **CI server** is a jenkins server at: 
[https://builds.apache.org/job/incubator-brooklyn-master-build/](https://builds.apache.org/job/incubator-brooklyn-master-build/)
-

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/mailing-lists.md
----------------------------------------------------------------------
diff --git a/docs/website/community/mailing-lists.md 
b/docs/website/community/mailing-lists.md
new file mode 100644
index 0000000..40cb72b
--- /dev/null
+++ b/docs/website/community/mailing-lists.md
@@ -0,0 +1,36 @@
+---
+layout: website-normal
+title: Mailing Lists
+---
+
+Our main discussion list is our *dev* list - here you can ask questions and get
+help with issues, ranging from basic getting started through to detailed
+questions about Brooklyn's internals.
+
+To subscribe, send an email to:
+[[email protected]](mailto:[email protected])
+
+You can also [read and search the dev list
+archives](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/) on
+Apache's list archiver.
+
+
+### Other lists
+
+We also have a *commits* list - a read-only list which automatically posts as
+commits are made to our source repositories. Subscribe by sending an email to
+[[email protected]](mailto:[email protected]),
+and [read the archives 
here](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-commits/).
+
+
+### Historical lists
+
+Before Brooklyn joined the Apache Incubator, we had lists hosted on Google
+Groups. These lists are now deprecated and it's no longer possible to subscribe
+or post, but you may find useful information in the archives.
+
+- [Old Brooklyn users list 
archive](https://groups.google.com/forum/#!forum/brooklyn-dev)
+- [Old Brooklyn dev list 
archive](https://groups.google.com/forum/#!forum/brooklyn-dev)
+
+Once again, these lists are deprecated, so please subscribe to the 
Apache-hosted
+lists to receive new messages.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/migrate-to-apache.md
----------------------------------------------------------------------
diff --git a/docs/website/community/migrate-to-apache.md 
b/docs/website/community/migrate-to-apache.md
deleted file mode 100644
index ece385d..0000000
--- a/docs/website/community/migrate-to-apache.md
+++ /dev/null
@@ -1,117 +0,0 @@
----
-layout: website-normal
-title: How to Migrate
----
-
-Prior to our adoption by the Apache Incubator, Brooklyn was developed in a
-GitHub repository at `https://github.com/brooklyncentral/brooklyn`. If you
-already have a fork of this repository, follow this guide to smoothly shift
-your repository references to the new repository at Apache.
-
-If you have not forked or cloned the `brooklyncentral/brooklyn` repository,
-then this is not the right guide for you. Instead, you should refer to the
-[How to contribute](how-to-contribute.html) page, and possibly refer to
-[GitHub Help - Fork A Repo](https://help.github.com/articles/fork-a-repo) for
-further help.
-
-
-Assumptions
------------
-
-This guides assumes that you have followed the standard GitHub workflow, as
-describe in [GitHub Help - Fork A 
Repo](https://help.github.com/articles/fork-a-repo).
-In particular:
-
-- You have forked the `brooklyncentral/brooklyn` repository into your own
-  username:
-
-![Screenshot of GitHub showing a typical fork](fork-before.png)
-
-- You have used `git clone` to clone this fork onto your own computer;
-- You have added an additional remote, `upstream`, to refer to the original
-  `brooklyncentral/brooklyn` repository.
-
-In short, if you can recognise the above screenshot, and the output of the
-`git remote -v` command looks similar to below, then this guide should work
-for you. (Replace `rdowner` with your own GitHub username.)
-
-    origin  https://github.com/rdowner/brooklyn.git (fetch)
-    origin  https://github.com/rdowner/brooklyn.git (push)
-    upstream        https://github.com/brooklyncentral/brooklyn (fetch)
-    upstream        https://github.com/brooklyncentral/brooklyn (push)
-
-Or, if you are using SSH to access your remote repositories, it may look like
-this:
-
-    origin  [email protected]:rdowner/brooklyn.git (fetch)
-    origin  [email protected]:rdowner/brooklyn.git (push)
-    upstream        [email protected]:brooklyncentral/brooklyn.git (fetch)
-    upstream        [email protected]:brooklyncentral/brooklyn (push)
-
-
-
-Procedure
----------
-
-The new repository has a mirror in GitHub, located at
-[https://github.com/apache/incubator-brooklyn](https://github.com/apache/incubator-brooklyn).
-Go to this page now, and fork it:
-
-![Screenshot of the new repository mirror in GitHub, with fork 
button](fork-new.png)
-
-This will now create a fork of this repository under your own username:
-
-![Screenshot of the new fork in your workspace](fork-after.png)
-
-So previously you referred to repositories named `brooklyn` under the
-`brooklyncentral` organization and your own username. Now, you will need to
-refer to repositories named `incubator-brooklyn` under the `Apache`
-organization and your own username.
-
-To update the cloned repository on your computer to point to the new
-repositories instead of the old ones, use these commands, replacing `rdowner`
-with your own GitHub username.
-
-    git remote set-url origin https://github.com/rdowner/incubator-brooklyn.git
-    git remote set-url upstream 
https://github.com/apache/incubator-brooklyn.git
-
-Or, if you would prefer to use SSH to access your remote repositories:
-
-    git remote set-url origin [email protected]:rdowner/incubator-brooklyn.git
-    git remote set-url upstream [email protected]:apache/incubator-brooklyn.git
-
-Finally, fetch everything:
-
-    git fetch --all
-
-
-Existing pull requests
-----------------------
-
-If you have submitted a pull request at `brooklyncentral/brooklyn`, this pull
-request will be closed, unmerged, with a message pointing you to this page. You
-will need to re-submit your pull request against the
-`apache/incubator-brooklyn`.
-
-If you have followed the above procedure, all you will need to do is identify
-the branch in your local repository on your computer that you used to make the
-original pull request, and push this to your new fork:
-
-```
-git push origin my-new-feature-branch
-```
-
-Now, go to your `incubator-brooklyn` fork on the GitHub website, and you should
-see the **Compare &amp; pull request** button; click this, and it will set up a
-pull request against the new repository.
-
-![Screen shot of a pull request against incubator-brooklyn](pull-request.png)
-
-
-Any problems?
--------------
-
-If you are not sure how to do this, perhaps because you have a slightly
-different arrangement in your repositories, or is something unusual happens,
-please ask our community for help. You can find details of our IRC channel
-and mailing lists on our [Community](index.html) page.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/community/pull-request.png
----------------------------------------------------------------------
diff --git a/docs/website/community/pull-request.png 
b/docs/website/community/pull-request.png
deleted file mode 100644
index 70407f2..0000000
Binary files a/docs/website/community/pull-request.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/code-standards.md
----------------------------------------------------------------------
diff --git a/docs/website/developers/code-standards.md 
b/docs/website/developers/code-standards.md
new file mode 100644
index 0000000..4d18ca9
--- /dev/null
+++ b/docs/website/developers/code-standards.md
@@ -0,0 +1,14 @@
+---
+layout: website-normal
+title: Code Standards
+---
+
+Without being too restrictive about how you have to code as part of Brooklyn,
+there are some style points that really make life easier when sharing code
+among ourselves:
+
+* Use spaces (not tabs!) with 4 spaces indentation
+* Keep line length <=128
+* Don't reformat code or organize imports unless there's very good
+  reason (this makes history and merges much harder)
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/committers/index.md
----------------------------------------------------------------------
diff --git a/docs/website/developers/committers/index.md 
b/docs/website/developers/committers/index.md
new file mode 100644
index 0000000..abd4781
--- /dev/null
+++ b/docs/website/developers/committers/index.md
@@ -0,0 +1,10 @@
+---
+layout: website-normal
+title: Committer Guide
+children:
+- merging-contributed-code.md
+---
+
+These pages contain information that is relevant to people with "committer" 
status in our project.
+
+{% include list-children.html %}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/committers/merging-contributed-code.md
----------------------------------------------------------------------
diff --git a/docs/website/developers/committers/merging-contributed-code.md 
b/docs/website/developers/committers/merging-contributed-code.md
new file mode 100644
index 0000000..02cbd07
--- /dev/null
+++ b/docs/website/developers/committers/merging-contributed-code.md
@@ -0,0 +1,118 @@
+---
+layout: website-normal
+title: Merging Contributed Code
+---
+
+The Apache Brooklyn Git repositories are hosted in the ASF infrastructure and 
mirrored to Github. This is the current
+repository layout:
+
+- [Apache](https://git-wip-us.apache.org/repos/asf?s=incubator-brooklyn) - the 
main and official repository
+- [GitHub](https://github.com/apache/incubator-brooklyn) - mirror of the ASF 
repository, used to accept contributions
+  and do code reviews
+
+
+Before
+------
+
+For everything except the most trivial changes, the submitter must have a CLA 
on file. Check the [list of Apache
+committers, and non-commiters with ICLAs on 
record](https://people.apache.org/committer-index.html) and prompt the
+contributor to file an appropriate CLA if required.
+
+For all significant changes, there must be a Jira issue. If a Jira issue is 
not referenced in the PR and/or commit
+messages, prompt the contributor to open a Jira issue.
+
+
+Rules of thumb
+--------------
+
+1. Every contribution is a piece of intellectual property.  This is the 
precious sustenance that nourishes our
+   project.  Please treat it with respect.
+2. Always give credit where it is due, ensure every merged commit reflects 
properly the individual who authored that
+   commit.  Preserve both the name and email address.
+3. Ensure your name and email address are there as the committer prior to 
pushing it to the Apache repositories.
+4. Always strive for linear commit history, avoid merge commits while pulling 
in contributor's changes.
+
+
+Setting up your repository
+--------------------------
+
+Clone the canonical ASF repo using this command. The `--origin` option tells 
git to name the remote `apache` instead
+of the default, `origin`; this will reduce ambiguity when we later add a 
second remote upstream.
+
+    git clone --origin apache 
https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git
+
+Add a second remote, for the GitHub repository.
+
+    git remote add github https://github.com/apache/incubator-brooklyn.git
+
+For the GitHub remote, add an additional `fetch` reference which will cause
+every pull request to be made available as a remote branch in your workspace.
+
+    git config --local --add remote.github.fetch 
'+refs/pull/*/head:refs/remotes/github/pr/*'
+
+Finally, run `git fetch --all` to update from all remote repositories - you 
will see all the pull requests appear:
+
+    * [new ref]         refs/pull/98/head -> github/pr/98
+    * [new ref]         refs/pull/99/head -> github/pr/99
+
+
+Merging a pull request
+----------------------
+
+Fetch the latest remote branches, which will cause a remote branch for the PR 
to become available to you.
+
+    git fetch --all
+
+If you want to inspect the PR and/or run tests, check out the branch:
+
+    git checkout github/pr/1234
+
+To perform the merge, first update your master branch to the latest:
+
+    git checkout master
+    git pull --rebase
+
+Then merge and push:
+
+    git merge --no-ff -m 'This closes #1234' github/pr/1234
+    git push apache master
+
+Note that this commit message is important, as this is what will trigger the
+pull request to be automatically closed, and the `--no-ff` means that a merge
+commit will always be created.
+
+
+Alternative options
+-------------------
+
+### Adding the remote reference to the contributor's repository
+
+Fetch the branch of the user you want to merge from
+
+    git fetch https://github.com/user-to-merge-from/incubator-brooklyn.git 
branch-to-merge-from
+
+If you commonly merge from a particular user, you'll want to add their repo as 
a remote to make fetching branches easier.
+
+    git remote add user-to-merge-from 
https://github.com/user-to-merge-from/incubator-brooklyn.git
+    git fetch user-to-merge-from
+
+
+### Merging from a patch file
+
+Save the patch from the Github patch link (just append '.patch' to the pull 
request link to get it). This patch will
+keep the authorship of the commit, so we should use it instead of the diff.
+
+Apply the patch preserving the original author:
+
+    git am pull-request-9876.patch
+
+
+Additional information
+----------------------
+
+Particularly for new committers, you may find the following information useful:
+
+* [Guide for new project
+  committers](https://www.apache.org/dev/new-committers-guide.html)
+* [Committers FAQ](https://www.apache.org/dev/committers.html)
+* [Git at Apache](https://git-wip-us.apache.org/)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/fork-after.png
----------------------------------------------------------------------
diff --git a/docs/website/developers/fork-after.png 
b/docs/website/developers/fork-after.png
new file mode 100644
index 0000000..3148ff3
Binary files /dev/null and b/docs/website/developers/fork-after.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/fork-before.png
----------------------------------------------------------------------
diff --git a/docs/website/developers/fork-before.png 
b/docs/website/developers/fork-before.png
new file mode 100644
index 0000000..276eb9d
Binary files /dev/null and b/docs/website/developers/fork-before.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/fork-new.png
----------------------------------------------------------------------
diff --git a/docs/website/developers/fork-new.png 
b/docs/website/developers/fork-new.png
new file mode 100644
index 0000000..34c2053
Binary files /dev/null and b/docs/website/developers/fork-new.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/how-to-contribute.md
----------------------------------------------------------------------
diff --git a/docs/website/developers/how-to-contribute.md 
b/docs/website/developers/how-to-contribute.md
new file mode 100644
index 0000000..0c39521
--- /dev/null
+++ b/docs/website/developers/how-to-contribute.md
@@ -0,0 +1,109 @@
+---
+layout: website-normal
+title: How to Contribute
+children:
+- { section: Contributor License Agreement, title: CLA }
+- { section: Create an Issue in Jira, title: Jira }
+- { section: Contributing using GitHub, title: GitHub }
+- { section: Reviews }
+- { section: Handy Places }
+---
+
+Welcome and thank you for your interest in contributing to Apache Brooklyn! 
This guide will take you through the
+process of making contributions to the Apache Brooklyn code base.
+
+<div class="panel panel-info">
+<div class="panel-heading" markdown="1">
+#### TL;DR
+</div>
+<div class="panel-body" markdown="1">
+
+* Pull request to [GitHub](http://github.com/apache/incubator-brooklyn).
+* Sign the [Apache CLA](https://www.apache.org/licenses/#clas) if it's 
non-trivial.
+* For bigger changes, open a 
[Jira](https://issues.apache.org/jira/browse/BROOKLYN)
+   and/or [email the list](../community/mailing-lists.html).
+
+</div>
+</div>
+
+## Contributor License Agreement
+
+Apache Brooklyn is licensed under the [Apache License, Version 
2.0](https://www.apache.org/licenses/LICENSE-2.0). All
+contributions will be under this license, so please read and understand this 
license before contributing.
+
+For all but the most trivial patches, you are required to file a Contributor 
License Agreement with the Apache
+Software Foundation. Please read the [guide to 
CLAs](https://www.apache.org/licenses/#clas) to find out how to file a
+CLA with the Foundation.
+
+
+## Before You Start
+
+### Join the Community
+
+If it's your first contribution or it's a particularly big or complex 
contribution, things typically go much more
+smoothly when they start off with a conversation. 
+Significant changes are normally discussed on the mailing list in any case,
+sometimes with a [feature 
proposal](https://drive.google.com/drive/#folders/0B3XurVLRa7pIUHNFV3NuVVRkRlE/0B3XurVLRa7pIblN4NGRNN2dYUGM/0B3XurVLRa7pIMlZQSUxrdTh4Wmc)
 document.
+
+Visit our [Community](index.html) page to see how to contact Brooklyners via 
IRC or email.
+
+### Create an Issue in Jira
+
+The first step is usually to create or find an issue in [Brooklyn's 
Jira](https://issues.apache.org/jira/browse/BROOKLYN)
+for your feature request or fix. For small changes this isn't necessary, but 
it's good to see if your change fixes an
+existing issue anyway.
+
+
+### Contributing using GitHub
+
+This is our preferred way for contributing code. Our GitHub repository is 
located at
+[https://github.com/apache/incubator-brooklyn](https://github.com/apache/incubator-brooklyn)
+
+Your commit messages must properly describes the changes that have been made 
and their purpose
+([here are some 
guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)).
 If your
+contributions fix a Jira issue, then ensure that you reference the issue (like 
`BROOKLYN-9876`) in the commit message.
+
+Create a pull request (PR) in GitHub for the change you're interested in 
making. The comment section of the PR must
+contain a link to the Jira issue (if it has one).
+
+Some good references for working with GitHub are below.  We ask that you keep 
your change rebased to master as much
+as possible, and we will ask you to rebase again if master has moved before 
accepting your patch.
+
+- [Setting Up Git with GitHub](https://help.github.com/articles/set-up-git)
+- [Forking a Repository](https://help.github.com/articles/fork-a-repo)
+- [Submitting Pull 
Requests](https://help.github.com/articles/using-pull-requests)
+- [Rebasing your Branch](https://help.github.com/articles/interactive-rebase)
+
+Finally, add a comment in the Jira issue with a link to the pull request so we 
know the code is ready to be reviewed.
+
+### Reviews
+
+The Apache Brooklyn community will review your pull request before it is 
merged. This process can take a while, so
+please be patient. If we are slow to respond, please feel free to post a 
reminder to the PR, Jira issue, IRC channel
+or mailing list - see the [Community](../community/) page to see how to 
contact us.
+
+During the review process you may be asked to make some changes to your 
submission. While working through feedback,
+it can be beneficial to create new commits so the incremental change is 
obvious.  This can also lead to a complex set
+of commits, and having an atomic change per commit is preferred in the end.  
Use your best judgement and work with
+your reviewer as to when you should revise a commit or create a new one.
+
+A pull request is considered ready to be merged once it gets at lease one +1 
from a committer. Once all the changes
+have been completed and the pull request is accepted, you may be asked to 
rebase it against the latest code. You may
+also wish to squash some commits together and make other history revisions, to 
leave the commit history clean and
+easily understood.
+
+
+### Contributing without using GitHub
+
+If you prefer to not use GitHub, then that is fine - we are also happy to 
accept patches attached to a Jira issue.
+Our canonical repository is located at 
`https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git`; for example:
+
+    $ git clone https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git
+
+When producing patches, please use `git format-patch` or a similar mechanism - 
this will ensure that you are properly
+attributed as the author of the patch when a committer merges it.
+
+
+## Handy Places
+
+Development bookmarks are available [here](links.html).

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/index.md
----------------------------------------------------------------------
diff --git a/docs/website/developers/index.md b/docs/website/developers/index.md
new file mode 100644
index 0000000..1d3ac4a
--- /dev/null
+++ b/docs/website/developers/index.md
@@ -0,0 +1,42 @@
+---
+layout: website-normal
+title: Developers
+children:
+- how-to-contribute.md
+- /guide/dev/
+- committers/
+- code-standards.md
+- { link: 'http://github.com/apache/incubator-brooklyn', title: 'GitHub' }
+- { link: 'https://issues.apache.org/jira/browse/BROOKLYN', title: 'Bug 
Tracker (JIRA)' }
+---
+
+Hello developers!
+These pages are aimed at people who want to get involved with reading, 
changing, testing and otherwise
+working with the bleeding edge Brooklyn code.
+
+<div class="panel panel-danger">
+<div class="panel-heading" markdown="1">
+#### Caution
+</div>
+<div class="panel-body" markdown="1">
+As these pages contain information about accessing the bleeding edge code and 
artifacts produced from it,
+you should be aware that the code and binaries you will encounter may be 
unstable.
+The Apache Software Foundation has not performed the level of validation and 
due diligence done 
+on formally released artifacts. 
+Proceed only if you understand the potential consequences of using unreleased 
code
+and are comfortable doing so.
+</div>
+</div>
+
+
+Firstly, please see our [community resources](../community/index.html), in 
particular:
+
+- [Mailing lists](../community/mailing-lists.html)
+- [IRC channel](../community/irc.html)
+- [JIRA for bug tracking](https://issues.apache.org/jira/browse/BROOKLYN)
+
+Next, you may want to read the [Developer Guide]({{ site.path.guide }}/dev/).
+
+If you have changes or additions to the Brooklyn source code, we would love to
+see them! Please read our guide on [how to contribute](how-to-contribute.html).
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/links.md
----------------------------------------------------------------------
diff --git a/docs/website/developers/links.md b/docs/website/developers/links.md
new file mode 100644
index 0000000..e684e1c
--- /dev/null
+++ b/docs/website/developers/links.md
@@ -0,0 +1,22 @@
+---
+layout: website-normal
+title: Development Bookmarks
+menu_proxy_for: index.md
+---
+
+{% include fields.md %}
+
+Handy places:
+
+* **Code** is in Github at 
[https://github.com/apache/incubator-brooklyn/](https://github.com/apache/incubator-brooklyn/)
+
+* **Issues** are in Jira at 
[https://issues.apache.org/jira/browse/BROOKLYN/](https://issues.apache.org/jira/browse/BROOKLYN/)
+
+* **Maven repositories** are:
+  * [Apache releases]({{ apache_releases_repo_groupid_url }})
+  * [Apache snapshots]({{ apache_snapshots_repo_groupid_url }})
+  * Other repositories are at 
[http://developers.cloudsoftcorp.com/download/maven2/](http://developers.cloudsoftcorp.com/download/maven2/)
 for releases 
+  and 
[http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/](http://ccweb.cloudsoftcorp.com/maven/libs-snapshot-local/)
 for snapshots
+            
+* **CI server** is a jenkins server at: 
[https://builds.apache.org/job/incubator-brooklyn-master-build/](https://builds.apache.org/job/incubator-brooklyn-master-build/)
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/developers/pull-request.png
----------------------------------------------------------------------
diff --git a/docs/website/developers/pull-request.png 
b/docs/website/developers/pull-request.png
new file mode 100644
index 0000000..70407f2
Binary files /dev/null and b/docs/website/developers/pull-request.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/increase-entropy.md
----------------------------------------------------------------------
diff --git a/docs/website/documentation/increase-entropy.md 
b/docs/website/documentation/increase-entropy.md
index bd0e8ea..53d5768 100644
--- a/docs/website/documentation/increase-entropy.md
+++ b/docs/website/documentation/increase-entropy.md
@@ -1,5 +1,5 @@
 ---
-title: Increase entropy
+title: Increase Entropy
 layout: website-normal
 ---
 If you are installing AMP on a virtual machine, you may find it useful to 
increase the Linux kernel entropy to speed up the ssh connections to the 
managed entities. You can install and configure `rng-tools` or just use 
/dev/urandom`.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/index.md
----------------------------------------------------------------------
diff --git a/docs/website/documentation/index.md 
b/docs/website/documentation/index.md
index 67aaa9c..03f96b7 100644
--- a/docs/website/documentation/index.md
+++ b/docs/website/documentation/index.md
@@ -4,13 +4,14 @@ title: Documentation
 children:
 - /guide/
 - /guide/dev/
-- faq.md
 - other-docs.md
 ---
 
 {% comment %}
-This is redundant with versions page.  Link to versions page?  List more 
things including other docs?
+TODO This is redundant with versions page.  Link to versions page?  List more 
things including other docs?
 Basically make this page pretty...
+
+TODO also add FAQ
 {% endcomment %}
 
 ## Official User Guide
@@ -24,8 +25,10 @@ Our main user manual is organised by release version. Please 
pick the version th
   Please note that this release was made prior to entering the Apache 
Incubator,
   and therefore it is not endorsed by Apache.
 
-From the links above you can also access the Developer Guide for the relevant 
versions.
+- [Other versions]({{ site.path.website }}/meta/versions.html)
+
 
 ## Other Docs
 
-Many other mini-docs are available [here](other-docs.md).
+Other mini-docs are available [here](other-docs.html),
+or see the [Learn More]({{ site.path.website }}/learnmore) section of the site.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/install-on-server.md
----------------------------------------------------------------------
diff --git a/docs/website/documentation/install-on-server.md 
b/docs/website/documentation/install-on-server.md
index aeb44bf..67dc6da 100644
--- a/docs/website/documentation/install-on-server.md
+++ b/docs/website/documentation/install-on-server.md
@@ -16,7 +16,9 @@ There is a simple bash script available to help with the 
installation process.
 #### Script prerequisites
 The script assumes that the server is a recent *RHEL/CentOS 6.x Linux* or 
*Ubuntu 12.04* installation, but other Linux variants have been tested 
successfully.
 
-The script will install Java 7 and other required packages if they are not 
present. You must have root access over [passwordless SSH]({{ site.path.website 
}}/documentation/passwordless-ssh.html) to install brooklyn, but the service 
runs as an ordinary user once installed. 
+The script will install Java 7 and other required packages if they are not 
present. 
+You must have root access over [passwordless SSH]({{ site.path.guide 
}}/ops/locations/ssh-keys.html) 
+to install brooklyn, but the service runs as an ordinary user once installed. 
 
 To manage the brooklyn service you must also be able to connect to port 8081 
remotely.
 
@@ -37,18 +39,19 @@ $ ./brooklyn-install.sh -s -r <your-server-ip>
 
 ### <a id="prerequisites"></a>Set up the prerequisites
 
-Before installing Apache Brooklyn, you will need to configure the host as 
follows. 
+Before installing Apache Brooklyn, it is recommented to configure the host as 
follows. 
 
 * install Java JRE or SDK (version 6 or later)
-* install [SSH key]({{ site.path.website }}/documentation//ssh-key.html), if 
not available.
-* enable [passwordless ssh login]({{ site.path.website 
}}/documentation/passwordless-ssh.html).
+* install an [SSH key]({{ site.path.guide }}/ops/locations/ssh-keys.html), if 
not available
+* enable [passwordless ssh login]({{ site.path.guide 
}}/ops/locations/ssh-keys.html)
 * create a `~/.brooklyn` directory on the host with `$ mkdir ~/.brooklyn`
-* Check your iptables service, and if enabled, make sure that it accepts all 
incoming connections to 8443+ ports.
-* [optional] Increase [linux kernel entropy]({{ site.path.website 
}}/documentation//increase-entropy.html) for faster ssh connections.
+* check your `iptables` or other firewall service, making sure that incoming 
connections on port 8443 is not blocked
+* check that the [linux kernel entropy](increase-entropy.html) is sufficient
+
 
 ## <a id="download"></a>Download Brooklyn
 
-Download Brooklyn and obtain a binary build as described on [the download 
page]({{site.path.website}}/download.html).
+Download Brooklyn and obtain a binary build as described on [the download 
page]({{site.path.website}}/download/).
 
 {% if brooklyn_version contains 'SNAPSHOT' %}
 Expand the `tar.gz` archive (note: as this is a -SNAPSHOT version, your 
filename will be slightly different):
@@ -58,20 +61,20 @@ Expand the `tar.gz` archive:
 
 {% if brooklyn_version contains 'SNAPSHOT' %}
 {% highlight bash %}
-$ tar -zxf brooklyn-dist-{{ site.data.brooklyn.version }}-timestamp-dist.tar.gz
+$ tar -zxf brooklyn-dist-{{ site.brooklyn-stable-version 
}}-timestamp-dist.tar.gz
 {% endhighlight %}
 {% else %}
 {% highlight bash %}
-$ tar -zxf brooklyn-{{ site.data.brooklyn.version }}-dist.tar.gz
+$ tar -zxf brooklyn-{{ site.brooklyn-stable-version }}-dist.tar.gz
 {% endhighlight %}
 {% endif %}
 
-This will create a `brooklyn-{{ site.data.brooklyn.version }}` folder.
+This will create a `brooklyn-{{ site.brooklyn-stable-version }}` folder.
 
 Let's setup some paths for easy commands.
 
 {% highlight bash %}
-$ cd brooklyn-{{ site.data.brooklyn.version }}
+$ cd brooklyn-{{ site.brooklyn-stable-version }}
 $ BROOKLYN_DIR="$(pwd)"
 $ export PATH=$PATH:$BROOKLYN_DIR/bin/
 {% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/passwordless-ssh.md
----------------------------------------------------------------------
diff --git a/docs/website/documentation/passwordless-ssh.md 
b/docs/website/documentation/passwordless-ssh.md
deleted file mode 100644
index 6cd3e5a..0000000
--- a/docs/website/documentation/passwordless-ssh.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Passwordless SSH login
-layout: website-normal
----
-To enable passwordless SSH login to a *nix server, first you will need a pair 
of keys. If you don't already have a keypair generated you'll first of all need 
to create one.
-To generate a new keypair you run the following command:
-
-    your-user@host1:~$ ssh-keygen -t rsa
-
-This will prompt you for a location to save the keys, and a pass-phrase:
-
-    Generating public/private rsa key pair.
-    Enter file in which to save the key (/home/skx/.ssh/id_rsa): 
-    Enter passphrase (empty for no passphrase): 
-    Enter same passphrase again: 
-    Your identification has been saved in /home/skx/.ssh/id_rsa.
-    Your public key has been saved in /home/skx/.ssh/id_rsa.pub.
-
-Then, assuming that you want to enable passwordless SSH login to the `host2` 
server from `host1` with the `id_rsa` and `id_rsa.pub` files you've just 
generated you should run the following command:
-
-    your-user@host1:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub username@host2
-
-If `host1` doesn't have `ssh-copy-id` installed, you can either install 
`ssh-copy-id` or manually copy the `id_rsa.pub` key to the `host2` by issuing 
the following commands:
-
-    host1# cat ~/.ssh/id_rsa.pub | ssh user@host2 'cat >> .ssh/authorized_keys'
-
-or if you need to make a `.ssh` directory on `host2`
-
-    host1#cat ~/.ssh/id_rsa.pub | ssh user@host2 'mkdir .ssh; chmod 700 .ssh; 
cat >> .ssh/authorized_keys; chmod 644 .ssh/authorized_keys'

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/ssh-key.md
----------------------------------------------------------------------
diff --git a/docs/website/documentation/ssh-key.md 
b/docs/website/documentation/ssh-key.md
deleted file mode 100644
index 9082af1..0000000
--- a/docs/website/documentation/ssh-key.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: SSH keys
-layout: website-normal
----
-Brooklyn requires an SSH key, which will be used to connect to cloud VMs. By 
default Brooklyn will look for SSH keys named `~/.ssh/id_rsa` or 
`~/.ssh/id_dsa`. If you do not already have an SSH key installed, create a new 
key.
-
-{% highlight bash %}
-$ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
-{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/documentation/todo.md
----------------------------------------------------------------------
diff --git a/docs/website/documentation/todo.md 
b/docs/website/documentation/todo.md
deleted file mode 100644
index 724cb8c..0000000
--- a/docs/website/documentation/todo.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: TODO
-layout: website-normal
----
-
-TODO
-

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/download/index.md
----------------------------------------------------------------------
diff --git a/docs/website/download/index.md b/docs/website/download/index.md
index 33f5d16..3008502 100644
--- a/docs/website/download/index.md
+++ b/docs/website/download/index.md
@@ -2,39 +2,32 @@
 layout: website-normal
 title: Download
 children:
-- { path: verify.md }
+- verify.md
+- ../meta/versions.md
 ---
 
 ## Latest Brooklyn Source Code Release
 
-[Download Apache Brooklyn {{ site.data.brooklyn.version }} from our mirror 
sites](https://www.apache.org/dyn/closer.cgi/incubator/brooklyn/{{ 
site.data.brooklyn.version }}/apache-brooklyn-{{ site.data.brooklyn.version 
}}.tar.gz)
+[Download Apache Brooklyn {{ site.brooklyn-stable-version }} from our mirror 
sites](https://www.apache.org/dyn/closer.cgi/incubator/brooklyn/{{ 
site.brooklyn-stable-version }}/apache-brooklyn-{{ site.brooklyn-stable-version 
}}.tar.gz)
 
 You can also verify that you build has not been tampered with by [verifying 
the hashes and signatures](verify.html).
 
 
 ## Build the Binary Package
 
-We do not yet have an official binary package for Apache Brooklyn. We plan to 
address this in our next release. However,
-it is relatively easy to create the binary package from source code, if you 
have a working JDK of at least version 6,
-and Maven 3.
+We do not yet have an official binary package for Apache Brooklyn. We plan to 
address this in our next release.
 
-Unpack `apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz` and then 
execute this command in the `apache-brooklyn-{{ site.data.brooklyn.version }}` 
folder:
+However, it is relatively easy to create the binary package from source code, 
if you have a working recent JDK and Maven 3.
+
+Unpack `apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz` and then 
execute this command in the `apache-brooklyn-{{ site.brooklyn-stable-version 
}}` folder:
 
 {% highlight bash %}
 mvn clean install -DskipTests
 {% endhighlight %}
 
-You can then find the binary distribution in the folder 
`usage/dist/target/brooklyn-dist`, or archived as 
`usage/dist/target/brooklyn-{{ site.data.brooklyn.version }}-dist.tar.gz`.
+You should then find the binary distribution in the folder 
`usage/dist/target/brooklyn-dist`, or archived as 
`usage/dist/target/brooklyn-{{ site.brooklyn-stable-version }}-dist.tar.gz`.
 
 
 ## Get Started!
 
 Take a look at the [Get Started]({{ site.path.guide }}/start/running.html) 
page!
-
-
-## Previous Versions
-
-Versions of Brooklyn prior to 0.7.0-M2 were all made prior to joining the 
Apache Incubator, therefore **they are not
-endorsed by Apache** and are not hosted by Apache or their mirrors. You can 
obtain the source code by [inspecting the
-branches of the pre-Apache GitHub 
repository](https://github.com/brooklyncentral/brooklyn/branches/stale) and 
binary
-releases by [querying Maven Central for 
io.brooklyn:brooklyn.dist](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.brooklyn%22%20AND%20a%3A%22brooklyn-dist%22).

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/download/verify.md
----------------------------------------------------------------------
diff --git a/docs/website/download/verify.md b/docs/website/download/verify.md
index 0feb4db..df0a516 100644
--- a/docs/website/download/verify.md
+++ b/docs/website/download/verify.md
@@ -3,48 +3,47 @@ layout: website-normal
 title: Verify the Integrity of Downloads
 ---
 
-It is essential for security that you verify the integrity of the downloaded 
files using their PGP signatures or SHA-1 checksums.
+You can verify the integrity of the downloaded files using their PGP 
signatures or SHA-1 checksums.
 
 
-## Verifying hashes
+## Verifying Hashes
 
-You can download MD5, SHA1 and SHA256 hashes using these links. Note that 
these links are for first-class Apache
-Software Foundation mirrors so there will be reduced opportunity for tampering 
with these files.
+To verify the downloads, first get the MD5, SHA1 and/or SHA256 hashes using 
these links. 
+Note that all links are for first-class Apache Software Foundation mirrors 
+so there is already reduced opportunity for anyone maliciously tampering with 
these files.
 
 <table class="table">
 <tr>
 <th>Artifact</th>
-<th colspan="2">MD5 hash</th>
-<th colspan="2">SHA1 hash</th>
-<th colspan="2">SHA256 hash</th>
+<th colspan="3">Hashes</th>
 </tr>
+
+{% for v in site.brooklyn-stable-versions %}
 <tr>
-<td>apache-brooklyn-0.7.0-M2-incubating.tar.gz</td>
-<td><a 
href="https://www.us.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.md5";>US</a></td>
-<td><a 
href="https://www.eu.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.md5";>EU</a></td>
-<td><a 
href="https://www.us.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.sha1";>US</a></td>
-<td><a 
href="https://www.eu.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.sha1";>EU</a></td>
-<td><a 
href="https://www.us.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.sha256";>US</a></td>
-<td><a 
href="https://www.eu.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.sha256";>EU</a></td>
+<td>apache-brooklyn-{{ v }}.tar.gz</td>
+<td><a href="https://www.apache.org/dist/incubator/brooklyn/{{ v 
}}/apache-brooklyn-{{ v }}.tar.gz.md5">md5</a></td>
+<td><a href="https://www.apache.org/dist/incubator/brooklyn/{{ v 
}}/apache-brooklyn-{{ v }}.tar.gz.sha1">sha1</a></td>
+<td><a href="https://www.apache.org/dist/incubator/brooklyn/{{ v 
}}/apache-brooklyn-{{ v }}.tar.gz.sha256">sha256</a></td>
 </tr>
+{% endfor %}
 </table>
 
 You can verify the SHA1 or SHA256 hashes easily by placing the files in the 
same folder as the download artifact and
 then running `shasum`, which is included in most UNIX-like systems:
 
 {% highlight bash %}
-shasum -c apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz.sha1
-shasum -c apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz.sha256
+shasum -c apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz.sha1
+shasum -c apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz.sha256
 {% endhighlight %}
 
 You can verify the MD5 hashes by running a command like this, and comparing 
the output to the contents of the `.md5` file:
 
 {% highlight bash %}
-md5 apache-brooklyn-{{ site.data.brooklyn.version }}.tar.gz
+md5 apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz
 {% endhighlight %}
 
 
-### Verifying PGP signatures using PGP or GPG
+### Verifying PGP Signatures using PGP or GPG
 
 You can download PGP/GPG signatures using these links. Note that these links 
are for first-class Apache
 Software Foundation mirrors so there will be reduced opportunity for tampering 
with these files.
@@ -52,18 +51,20 @@ Software Foundation mirrors so there will be reduced 
opportunity for tampering w
 <table class="table">
 <tr>
 <th>Artifact</th>
-<th colspan="2">Mirror</th>
+<th colspan="2">Link</th>
 </tr>
 <tr>
-<td>Release Manager's public keys (KEYS)</td>
-<td><a 
href="https://www.us.apache.org/dist/incubator/brooklyn/KEYS";>US</a></td>
-<td><a 
href="https://www.eu.apache.org/dist/incubator/brooklyn/KEYS";>EU</a></td>
+<td>Release Manager's public keys</td>
+<td><a href="https://www.apache.org/dist/incubator/brooklyn/KEYS";>KEYS</a></td>
 </tr>
+
+{% for v in site.brooklyn-stable-versions %}
 <tr>
-<td>apache-brooklyn-0.7.0-M2-incubating.tar.gz.asc</td>
-<td><a 
href="https://www.us.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.asc";>US</a></td>
-<td><a 
href="https://www.eu.apache.org/dist/incubator/brooklyn/0.7.0-M2-incubating/apache-brooklyn-0.7.0-M2-incubating.tar.gz.asc";>EU</a></td>
+<td>apache-brooklyn-{{ site.brooklyn-stable-version }}.tar.gz.asc</td>
+<td><a href="https://www.apache.org/dist/incubator/brooklyn/{{ 
site.brooklyn-stable-version }}/apache-brooklyn-{{ site.brooklyn-stable-version 
}}.tar.gz.asc">asc</a></td>
 </tr>
+{% endfor %}
+
 </table>
 
 In order to validate the release signature, download both the release `.asc` 
file for the release, and the `KEYS` file
@@ -71,15 +72,21 @@ which contains the public keys of key individuals in the 
Apache Brooklyn project
 
 Verify the signatures using one of the following commands:
 
-       pgpk -a KEYS
-       pgpv brooklyn-{{ site.brooklyn-version }}-dist.tar.gz.asc
+{% highlight bash %}
+pgpk -a KEYS
+pgpv brooklyn-{{ site.brooklyn-stable-version }}-dist.tar.gz.asc
+{% endhighlight %}
 
 or
 
-       pgp -ka KEYS
-       pgp brooklyn-{{ site.brooklyn-version }}-dist.zip.asc
+{% highlight bash %}
+pgp -ka KEYS
+pgp brooklyn-{{ site.brooklyn-stable-version }}-dist.zip.asc
+{% endhighlight %}
 
 or
 
-       gpg --import KEYS
-       gpg --verify brooklyn-{{ site.brooklyn-version }}-dist.tar.gz.asc
+{% highlight bash %}
+gpg --import KEYS
+gpg --verify brooklyn-{{ site.brooklyn-stable-version }}-dist.tar.gz.asc
+{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/index.md
----------------------------------------------------------------------
diff --git a/docs/website/index.md b/docs/website/index.md
index bfb50fa..a23cac9 100644
--- a/docs/website/index.md
+++ b/docs/website/index.md
@@ -15,10 +15,10 @@ children:
   - { path: /guide/ops/index.md, title_in_menu: Operations,
       menu_customization: { dropdown_section_header: true } }
   - { path: /guide/dev/index.md, title_in_menu: Developer Guide }
-  - { path: documentation/faq.md, title_in_menu: FAQ,
+  - { path: documentation/other-docs.md, title_in_menu: Other Resources,
       menu_customization: { dropdown_new_section: true } }
-  - { path: documentation/other-docs.md, title_in_menu: Other Resources }
 - community/
+- developers/
 ---
 
 <div class="jumbotron">

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/blueprint-tour.md
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/blueprint-tour.md 
b/docs/website/learnmore/blueprint-tour.md
new file mode 100644
index 0000000..e13fcd8
--- /dev/null
+++ b/docs/website/learnmore/blueprint-tour.md
@@ -0,0 +1,191 @@
+---
+layout: website-normal
+title: A Quick Tour of a Brooklyn Blueprint
+title_in_menu: Blueprint Tour
+---
+
+<div class="jumobotron annotated_blueprint" markdown="1">
+  <div class="code_scroller">
+    <div class="initial_notice"><div><div>
+      Hover over an element to learn more
+      <div class="ann_light">This message will go away in <span 
id="countdown">3s</span></div>
+      <div class="ann_play fa fa-play-circle-o"></div>
+    </div></div></div>
+    <div class="code_viewer">
+  
+<div class="block">
+      <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div 
class="annotations">
+        <div class="short">
+          Describe your application
+        </div>
+        <div class="long"><p>
+            Start by giving it a name, 
+            optionally adding a version and other metadata.
+            The format is YAML -- a human-friendly extension to JSON --
+            following the  
+            <a href="{{ site.path.website 
}}/learnmore/theory.html#standards">CAMP</a> standard.
+          </p><p>
+            Treat it like source code: use comments, version control it, test 
it with CI.
+        </p></div>
+      </div><div class="connector"><div>&nbsp;</div></div></div></div>
+<div><span class="ann_highlight"># java chatroom with ruby chatbot and 
couchbase backend (example)</span>    
+name: Chatroom with Chatbot
+services:</div></div>
+    
+<div class="block">
+      <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div 
class="annotations">
+        <div class="short">
+          Compose blueprints
+        </div>
+        <div class="long"><p>
+            Choose your building blocks from a large curated catalog,  
+            and compose them together to form new blueprints
+            you can deploy and share.
+          </p><p>
+            Customize with config keys, such as the initial size
+            and, for Couchbase, the data buckets required.
+        </p></div>
+      </div><div class="connector"><div>&nbsp;</div></div></div></div>
+<div><span class="ann_highlight">- type: couchbase-cluster</span>
+  initialSize: 3
+  createBuckets: [{ bucket: chatroom }]
+  id: chat-couchbase</div></div>
+
+<div class="block">
+      <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div 
class="annotations">
+        <div class="short">
+          Run scripts and recipes
+        </div>
+        <div class="long"><p>
+            Use bash, with variables supplied by Brooklyn;
+            or Chef recipes, with attributes passed from config;
+            or package managers, dockerfiles, etc.
+        </p></div>
+      </div><div class="connector"><div>&nbsp;</div></div></div></div>
+<div>- type: bash-server
+  launch.command: |
+<span class="ann_highlight">    wget 
http://example.com/couchbase-chat/chat-bot/{server.rb,Gemfile,install_ruby_and_libs.sh}
+    bash install_ruby_and_libs.sh
+    ruby ./server.rb $COUCHBASE_URL</span></div></div>
+
+<div class="block">
+      <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div 
class="annotations">
+        <div class="short">
+          Configure locations
+        </div>
+        <div class="long"><p>
+            Give generic VM properties or specific images and flavors.
+            Networking topologies and geographic constraints are also 
supported.
+        </p></div>
+      </div><div class="connector"><div>&nbsp;</div></div></div></div>
+<div>  provisioning.properties:
+<span class="ann_highlight">    osFamily: ubuntu
+    minRam: 4gb</span>
+</div></div>
+
+<div class="block">
+      <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div 
class="annotations">
+        <div class="short">
+          Inject dependencies
+        </div>
+        <div class="long"><p>
+            Connect entities with each other using 
+            <i>sensors</i> published at runtime to give
+            just-in-time resolution for
+            shell variables, template expansion, REST calls,
+            and any other "happens-before" or "on-change" behaviour.
+        </p></div>
+      </div><div class="connector"><div>&nbsp;</div></div></div></div>
+<div>  shell.env:
+    COUCHBASE_URL:
+<span class="ann_highlight">      $brooklyn:entity("chat-couchbase").
+        
attributeWhenReady("couchbase.cluster.connection.url")</span></div></div>
+
+<div class="block">
+      <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div 
class="annotations">
+        <div class="short">
+          Extend using Java
+        </div>
+        <div class="long"><p>
+            Create new entities, policies, and "effector" operations
+            using Java or JVM bridges to many languages, workflow systems,
+            or PaaSes.
+          </p><p>
+            Add new blueprints to the catalog, dynamically,
+            with versions and libraries handled 
+            under the covers automatically with OSGi.
+        </p></div>
+      </div><div class="connector"><div>&nbsp;</div></div></div></div>
+<div>- type: <span 
class="ann_highlight">brooklyn.entity.webapp.ControlledDynamicWebAppCluster:1.1.0</span>
+  war: http://example.com/couchbase-chat/chatroom.war
+  java.sysprops:
+    chat.db.url: 
$brooklyn:entity("couchbase").attributeWhenReady("couchbase.cluster.connection.url")</div></div>
+
+<div class="block">
+      <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div 
class="annotations">
+        <div class="short">
+          Attach management logic
+        </div>
+        <div class="long"><p>
+          Set up policies which subscribe to real-time metric sensors
+          to scale, throttle, failover, or follow-the-{sun,moon,action,etc}.
+          Cloud should be something that <i>applications</i> consume, not 
people!
+        </p></div>
+      </div><div class="connector"><div>&nbsp;</div></div></div></div>
+<div>  brooklyn.policies:
+  - type: <span 
class="ann_highlight">brooklyn.policy.autoscaling.AutoScalerPolicy</span>
+    brooklyn.config:
+      metric: $brooklyn:sensor("brooklyn.entity.webapp.DynamicWebAppCluster", 
"webapp.reqs.perSec.windowed.perNode")
+      metricLowerBound: 400
+      metricUpperBound: 600</div></div>
+
+<div class="block">
+      <div class="annotations_wrapper1"><div class="annotations_wrapper2"><div 
class="annotations">
+        <div class="short">
+          Run across many locations
+        </div>
+        <div class="long"><p>
+          Blueprints are designed for portability.
+          Pick from dozens of clouds in hundreds of datacenters. 
+          Or machines with fixed IP addresses, localhost, 
+          Docker on <a href="http://clocker.io";>Clocker</a>, etc.
+        </p><p>
+          And you're not limited to servers:
+          services, PaaS, even networks can be locations.
+        </p></div>
+      </div><div class="connector"><div>&nbsp;</div></div></div></div>
+<div>location:
+  <span class="ann_highlight">jclouds:aws-ec2</span>:
+    region: us-east-1
+    identity: <i>AKA_YOUR_ACCESS_KEY_ID</i>
+    credential: <i>[access-key-hex-digits]</i></div></div>
+
+  </div></div>
+</div>
+
+<script language="JavaScript" type="application/javascript">
+
+{% comment %}
+I've done all I could manage with pure CSS. Just one thing, the bg color
+on hover doesn't apply full width to the row if it extends the code_scroller.
+Fix it with JS. 
+
+Also resize the warning to be full size, and after first hover get rid of it.
+{% endcomment %} 
+
+$(function() {
+  maxCodeWidth = Math.max.apply(Math, $(".annotated_blueprint div.block > 
div:last-child").map(function(){ return this.scrollWidth; }).get());
+  $(".annotated_blueprint div.block").width(maxCodeWidth);
+})
+
+$(".annotated_blueprint .code_scroller .initial_notice > 
div").height($(".annotated_blueprint .code_scroller .code_viewer").height());
+$(".annotated_blueprint .code_scroller .initial_notice > 
div").width($(".annotated_blueprint .code_scroller").width());
+$(".annotated_blueprint .code_scroller").hover(function() {
+  $(".annotated_blueprint .initial_notice").css("display", "none");
+});
+$(function() {
+  setTimeout(function() { $(".annotated_blueprint .initial_notice").hide(400); 
}, 3000);
+  setTimeout(function() { $(".annotated_blueprint #countdown").text("2s"); }, 
1000);
+  setTimeout(function() { $(".annotated_blueprint #countdown").text("1s"); }, 
2000);
+});
+</script>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/blueprint-compose.png
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/features/blueprint-compose.png 
b/docs/website/learnmore/features/blueprint-compose.png
new file mode 100644
index 0000000..b446c66
Binary files /dev/null and 
b/docs/website/learnmore/features/blueprint-compose.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/blueprint-machine-specs.png
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/features/blueprint-machine-specs.png 
b/docs/website/learnmore/features/blueprint-machine-specs.png
new file mode 100644
index 0000000..140f056
Binary files /dev/null and 
b/docs/website/learnmore/features/blueprint-machine-specs.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/blueprinting.md
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/features/blueprinting.md 
b/docs/website/learnmore/features/blueprinting.md
new file mode 100644
index 0000000..c79d98b
--- /dev/null
+++ b/docs/website/learnmore/features/blueprinting.md
@@ -0,0 +1,24 @@
+
+### Blueprinting
+
+
+{% include feature-item.html title="Composable blueprints" %}
+
+A YAML service spec can refer to other blueprints,
+either in the catalog or by URL,
+and can supply custom configuration.
+
+{% include feature-image.html src="blueprint-compose.png" %}
+{% include feature-item-end.html %}
+
+
+
+{% include feature-item.html title="Portable machines specs -- or 
location-specific identifiers" img="blueprint-machine-specs.png" %}
+
+<p>
+Define machine specs using portable constraints,
+or, when you need to, use specific <code>imageId</code>, hardware profiles, 
and more
+</p>
+
+{% include feature-item-end.html img="blueprint-machine-specs.png" %}
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/index.md
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/features/index.md 
b/docs/website/learnmore/features/index.md
new file mode 100644
index 0000000..fff6864
--- /dev/null
+++ b/docs/website/learnmore/features/index.md
@@ -0,0 +1,18 @@
+---
+layout: website-normal
+title: Features
+children:
+- { section: Blueprinting }
+- { section: Policy-based Management }
+- { section: Operations }
+- { section: Java }
+---
+
+<div class="feature-list">
+
+{% readj blueprinting.md %}
+{% readj policy-based-mgmt.md %}
+{% readj operations.md %}
+{% readj java.md %}
+
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/java-hierarchy.png
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/features/java-hierarchy.png 
b/docs/website/learnmore/features/java-hierarchy.png
new file mode 100644
index 0000000..b2bd40b
Binary files /dev/null and b/docs/website/learnmore/features/java-hierarchy.png 
differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8560033d/docs/website/learnmore/features/java.md
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/features/java.md 
b/docs/website/learnmore/features/java.md
new file mode 100644
index 0000000..6b31865
--- /dev/null
+++ b/docs/website/learnmore/features/java.md
@@ -0,0 +1,41 @@
+
+
+### Java
+
+
+{% include feature-item.html title="Discoverable configuration" %}
+
+Config keys, sensors, and effectors can be defined on the classes
+such that they are automatically discoverable at runtime.
+Type information, parameters, documentation, and default values
+are returned through the REST API and shown in the GUI.   
+
+{% include feature-item-end.html %}
+
+
+
+{% include feature-item.html title="Type hierarchy" %}
+
+Use interfaces and mix-ins to share and inherit behavior in a strongly typed 
way.
+
+{% include feature-item-end.html img="java-hierarchy.png" %}
+
+
+
+{% include feature-item.html title="Sensor feeds" %}
+
+Fluent builder-style API's are included for collecting sensor information
+from REST endpoints, SSH commands, JMX connectors, and more. 
+
+{% include feature-item-end.html %}
+
+
+
+{% include feature-item.html title="Task libraries" %}
+
+Fluent builder-style task libraries are included for building activity
+chains which run in parallel or sequentially,
+executing SSH, REST, or arbitrary Java commands.
+Task status, result, hierarchies, and errors are exposed through the REST API 
and in the GUI. 
+
+{% include feature-item-end.html %}

Reply via email to