You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by bu...@apache.org on 2012/12/11 21:06:28 UTC

svn commit: r841771 - in /websites/staging/isis/trunk: cgi-bin/ content/ content/contributors/ content/contributors/resources/

Author: buildbot
Date: Tue Dec 11 20:06:26 2012
New Revision: 841771

Log:
Staging update by buildbot for isis

Added:
    websites/staging/isis/trunk/content/contributors/resources/nexus-staging-1.png   (with props)
    websites/staging/isis/trunk/content/contributors/resources/nexus-staging-2.png   (with props)
    websites/staging/isis/trunk/content/contributors/resources/nexus-staging-3.png   (with props)
    websites/staging/isis/trunk/content/contributors/resources/nexus-staging-4.png   (with props)
Modified:
    websites/staging/isis/trunk/cgi-bin/   (props changed)
    websites/staging/isis/trunk/content/   (props changed)
    websites/staging/isis/trunk/content/contributors/about.html
    websites/staging/isis/trunk/content/contributors/release-process.html
    websites/staging/isis/trunk/content/contributors/release-snapshot.html
    websites/staging/isis/trunk/content/contributors/verifying-releases.html
    websites/staging/isis/trunk/content/documentation.html

Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Dec 11 20:06:26 2012
@@ -1 +1 @@
-1419680
+1420374

Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Dec 11 20:06:26 2012
@@ -1 +1 @@
-1419680
+1420374

Modified: websites/staging/isis/trunk/content/contributors/about.html
==============================================================================
--- websites/staging/isis/trunk/content/contributors/about.html (original)
+++ websites/staging/isis/trunk/content/contributors/about.html Tue Dec 11 20:06:26 2012
@@ -197,11 +197,9 @@
 
 <ul>
 <li><a href="updating-the-cms-site.html">Updating the CMS site</a></li>
-<li><a href="release-snapshot.html">Release snapshot</a> [wip]</li>
-<li><a href="release-process.html">Release process</a> [wip]
-<!--</li>
-<li><a href="verifying-releases.html">Verifying releases</a> [wip]
---></li>
+<li><a href="release-snapshot.html">Release snapshot</a></li>
+<li><a href="release-process.html">Release process</a></li>
+<li><a href="verifying-releases.html">Verifying releases</a></li>
 <li><a href="key-generation.html">Key Generation</a></li>
 </ul>
 

Modified: websites/staging/isis/trunk/content/contributors/release-process.html
==============================================================================
--- websites/staging/isis/trunk/content/contributors/release-process.html (original)
+++ websites/staging/isis/trunk/content/contributors/release-process.html Tue Dec 11 20:06:26 2012
@@ -184,10 +184,6 @@
 </h1>
 </div>
 
-<p><div class="stub">
-This page is a work-in-progress.
-</div></p>
-
 <p>Apache Isis consists of a number of separately releasable modules.  Relative to the root of the <a href="https://git-wip-us.apache.org/repos/asf/isis/repo?p=isis.git;a=tree">source code repo</a>, these are:</p>
 
 <ul>
@@ -196,12 +192,12 @@ This page is a work-in-progress.
 <li><code>component/objectstore/nosql</code></li>
 <li><code>component/objectstore/sql</code></li>
 <li><code>component/objectstore/xml</code></li>
-<li><code>component/security/ldap</code></li>
-<li><code>component/security/sql</code></li>
 <li><code>component/profilestore/sql</code></li>
 <li><code>component/profilestore/xml</code></li>
 <li><code>component/progmodel/groovy</code></li>
 <li><code>component/progmodel/wrapper</code></li>
+<li><code>component/security/ldap</code></li>
+<li><code>component/security/sql</code></li>
 <li><code>component/viewer/bdd</code></li>
 <li><code>component/viewer/dnd</code></li>
 <li><code>component/viewer/html</code></li>
@@ -228,7 +224,8 @@ This page is a work-in-progress.
 <li>on a successful vote:
 <ul>
 <li>promote the staged artifacts</li>
-<li>merge in the branch back to into trunk</li>
+<li>distribute the source zip</li>
+<li>merge in the branch back to into master</li>
 </ul></li>
 <li>on a failed vote:
 <ul>
@@ -238,199 +235,220 @@ This page is a work-in-progress.
 </ul></li>
 </ul>
 
-<p>Before any of this can happen, there are a number of prerequisites, in terms of (a) the codebase itself, (b) the community process, and (c) the contributor acting as release manager and performing the release.</p>
+<p>Before any of this can happen, there are a number of prerequisites, in terms of (a) the codebase itself, (b) the community process, and (c) the committer acting as release manager and performing the release.</p>
 
 <h3>Set up local environment</h3>
 
-<p>First, clear out your local Maven repo of any Isis artifacts:</p>
-
-<pre>
-cd ~/.m2/repository/org/apache
-mv isis isis-MOVED
-</pre>
-
-<p>Second, create a branch in your local Git repo:</p>
-
-<pre>
-git checkout -b release/x.y.z
-</pre>
-
-<p>All release preparation is done locally; when we are done, this branch will be pushed back to master.</p>
+<h4>Public/private key</h4>
 
-<h2>Code Prerequisites</h2>
+<p>The most important configuration you require is to set up public/private key pair.   This is used by the <code>maven-release-plugin</code> to sign the code artifacts.  See the page on <a href="key-generation.html">key generation</a> for more details.</p>
 
-<p>Before making any formal release, there are a number of prerequisites that should always be checked</p>
+<p>In order to prepare the release, you'll (need to) have a <code>~/.gnupg</code> directory with the relevant files (<code>gpg.conf</code>, <code>pubring.gpg</code>, <code>secring.gpg</code> etc), and have <code>gpg</code> on your operating system PATH.</p>
 
-<h3>Update dependency versions</h3>
+<p><div class="note">
+If on Windows, the equivalent directory is <code>c:\users\xxx\appdata\roaming\gnupg</code>.  For <code>gpg</code>, use either <a href="http://cygwin.com">cygwin.com</a> or <a href="http://www.gpg4win.org">gpg4win.org</a>.  Note also that the mSysGit version of <code>gpg</code> (as provided by GitHub's bash client) is not compatible with that provided by cygwin.
+</div></p>
 
-<p>First, check (via <a href="http://search.maven.org">http://search.maven.org</a>) whether there is a newer version of the Apache parent <code>org.apache:apache</code>. If so, update the <code>&lt;parent&gt;</code> element in Isis' own parent POM <code>org.apache.isis:isis</code>.</p>
+<h4>Maven <code>settings.xml</code></h4>
 
-<p>Second, use the Maven versions plugin can be used to determine if there are newer versions of any of Isis' dependencies:</p>
+<p>During the release process the <code>maven-deploy-plugin</code> uploads the generated artifacts to a staging repo on the <a href="http://repository.apache.org">Apache repository manager</a>.  This requires your Apache LDAP credentials to be specified in your <code>~/.m2/settings.xml</code> file:</p>
 
 <pre>
-mvn versions:display-dependency-updates > /tmp/foo
-grep "\->" /tmp/foo | sort -u
+&lt;settings&gt;
+  &lt;servers&gt;
+    &lt;server&gt;
+      &lt;id&gt;apache.releases.https&lt;/id&gt;
+      &lt;username&gt;xxxxxxx&lt;/username&gt;
+      &lt;password&gt;yyyyyyy&lt;/password&gt;
+    &lt;/server&gt;
+    ...
+  &lt;/servers&gt;
+  ...
+&lt;/settings&gt;
 </pre>
 
-<p>Update any of the dependencies that are out-of-date.</p>
+<p>where <code>xxxxxxx</code> and <code>yyyyyyy</code> are your Apache LDAP username and password.   For more information, see these <a href="http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env">ASF docs</a>.</p>
 
-<h3>Sanity check</h3>
+<p><div class="note">
+It is also possible to configure to use <code>.ssh</code> secure keys, and thereby avoid hardcoding your Apache LDAP password into your <code>.m2/settings.xml</code> file. A description of how to do this can be found, for example, <a href="http://incubator.apache.org/bval/cwiki/release-setup.html">here</a>.
+</div></p>
 
-<p>First, clear out your local Maven repo of any Isis artifacts:</p>
+<h4>Pull down code to release</h4>
 
-<pre>
-cd ~/.m2/repository/org/apache
-mv isis isis-MOVED
-</pre>
-
-<p>Next, check that the releasable module builds independently.  For example, if releasing the <code>core</code> module, check that it builds:</p>
+<p>Set the HEAD of your local git repo to the commit to be released.  In many cases this will be the tip of the origin's <code>master</code> branch:</p>
 
 <pre>
-cd core
-mvn clean install -o
+git checkout master
+git pull --ff-only
 </pre>
 
-<p>Or, if you were building an objectstore, make sure that it builds independently:</p>
+<p>Then, create a release branch in your local Git repo:</p>
 
 <pre>
-cd component/objectstore/jdo
-mvn clean install -o
+git checkout -b release/x.y.z
 </pre>
 
+<p>All release preparation is done locally; if we are successful, this branch will be pushed back to master.</p>
+
 <p><div class="note">
-All remaining steps should be performed in the base directory of the module being released.
+Unless otherwise stated, you should assume that all remaining steps should be performed in the base directory of the module being released.
 </div></p>
 
-<!--
-- site builds ok
-
-
-
-8daeb02ea775a67d739f8b27afce0e56
-
-
-
-
-
-60f9fef3ce8fa7f4c9ac817ef6d43ba3
-
-
-
-
-74cd298b4ccd450e8e87b027b532ad2f
-
-
-
-Make sure that all source code has been cleaned up and formatted according to the Apache Isis and ASF conventions.  Full details are in [Isis coding conventions](coding-conventions.html).
-
-
-
-f762b180b7af28fab242c26d0c5f48b8
-
-
-
-The Apache Release Audit Tool `RAT` (from the [Apache Creadur](http://creadur.apache.org) project) checks for missing license header files.
-
-The parent `pom.xml` of each releasable module specifies the RAT Maven plugin, with a number of custom exclusions.
-
-To run the RAT tool, use:
-
-
-
-9c6ea6ce5e449ec8111b32d6271f5131
-
-
+<h2>Code Prerequisites</h2>
 
-where `rat.numUnapprovedLicenses` property is set to a high figure, temporarily overriding the default value of 0.  This will allow the command to run over all submodules, rather than failing after the first one.
+<p>Before making any formal release, there are a number of prerequisites that should always be checked.</p>
 
-<div class="note">
-Do *not* use `mvn rat:check`; depending on your local Maven configuratoin this may bring down the obsolete `mvn-rat-plugin` from Codehaus repo.
-</div>
+<h3>Update Apache parent (Isis Core only)</h3>
 
-All being well the command should complete.  For each failing submodule, it will have written out a `target\rat.txt`; missing license notes are indicated using the key `!???`.  You can collate these together using something like:
+<p>If releasing Isis Core, check (via <a href="http://search.maven.org">http://search.maven.org</a>) whether there is a newer version of the Apache parent <code>org.apache:apache</code>.</p>
 
+<p>If there is, update the <code>&lt;version&gt;</code> in the <code>&lt;parent&gt;</code> element in the parent POM <code>org.apache.isis.core:isis</code>.</p>
 
-34cc167261a1dd19efcf253f0f73de73
+<h3>Update dependency versions</h3>
 
+<p>The <code>maven-versions-plugin</code> should be used to determine if there are newer versions of any of Isis' dependencies:</p>
 
+<pre>
+mvn versions:display-dependency-updates > /tmp/foo
+grep "\->" /tmp/foo | sort -u
+</pre>
 
-Investigate and fix any reported violations, typically by either:
+<p>Update any of the dependencies that are out-of-date.</p>
 
+<h3>Code cleanup / formatting</h3>
 
+<p>Make sure that all source code has been cleaned up and formatted according to the Apache Isis and ASF conventions.  Full details are in <a href="coding-conventions.html">Isis coding conventions</a>.</p>
 
-d9f0f52c516be130c53e93535bd5980f
+<h3>License header notices (RAT tool)</h3>
 
+<p>The Apache Release Audit Tool <code>RAT</code> (from the <a href="http://creadur.apache.org">Apache Creadur</a> project) checks for missing license header files.  The parent <code>pom.xml</code> of each releasable module specifies the RAT Maven plugin, with a number of custom exclusions.</p>
 
-To add missing headers, you can if you wish use the groovy script `addmissinglicenses.groovy` to automatically insert missing headers for certain file types.  The actual files checked are those with extensions specified in the line `def fileEndings = [".java", ".htm"]`:
+<p>To run the RAT tool, use:</p>
 
+<pre>
+mvn org.apache.rat:apache-rat-plugin:check -D rat.numUnapprovedLicenses=50 -o
+</pre>
 
+<p>where <code>rat.numUnapprovedLicenses</code> property is set to a high figure, temporarily overriding the default value of 0.  This will allow the command to run over all submodules, rather than failing after the first one.</p>
 
-93bfa782cabaac71742021050c9e50cc
+<p><div class="note">
+Do <em>not</em> use <code>mvn rat:check</code>; depending on your local Maven configuratoin this may bring down the obsolete <code>mvn-rat-plugin</code> from Codehaus repo.
+</div></p>
 
+<p>All being well the command should complete.  For each failing submodule, it will have written out a <code>target\rat.txt</code>; missing license notes are indicated using the key <code>!???</code>.  You can collate these together using something like:</p>
 
-b460e06e4a17f240d0e761b506f13641
+<pre>
+for a in `find . -name rat.txt -print`; do grep '!???' $a; done
+</pre>
 
+<p>Investigate and fix any reported violations, typically by either:</p>
 
+<ul>
+<li>adding genuinely missing license headers from Java (or other) source files, or</li>
+<li>updating the <code>&lt;excludes&gt;</code> element for the <code>apache-rat-plugin</code> plugin to ignore test files, log files and any other non-source code files
+<ul>
+<li>also look to remove any stale <code>&lt;exclude&gt;</code> entries</li>
+</ul></li>
+</ul>
 
+<p>To add missing headers, you can if you wish use the groovy script <code>addmissinglicenses.groovy</code> (in the <code>scripts</code> directory) to automatically insert missing headers for certain file types.  The actual files checked are those with extensions specified in the line <code>def fileEndings = [".java", ".htm"]</code>:</p>
 
+<p>Run this in dry run mode first  (shown here relative to the <code>core</code> module):</p>
 
-ed32a4e87365839d451b6b0cf3c405b5
+<pre>
+groovy ../scripts/addmissinglicenses.groovy
+</pre>
 
+<p>When happy, perform the updates by specifying the <code>-x</code> (execute) flag:</p>
 
-1896300a163310f827c151fb370939d7
+<pre>
+groovy addmissinglicenses.groovy -x
+</pre>
 
+<p>Once you've fixed all issues, confirm once more that <code>apache-rat-plugin</code> no longer reports any license violations, this time leaving the <code>rat.numUnapprovedLicenses</code> property to its default, 0:</p>
 
+<pre>
+mvn org.apache.rat:apache-rat-plugin:check -D rat.numUnapprovedLicenses=0 -o
+for a in `find . -name rat.txt -print`; do grep '!???' $a; done
+</pre>
 
-Once you've fixed all issues, confirm once more that `apache-rat-plugin` no longer reports any license violations, this time leaving the `rat.numUnapprovedLicenses` property to its default, 0:
+<h3>Missing License Check</h3>
 
+<p>Although Apache Isis has no dependencies on artifacts with incompatible licenses, the POMs for some of these dependencies (in the Maven central repo) do not necessarily contain the required license information.  Without appropriate additional configuration, this would result in the generated <code>DEPENDENCIES</code> file and generated Maven site indicating dependencies as having "unknown" licenses.</p>
 
+<p>Fortunately, Maven allows the missing information to be provided by configuring the <code>maven-remote-resources-plugin</code>.  This is stored in the <code>src/main/appended-resources/supplemental-models.xml</code> file, relative to the root of each releasable module.</p>
 
-af6d53c19c7d372861554d4a4e414f96
+<p>To capture the missing license information, use:</p>
 
+<pre>
+mvn license:download-licenses
+</pre>
 
+<p>This Maven plugin creates a <code>licensexml</code> file in the <code>target/generated-resources</code> directory of each module.</p>
 
+<p>Then, run the following script (shown here relative to the <code>core</code> module).</p>
 
+<pre>
+groovy ../scripts/checkmissinglicenses.groovy
+</pre>
 
+<p>This searches for all <code>licenses.xml</code> files, and compares them against the contents of the <code>supplemental-models.xml</code> file.   For example, the output could be something like:</p>
 
-6148a0ccbf70a2dc3ec77678ce7d1b13
+<pre>
+licenses to add to supplemental-models.xml:
 
+[org.slf4j, slf4j-api, 1.5.7]
+[org.codehaus.groovy, groovy-all, 1.7.2]
 
 
-Although Apache Isis has no dependencies which have incompatible licenses, the POMs for some of these dependencies (in the Maven central repo) do not necessarily contain the required license information.  Without appropriate additional configuration, this would result in the generated `DEPENDENCIES` file and generated Maven site indicating dependencies as having "unknown" licenses.
+licenses to remove from supplemental-models.xml (are spurious):
 
-Fortunately, Maven allows the missing information to be provided by configuring the `maven-remote-resources-plugin`.  This is stored in the `src/main/appended-resources/supplemental-models.xml` file in the parent `[oai:isis]` module.
+[org.slf4j, slf4j-api, 1.5.2]
+</pre>
 
-To capture the missing license information, use:
+<p>If any missing entries are listed or are spurious, then update <code>supplemental-models.xml</code> and try again.</p>
 
+<p><div class="note">
+Ignore any missing license warnings for the TCK modules; this is a result of the TCK modules for the viewers (eg <code>bdd-concordion-tck</code>) depending on the TCK dom, fixtures etc.
+</div></p>
 
+<h2>Sanity check</h2>
 
-8c71e43fd0463059c7b0fc3acaf5adca
+<p>Before you cut the release, perform one last sanity check on the codebase.</p>
 
+<p>First, delete all Isis artifacts from your local Maven repo:</p>
 
+<pre>
+rm -rf ~/.m2/repository/org/apache/isis
+</pre>
 
-This Maven plugin creates a `licensexml` file in the `target/generated-resources` directory of each module.
+<p>Next, check that the releasable module builds independently. The build process depends on whether the artifact is of Isis core or of one of its components:</p>
 
-Then, run the following script (shown here relative to the `core` module).
+<ul>
+<li>For Isis core, build using the <code>-o</code> offline flag:</p>
 
+<p><code>mvn clean install -o</code></p>
 
+<p>Confirm that the versions of the Isis artifacts now cached in your local repository are correct.</li>
+<li>For an Isis component, build without the offline flag; Maven should pull down the component's dependencies from the Maven central repo:</p>
 
-417bbfc3142d352bf5241ba1acaae3c9
+<p><code>mvn clean install</code></p>
 
+<p>Confirm that the versions of the Isis artifacts now cached in your local repository are correct (both those pulled down from Maven central repo, as well as those of the component built locally).</li>
+</ul>
 
+<!--
+- site builds ok
 
-This searches for all `licenses.xml` files, and compares them against the contents of the `supplemental-models.xml` file.   For example, the output could be something like:
 
 
+8daeb02ea775a67d739f8b27afce0e56
 
-87975db852b62990bd1a4becc1a32fcf
 
 
 
-If any missing entries are listed or are spurious, then update `supplemental-models.xml` and try again.
 
-<div class="note">
-Ignore any missing license warnings for the TCK modules; this is a result of the TCK modules for the viewers (eg `bdd-concordion-tck`) depending on the TCK dom, fixtures etc.
-</div>
+b9e9eddbae509563765e3948e400a106
 
 
 
@@ -439,14 +457,7 @@ ffda6510d6461f9b86dee513a96bdf4e
 
 
 
-In order to prepare a release, you must have a public/private key pair, and have configured Maven.  See the page on [key generation](key-generation.html) for more details.
-
-In order to prepare the release, you'll (need to) have a `~/.gnupg` directory with the relevant files (`gpg.conf`, `pubring.gpg`, `secring.gpg` etc).
-
-<div class="note">
-If on Windows, the equivalent directory is `c:\users\xxx\appdata\roaming\gnupg`.  For `gpg`, use either [cygwin.com](http://cygwin.com) or [gpg4win.org](http://www.gpg4win.org).  Note also that the mSysGit version of `gpg` (as provided by GitHub's bash client) is not compatible with that provided by cygwin.
-</div>
-
+Most of the work is done using the `mvn release:prepare` goal.  Since this makes a lot of changes, we run it first in "dry run" mode; only if that works do we run the goal for real.
 
 <!--
 TODO: a section like this will be required when considering archetypes and/or maven sites.
@@ -582,7 +593,7 @@ mvn release:prepare -P apache-release -D
 
 <p>For example, if building core, then the ZIP file will be called <code>isis-x.y.z-source-release.zip</code> and should reside in <code>~/.m2/repository/org/apache/isis/core/isis/x.y.z</code> directory.</p>
 
-<p>Unzip in a new directory, and build (see Chapter 3, Building Isis from Source).</li>
+<p>Unzip in a new directory, and build.</li>
 <li>Inspect the <code>DEPENDENCIES</code> file.</p>
 
 <p>This file should be in the root of the extracted ZIP. In particular, check that there are no category-x dependencies.</li>
@@ -610,28 +621,7 @@ Check that the generated app's artifacts
 
 <p>The Apache staging repository runs on Nexus server, hosted at <a href="https://repository.apache.org">repository.apache.org</a>. The process of uploading will create a staging repository that is associated with the host (IP address) performing the release. Once the repository is staged, the newly created staging repository is "closed" in order to make it available to others.</p>
 
-<p>Before you start, make sure you've defined the staging repo in your local <code>~/.m2/settings.xml</code> file:</p>
-
-<pre>
-&lt;settings&gt;
-  &lt;servers&gt;
-    &lt;!-- To publish a snapshot of some part of Maven --&gt;
-    &lt;server&gt;
-      &lt;id&gt;apache.releases.https&lt;/id&gt;
-      &lt;username&gt;xxxxxxx&lt;/username&gt;
-      &lt;password&gt;yyyyyyy&lt;/password&gt;
-    &lt;/server&gt;
-    ...
-  &lt;/servers&gt;
-  ...
-&lt;/settings&gt;
-</pre>
-
-<p>where <code>xxxxxxx</code> and <code>yyyyyyy</code> are your Apache LDAP username and password.   For more information, see these <a href="http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env">ASF docs</a>.</p>
-
-<p><div class="note">
-It is also possible to configure to use <code>.ssh</code> secure keys, and thereby avoid hardcoding your Apache LDAP password into your <code>.m2/settings.xml</code> file. A description of how to do this can be found, for example, <a href="http://incubator.apache.org/bval/cwiki/release-setup.html">here</a>.
-</div></p>
+<p>Before you start, make sure you've defined the staging repo in your local <code>~/.m2/settings.xml</code> file (see earlier on this page).</p>
 
 <h3>Perform the Release</h3>
 
@@ -673,9 +663,13 @@ ckout\core
 
 <p>All being well this command will complete successfully.</p>
 
+<p><div class="note">
+Depending on the module being released, the deploy process could take a long time.  Go grab a bite of lunch.
+</div></p>
+
 <h3>Check the Repository</h3>
 
-<p>If the mvn release:perform has worked then it will have put release artifacts into a newly created staging repository .</p>
+<p>If the <code>mvn release:perform</code> has worked then it will have put release artifacts into a newly created staging repository .</p>
 
 <p>Log onto <a href="http://repository.apache.org">repository.apache.org</a> (using your ASF LDAP account) and check that the release has been staged:</p>
 
@@ -683,7 +677,7 @@ ckout\core
 TODO: update screenshot
 -->
 
-<p><img src="http://incubator.apache.org/isis/docbkx/html/guide/images/release/nexus-staging-1.png" alt="" /></p>
+<p><img src="resources/nexus-staging-1.png" width="600px"/></p>
 
 <p>If nothing appears in a staging repo you should stop here and work out why.</p>
 
@@ -699,7 +693,7 @@ TODO: update screenshot
 TODO: update screenshot
 -->
 
-<p><img src="http://incubator.apache.org/isis/docbkx/html/guide/images/release/nexus-staging-2.png" alt="" /></p>
+<p><img src="resources/nexus-staging-2.png" width="600px"/></p>
 
 <p>All being well, the close should complete successfully:</p>
 
@@ -707,7 +701,7 @@ TODO: update screenshot
 TODO: update screenshot
 -->
 
-<p><img src="http://incubator.apache.org/isis/docbkx/html/guide/images/release/nexus-staging-3.png" alt="" /></p>
+<p><img src="resources/nexus-staging-3.png" width="600px"/></p>
 
 <p>The Nexus repository manager will also email you with confirmation of a successful close.</p>
 
@@ -717,7 +711,7 @@ TODO: update screenshot
 TODO: update screenshot
 -->
 
-<p><img src="http://incubator.apache.org/isis/docbkx/html/guide/images/release/nexus-staging-4.png" alt="" /></p>
+<p><img src="resources/nexus-staging-4.png" width="600px"/></p>
 
 <p>Use <code>gpg --keyserver hkp://pgp.mit.edu --recv-keys nnnnnnnn</code> to confirm that the key is available.</p>
 
@@ -741,7 +735,7 @@ git push -u origin release/x.y.z
 
 <h3>Start voting thread on dev@isis.apache.org</h3>
 
-<p>The following boilerplate is for a release of the Apache Isis <code>core</code>.  Adapt as required:</p>
+<p>The following boilerplate is for a release of the Apache Isis Core.  Adapt as required:</p>
 
 <p>Use the following subject:</p>
 
@@ -770,231 +764,278 @@ Please verify the release and cast your 
 [ ] -1
 </pre>
 
-<p>12.6.2. Other contributors cast their vote</p>
+<p>The value <code>orgapacheisis-nnn</code> is the repository id provided by Nexus earlier.</p>
 
-<p>It is the responsibility of other contributors (or any ASF member) to cast their vote on the release. This section provides some guidance on this process.</p>
+<p>The procedure for other committers to verify the release can be found <a href="verifying-releases.html">here</a>.</p>
 
-<p>12.6.2.1. Verifying the source release artifacts</p>
+<h2>After the vote</h2>
 
-<p>Download both the ZIP and .ASC files from the location specified in the voting email. To verify that the signature is correct, use:</p>
+<p>Once the vote has completed, post the results to the isis-dev mailing list.</p>
 
-<p>gpg --verify isis-x.x.x-incubating.zip.asc isis-x.x.x-incubating.zip
-The ZIP file should then be unpacked.</p>
+<p>For example, use the following subject for a vote on Isis Core:</p>
 
-<p>Once unpacked, it is recommended that voters at a minimum sanity check the contents, as per Section 12.1.2, “Sanity check”.</p>
+<pre>
+[RESULT] [VOTE] Apache Isis Core release x.y.z
+</pre>
 
-<p>In particular, when building locally, confirm that the versions in your local repository (~/.m2/repository/org/apache/isis) are correct.</p>
+<p>for a successful vote, using the body:</p>
 
-<p>12.6.2.2. Verifying the binary release artifacts</p>
+<pre>
+The vote has completed with the following result :
 
-<p>Optionally, voters can verify the binary releases (in the Maven staging repository). For this it is necessary to download each artifact from Nexus and its corresponding .ASC file. Since there are many such artifacts, we suggest you just choose one or two at random.</p>
+  +1 (binding): <i>list of names</i>
+  +1 (non binding): <i>list of names</i>
 
-<p>12.6.2.3. Casting a Vote</p>
+  -1 (binding): <i>list of names</i>
+  -1 (non binding): <i>list of names</i>
 
-<p>When the above checks have been made (and any other checks that the voter thinks is relevant), they should cast a vote by replying to the email thread above.</p>
+The vote is SUCCESSFUL.
+</pre>
 
-<p>12.6.3. After the isis-dev vote</p>
+<p>If the vote has been unsuccessful, then:</p>
 
-<p>Once the vote has completed, post the results to the isis-dev mailing list.</p>
+<ul>
+<li>delete your local branch</li>
+</ul>
 
-<p>Use the following subject:</p>
+<pre>
+  git branch -D release/x.y.z
+</pre>
 
-<p>[RESULT] [VOTE] Apache Isis release 0.x.x-incubating
-with the body:</p>
+<ul>
+<li>delete the remote origin server's branch</li>
+</ul>
 
-<p>The vote has completed with the following result :</p>
+<pre>
+  git push origin --delete release/x.y.z
+</pre>
 
-<p>+1 (binding): &lt;<list of names>>
-  +1 (non binding): &lt;<list of names>></p>
+<ul>
+<li>drop the staging repository in <a href="http://repository.apache.org">Nexus</a></li>
+</ul>
 
-<p>If the vote has been unsuccessful, then delete the branches and SVN tag, drop the staging repository, address the problems in trunk, and go again.</p>
+<p>Address the problems identified in the vote, and go again.</p>
 
-<p>12.7. Promoting Release to Distribution</p>
+<h2>Promoting Release to Distribution</h2>
 
-<p>12.7.1. Release Binaries to Maven Central Repo</p>
+<h3>Release Binaries to Maven Central Repo</h3>
 
 <p>From the Nexus pages, select the staging repository and select 'release' from the top menu.</p>
 
-<p>This moves the release artifacts into an Apache releases repository, from there they will be automatically moved to the Maven repository.</p>
+<!--
+TODO: adda screenshot
+-->
 
-<p>12.7.2. Release Source Zip</p>
+<p>This moves the release artifacts into an Apache releases repository; from there they will be automatically moved to the Maven repository.</p>
 
-<p>Releasing the source ZIP is a matter of copying the ZIP into the /www/www.apache.org/dist/incubator/isis directory on people.apache.org.</p>
+<h3>Release Source Zip</h3>
 
-<p>Note</p>
+<p>As described in the <a href="http://www.apache.org/dev/release-publishing.html#distribution_dist">Apache documentation</a>, each Apache TLP has a <code>release/TLP-name</code> directory in the distribution Subversion repository at <a href="https://dist.apache.org/repos/dist">https://dist.apache.org/repos/dist</a>. Once a release vote passes, the release manager should <code>svn add</code> the artifacts (plus signature and hash files) into this location.   The release is then automatically pushed to <a href="http://www.apache.org/dist/">http://www.apache.org/dist/</a> by <code>svnpubsub</code>.  Only the most recent release of each supported release line should be contained here, old versions should be deleted.</p>
 
-<p>There is an alternative and newer approach, namely to check in the release to subversion. At some stage these procedures will be updated to reflcet this newer approach.</p>
+<p>Each project is responsible for the structure of its directory. The directory structure of Isis reflects the directory structure in our git source code repo:</p>
 
-<p>Assuming you've downloaded the ZIP file and signature file from the staging repo, and the dist directory already exists, use scp to copy the files up:</p>
+<pre>
+isis/
+  core/
+  component/
+    objectstore/
+      jdo/
+      nosql/
+      sql/
+      xml/
+    profilestore/
+      sql/
+      xml/
+    progmodel/
+      groovy/
+      wrapper/
+    security/
+      file/
+      ldap/
+      sql/
+    viewer/
+      bdd/
+      dnd/
+      html/
+      junit/
+      restfulobjects/
+      scimpi/
+      wicket/
+  example/
+    archetype/
+      quickstart_jdo_restful_wicket/
+      quickstart_dnd_bdd_junit/
+  site-skin/
+  tool/
+    maven-isis-plugin/
+</pre>
 
-<p>scp isis-x.x.x-incubating-source-release.* people.apache.org:/www/www.apache.org/dist/incubator/isis/.
-12.7.3. Promote and update the Website</p>
+<p>If necessary, checkout this directory structure:</p>
 
-<p>To promote the site, first log onto people.apache.org. Then:</p>
+<pre>
+svn co https://dist.apache.org/repos/dist/release/isis isis-dist
+</pre>
 
-<p>switch to the website directory:</p>
+<p>Next, add the new release into the approprite directory, and delete any previous release.  For example, if releasing Apache Isis Core <code>x.y.z</code>, superceding a previous release <code>p.q.r</code>, use:</p>
 
-<p>$ cd /www/incubator.apache.org
-Either:</p>
+<pre>
+cd core
+svn delete isis-p.q.r-source-release.zip
+svn delete isis-p.q.r-source-release.zip.asc
+svn add isis-x.y.z-source-release.zip
+svn add isis-x.y.z-source-release.zip.asc
+svn commit -m "publishing isis-x.y.z source to dist.apache.org"
+</pre>
 
-<p>move the previous site to one side:</p>
+<h2>Update JIRA and generate Release notes</h2>
 
-<p>$ mv isis isis-0.x.w-incubating
-where 0.x.w is the previous version was uploaded</p>
+<h3>Close All JIRA tickets for the release</h3>
 
-<p>or simply delete the site:</p>
+<p>Close all JIRA tickets for the release, or moved to future releases if not yet addressed.  Any tickets that were partially implemented should be closed, and new tickets created for the functionality on the ticket not yet implemented.</p>
 
-<p>$ rm -rf isis
-Move the new site into place, and for good measure touch every file to ensure it is picked up:</p>
+<h3>Generate Release Notes in JIRA</h3>
 
-<p>$ mv isis-0.x.x-incubating isis
-$ find isis -exec touch {} \;
-Finally, check that the download links are valid, as specified in downloads.html. If there are any errors or adjustments, make them directly, but remember to apply the same changes back to the source tree for the next iteration.</p>
+<p>Use JIRA to generate draft release notes using the procedure documented <a href="http://confluence.atlassian.com/display/JIRA/Creating+Release+Notes">here</a>.  If any of the tickets closed are tasks/subtasks, then please edit the contents of the file to associate them back together again.</p>
 
-<p>The new site should become available within a couple of hours.</p>
+<h3>Update ISIS website with release notes</h3>
 
-<p>12.7.4. Announce the release</p>
+<p>Update the Isis CMS website:</p>
 
-<p>Announce the release to isis-dev@incubator.a.o mailing list.</p>
+<ul>
+<li>Using the JIRA-generated release notes as a guide, update the relevant section of the CMS site.</p>
 
-<p>Use the following subject:</p>
+<p>Typically this be will a new page in the core section or for one of the components. Make a note of the URL of this new page (for use in the mailing list announcement).</p>
 
-<p>Subject: [ANN] Apache Isis version 0.x.x-incubating Released
-And use the following body (summarizing the main points as required):</p>
+<p>For example, a new release of Isis Core would have a release notes page <code>http://isis.apache.org/core/release-notes-x.y.z.html</code></li>
+<li>On the core/component's about page, provide a link to release notes providing details of the contents of the release.</li>
+<li>Update the <a href="../download.html">download page</a> with a link to the source release zip file (under <a href="http://dist.apache.org/dist/isis">http://dist.apache.org/dist/isis</a>)</li>
+<li>Update the version listed on the <a href="../documentation.html">documentation page</a>.</li>
+</ul>
 
-<p>The Isis team is pleased to announce the release of Apache Isis version 0.x.x-incubating</p>
+<h2>Announce the release</h2>
 
-<p>http://incubator.apache.org/isis</p>
+<p>Announce the release to dev@isis.apache.org mailing list.</p>
 
-<p>&lt;<summary of the main points of the release>></p>
+<p>For example, for a release of Apache Isis Core, use the following subject:</p>
 
-<p>Full release notes are available at [1] on the Isis website.</p>
+<pre>
+Subject: [ANN] Apache Isis version x.y.z Released
+</pre>
 
-<p>You can access this release directly from the Maven central repo [2], use the Maven archetype to configure an initial project [3],
-or download the release and build it from source [4].</p>
+<p>And use the following body (summarizing the main points as required):</p>
 
-<p>Enjoy!</p>
+<pre>
+The Isis team is pleased to announce the release of
+Apache Isis Core version x.y.z
 
-<p>-The Isis team</p>
+<i>summary of the main points of the release</i>
 
-<p>[1] http://incubator.apache.org/isis/release-notes-0.x.x-incubating.html
-[2] http://search.maven.org
-[3] http://incubator.apache.org/isis/quickstart-app.html
-[4] http://incubator.apache.org/isis/downloads.html</p>
+Full release notes are available at [1] on the Isis website.
 
-<p>12.8. Prepare for next iteration</p>
+You can access this release directly from the Maven central repo [2], 
+or download the release and build it from source [3].
 
-<p>12.8.1. Merge changes from branch back into trunk</p>
+Enjoy!
 
-<p>Because we release from a branch, the changes made in the branch (changes to pom.xml made automatically by the release-plugin, or any manual edits) should be merged back from the release branch back into trunk. There are two ways to do this:</p>
+-The Isis team
 
-<p>The "official" way is to use SVN's merge command for this (using the "reintegrate" flag):</p>
+[1] http://isis.apache.org/core/release-notes-x.y.z.html
+[2] http://search.maven.org
+[3] http://isis.apache.org/download.html
+</pre>
 
-<p>$ cd .../trunk/framework
-$ svn merge --reintegrate https://svn.apache.org/repos/asf/incubator/isis/branches/0.x.x-incubating/framework .
-$ svn commit -m "reintegrating release branch 0.x.x-incubating ready for next iteration"
-However, you will find that this is very slow (the merge command alone takes something like ~1 hour) and will generate a massive change set which also will take an age to commit.</p>
+<h3>Blog post</h3>
 
-<p>Alternatively, then, you may well find it easy to perform the edits manually:</p>
+<p>Finally, <a href="https://blogs.apache.org/roller-ui/login.rol">log onto</a> the <a href="http://blogs.apache.org/isis/">Apache blog</a> and create a new post.  Copy-n-paste the above mailing list announcement should suffice.</p>
 
-<p>one option is to use a directory comparison tool such as Beyond Compare or WinMerge to compare the branch workspace with the trunk workspace.</p>
+<h2>Prepare for next iteration</h2>
 
-<p>Set the tool's filters to compare only pom.xml files, because these are the only files that the release process in the branch will have updated and require merging in.</p>
+<h3>Merge changes from branch back into <code>master</code> branch</h3>
 
-<p>or, you could use UNIX command line tools to perform an update.</p>
+<p>Because we release from a branch, the changes made in the branch (changes to <code>pom.xml</code> made by the <code>maven-release-plugin</code>, or any manual edits) should be merged back from the release branch back into the <code>master</code> branch:</p>
 
-<p>The following command will locate every pom.xml and perform in place updates, saving the original file to pom.xml.bak:</p>
+<pre>
+git checkout master         # update master with latest
+git pull
+git checkout release/x.y.z  # apply release commits onto master
+git rebase master
+git checkout master
+</pre>
 
-<p>find . -name pom.xml -exec sed -i.bak -e 's/0.1.0/0.2.0/g' {} \;
-The above works on Cygwin, too (though you may need to fully qualified the find command as /usr/bin/find).</p>
+<p>Next, do a sanity check that everything builds ok:</p>
 
-<p>12.8.2. Manually update versions to snapshot versions</p>
+<pre>
+rm -rf ~/.m2/org/apache/isis
+mvn clean install
+</pre>
 
-<p>After the release there are a couple of locations where the version must be bumped up manually to the next SNAPSHOT version.</p>
+<p>Finally, and run up an Isis application</p>
 
-<p>12.8.2.1. Update <version> in archetype resources</p>
+<h3>Update <code>STATUS</code> file</h3>
 
-<p>Open up the src/main/resources/archetype-resources/pom.xml in the [oai:quickstart-archetype] module, and update the <isis.version> property:</p>
+<p>The trunk holds a <a href="https://git-wip-us.apache.org/repos/asf/isis/repo?p=isis.git;a=blob_plain;f=STATUS;hb=HEAD">STATUS</a> file which is a brief summary of the current status of the project.  Update this file with details of the release.</p>
 
-<p><properties>
-    <isis.version>0.x.y-incubating-SNAPSHOT</isis.version>
-</properties>
-Then commit the pom.xml file.</p>
+<h3>Push changes</h3>
 
-<p>12.8.2.2. Update skin <version></p>
+<p>Finally, push the changes up to origin:</p>
 
-<p>Open up the src/site/site.xml in the [oai:isis] parent module, and update the <version>:</p>
+<pre>
+git fetch    # check no new commits on origin/master
+git push
+</pre>
 
-<p><skin>
-    ...
-    <version>0.x.y-incubating-SNAPSHOT</version>
-</skin>
-Then commit the site.xml file.</p>
+<!--
+TODO: may need to reinstate something like this
 
-<p>12.8.3. Update examples etc (source code outside of trunk/framework)</p>
 
-<p>Finally, remember that the version in the pom.xml for any modules that are not in the release - specifically those outside of trunk/framework, such as the examples and domain-libs modules - should be manually updated also.</p>
 
-<p>12.9. Update Isis Project Incusbation Status page</p>
+5157b21f613c5fc790fc01a3eee007a0
 
-<p>Update the Isis Project Incubation Status page to capture the new status of the project. In particular:</p>
 
-<p>The News section should document the new release</p>
 
-<p>The Project Info section should be reviewed and updated if required</p>
+After the release there are a couple of locations where the version must be bumped up manually to the next SNAPSHOT version.
 
-<p>Any links to missing Incubation status reports should be added</p>
 
-<p>The file is updated by checking out and editing the following file from SVN:</p>
 
-<p>https://svn.apache.org/repos/asf/incubator/public/trunk/site-author/projects/isis.xml</p>
+b5800400234f963bcc8493ac1e27e7e3
 
-<p>For additional information, see this guidance on the incubator website.</p>
 
-<h2>Post-Release</h2>
 
-<h3>Merge changes back to mainline</h3>
+Open up the `src/main/resources/archetype-resources/pom.xml` in the `oai:quickstart-archetype` module, and update the `<isis.version>` property:
 
-<p>TODO: to document.</p>
 
-<h3>Close All JIRA tickets for the release</h3>
 
-<p>All JIRA tickets for the release should be closed, or moved to future releases if not yet addressed.</p>
+c5d6ad9f5c2a893db0f0e70880c80128
 
-<h3>Update CMS site with release notes</h3>
 
-<p>For the completed release, use JIRA to generate release notes using the procedure documented <a href="http://confluence.atlassian.com/display/JIRA/Creating+Release+Notes">here</a>.  If any of the tickets closed are tasks/subtasks, then please edit the contents of the file to associate them back together again.</p>
 
-<p>Then, update the appropriate section of the CMS site:</p>
+Then commit the `pom.xml` file.
 
-<ul>
-<li>on the <a href="../documentation.html">documentation page</a> clearly indicate the latest version of the core or component just released</li>
-<li>a the core or component's about page, provide a link to release notes providing details of the contents of the release.</li>
-</ul>
 
-<!--
 
+027500d9d2332e08b1d2095ff2676505
 
-1974efeb3c28e0c118cbc388807db0fe
 
 
+Open up the `src/site/site.xml` in the `oai:isis` parent module, and update the `<version>`:
 
-TODO: some sort of process required here...
--->
 
-<h3>Update <code>STATUS</code> file</h3>
 
-<p>The trunk holds a <a href="https://git-wip-us.apache.org/repos/asf/isis/repo?p=isis.git;a=blob_plain;f=STATUS;hb=HEAD">STATUS</a> file which is a brief summary of the current status of the project.  Update this file with details of the release.</p>
+563f5a349d9dc130ac3fc2fe1467c795
+
+
+
+Then commit the `site.xml` file.
+-->
 
 <!--
-DEFUNCT
 
 
-8b3157882ae803c85a3af0dcacfbb4be
+1974efeb3c28e0c118cbc388807db0fe
 
 
 
-The website's `src/site/apt/downloads.apt.vm` file lists (what will be) the current release, along with any archived releases. Update this to reflect how things will be once the release is complete.
+TODO: some sort of process required here...
 -->
 
 

Modified: websites/staging/isis/trunk/content/contributors/release-snapshot.html
==============================================================================
--- websites/staging/isis/trunk/content/contributors/release-snapshot.html (original)
+++ websites/staging/isis/trunk/content/contributors/release-snapshot.html Tue Dec 11 20:06:26 2012
@@ -184,10 +184,14 @@
 </h1>
 </div>
 
-<p><div class="stub">
-This page is a work-in-progress; it needs to be updated with respect to the <a href="release-process.html">release process</a> for multiple releasable modules.
+<p>Apache Isis consists of a number of separately releasable modules; see the main <a href="release-process.html">release process</a> documentation for full details.  All the non-core components depend on the <code>core</code>, and use the <code>core</code>'s parent <code>pom.xml</code> as their parent pom.</p>
+
+<p><div class="note">
+Unless otherwise stated, you should assume that the steps described here are performed in the base directory of the module being released.
 </div></p>
 
+<h2>Prerequisites</h2>
+
 <p>Before you start, make sure you've defined the snapshots repo in your local <code>~/.m2/settings.xml</code> file:</p>
 
 <pre>
@@ -213,11 +217,27 @@ It is also possible to configure to use 
 
 <h3>Sanity Check</h3>
 
-<p>Before deploying the snapshot, perform a quick sanity check:</p>
+<p>Before deploying the snapshot, perform a quick sanity check.</p>
+
+<p>First, delete all Isis artifacts from your local Maven repo:</p>
+
+<pre>
+rm -rf ~/.m2/repository/org/apache/isis
+</pre>
+
+<p>Next, check that the releasable module builds independently. The build process depends on whether the artifact is of Isis core or of one of its components:</p>
 
 <ul>
-<li>builds ok (<code>mvn clean install</code>)</li>
-<li>an example app runs ok</li>
+<li>For Isis core, build using the <code>-o</code> offline flag:</p>
+
+<p><code>mvn clean install -o</code></p>
+
+<p>Confirm that the versions of the Isis artifacts now cached in your local repository are correct.</li>
+<li>For an Isis component, build without the offline flag; Maven should pull down the component's dependencies from the Maven central repo:</p>
+
+<p><code>mvn clean install</code></p>
+
+<p>Confirm that the versions of the Isis artifacts now cached in your local repository are correct (both those pulled down from Maven central repo, as well as those of the component built locally).</li>
 </ul>
 
 <h3>Deploy All Modules</h3>
@@ -233,7 +253,7 @@ mvn -D deploy=snapshot deploy
 <p>To confirm that they are present, browse to Apache's <a href="https://repository.apache.org">Nexus repository manager</a> and search for "isis".</p>
 
 <p><div class="note">
-The deploy process is liable will take a long time.  Go grab a bite of lunch.
+Depending on the module being released, the deploy process could take a long time.  Go grab a bite of lunch.
 </div></p>
 
 

Added: websites/staging/isis/trunk/content/contributors/resources/nexus-staging-1.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/contributors/resources/nexus-staging-1.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/contributors/resources/nexus-staging-2.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/contributors/resources/nexus-staging-2.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/contributors/resources/nexus-staging-3.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/contributors/resources/nexus-staging-3.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/isis/trunk/content/contributors/resources/nexus-staging-4.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/isis/trunk/content/contributors/resources/nexus-staging-4.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: websites/staging/isis/trunk/content/contributors/verifying-releases.html
==============================================================================
--- websites/staging/isis/trunk/content/contributors/verifying-releases.html (original)
+++ websites/staging/isis/trunk/content/contributors/verifying-releases.html Tue Dec 11 20:06:26 2012
@@ -184,42 +184,56 @@
 </h1>
 </div>
 
-<p>12.6.2. Other contributors cast their vote</p>
+<p>Whenever a committer announces a vote on a release on the <a href="../support.html">dev mailing list</a>, it is the responsibility of the project's PMC to cast their vote on the release.  Any other ASF member may also vote.</p>
 
-<p>It is the responsibility of other contributors (or any ASF member) to cast their vote on the release. This section provides some guidance on this process.</p>
+<p>This page provides some guidance on what a voter is expected to verify before casting their vote.</p>
 
-<p>12.6.2.1. Verifying the source release artifacts</p>
+<h2>Verifying the source release artifacts</h2>
 
 <p>Download both the ZIP and .ASC files from the location specified in the voting email. To verify that the signature is correct, use:</p>
 
-<p>gpg --verify isis-x.x.x-incubating.zip.asc isis-x.x.x-incubating.zip
-The ZIP file should then be unpacked.</p>
+<pre>
+gpg --verify isis-x.y.z.zip.asc isis-x.y.z.zip
+</pre>
 
-<p>Once unpacked, it is recommended that voters at a minimum sanity check the contents, as per Section 12.1.2, ÎéÎíSanity checkÎéÎí.</p>
+<h3>Building the source release artifacts</h3>
 
-<p>In particular, when building locally, confirm that the versions in your local repository (~/.m2/repository/org/apache/isis) are correct.</p>
+<p>Assuming the ZIP file verifies, it should be unpacked, and then the artifact built from source.</p>
 
-<p>12.6.2.2. Verifying the binary release artifacts</p>
+<p>First, delete all Isis artifacts from your local Maven repo:</p>
 
-<p>Optionally, voters can verify the binary releases (in the Maven staging repository). For this it is necessary to download each artifact from Nexus and its corresponding .ASC file. Since there are many such artifacts, we suggest you just choose one or two at random.</p>
+<pre>
+rm -rf ~/.m2/repository/org/apache/isis
+</pre>
 
-<p>12.6.2.3. Casting a Vote</p>
+<p>The build process depends on whether the artifact is of Isis core or of one of its components:</p>
 
-<p>When the above checks have been made (and any other checks that the voter thinks is relevant), they should cast a vote by replying to the email thread above.</p>
+<ul>
+<li>For Isis core, build using the <code>-o</code> offline flag:</p>
 
-<p>12.6.3. After the isis-dev vote</p>
+<p><code>mvn clean install -o</code></p>
 
-<p>Once the vote has completed, post the results to the isis-dev mailing list.</p>
+<p>Confirm that the versions of the Isis artifacts now cached in your local repository are correct.</li>
+<li>For an Isis component, build without the offline flag; Maven should pull down the component's dependencies from the Maven central repo:</p>
 
-<p>Use the following subject:</p>
+<p><code>mvn clean install</code></p>
 
-<p>[RESULT] [VOTE] Apache Isis release 0.x.x-incubating
-with the body:</p>
+<p>Confirm that the versions of the Isis artifacts now cached in your local repository are correct (both those pulled down from Maven central repo, as well as those of the component built locally).</li>
+</ul>
 
-<p>The vote has completed with the following result :</p>
+<p>The above steps are the bare minimum you should perform before casting a vote.  Ideally, you should also run an Isis application (eg one of the examples) against the new code (either against a new version of core, or configured to use the new version of the component).</p>
 
-<p>+1 (binding): &lt;<list of names>>
-  +1 (non binding): &lt;<list of names>></p>
+<h2>Verifying the binary release artifacts</h2>
+
+<p>Optionally, you can verify the binary releases (in the Maven staging repository).  For this it is necessary to download each artifact from Nexus and its corresponding .ASC file.  Since there are many such artifacts, just verify one or two at random.</p>
+
+<!--
+TODO: use the other creadur tools
+-->
+
+<h2>Casting a Vote</h2>
+
+<p>When you have made the above checks (and any other checks you think may be relevant), cast your vote by replying to the email thread on the mailing list.  If you are casting <code>-1</code>, please provide details of the problem(s) you have found.</p>
 
 
 

Modified: websites/staging/isis/trunk/content/documentation.html
==============================================================================
--- websites/staging/isis/trunk/content/documentation.html (original)
+++ websites/staging/isis/trunk/content/documentation.html Tue Dec 11 20:06:26 2012
@@ -239,11 +239,9 @@
 
 <ul>
 <li><a href="contributors/updating-the-cms-site.html">Updating the CMS site</a></li>
-<li><a href="contributors/release-snapshot.html">Release snapshot</a> [wip]</li>
-<li><a href="contributors/release-process.html">Release process</a> [wip]
-<!--</li>
-<li><a href="contributors/verifying-releases.html">Verifying releases</a> [wip]
---></li>
+<li><a href="contributors/release-snapshot.html">Release snapshot</a></li>
+<li><a href="contributors/release-process.html">Release process</a></li>
+<li><a href="contributors/verifying-releases.html">Verifying releases</a></li>
 <li><a href="contributors/key-generation.html">Key Generation</a>
 </div>
 </div>