You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/01/08 07:53:29 UTC

[25/51] [partial] cayenne-website git commit: Initial commit

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/dev/index.html
----------------------------------------------------------------------
diff --git a/dev/index.html b/dev/index.html
new file mode 100644
index 0000000..91bf970
--- /dev/null
+++ b/dev/index.html
@@ -0,0 +1,253 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script src="http://cayenne.apache.org/js/bundle-bcaaf59313.js"></script>
+        <title>Developer Guide &middot; Apache Cayenne</title>
+    </head>
+    <body> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org">Apache Homepage</a>
+            <a class="dropdown-item" href="http://www.apache.org/licenses/">License</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+            <a class="dropdown-item" href="http://www.apache.org/security/">Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/">
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" />
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://github.com/apache/cayenne">
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" /><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://twitter.com/ApacheCayenne">
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+    <main class="container  py-5">
+        <section>
+            <div class="row">
+                <div class="col text-center">
+                    <h1>Developer Guide</h1>
+                    
+                    <div class="lead"><p>This is the most up-to-date document explaining internal Cayenne
+development procedures, e.g. how to obtain the latest source code, compile
+it, run unit tests, etc. &ldquo;Developers&rdquo; in this context are people who
+contribute code to Cayenne. If you downloaded Cayenne to use it in a Java
+application and do not intend to submit patches or extension, this
+information is probably of no use to you. Consult Cayenne user docs instead.</p>
+</div>
+                    
+                    <ul class="list-group list-unstyled  m-auto pt-2  mw-500px">
+                        
+                        <li class="list-group-item list-group-item-action  border-0">
+                            <a class="d-flex justify-content-center   mw-100" href="http://cayenne.apache.org/dev/how_development_happens.html">How development happens</a>
+                        </li>
+                        
+                        <li class="list-group-item list-group-item-action  border-0">
+                            <a class="d-flex justify-content-center   mw-100" href="http://cayenne.apache.org/dev/code-repository.html">Code Repository</a>
+                        </li>
+                        
+                        <li class="list-group-item list-group-item-action  border-0">
+                            <a class="d-flex justify-content-center   mw-100" href="http://cayenne.apache.org/dev/eclipse.html">Working with Cayenne code in Eclipse</a>
+                        </li>
+                        
+                        <li class="list-group-item list-group-item-action  border-0">
+                            <a class="d-flex justify-content-center   mw-100" href="http://cayenne.apache.org/dev/building-cayenne.html">Building Cayenne</a>
+                        </li>
+                        
+                        <li class="list-group-item list-group-item-action  border-0">
+                            <a class="d-flex justify-content-center   mw-100" href="http://cayenne.apache.org/dev/release-guide.html">Release Guide</a>
+                        </li>
+                        
+                        <li class="list-group-item list-group-item-action  border-0">
+                            <a class="d-flex justify-content-center   mw-100" href="http://cayenne.apache.org/dev/running-unit-tests.html">Running Unit Tests</a>
+                        </li>
+                        
+                        <li class="list-group-item list-group-item-action  border-0">
+                            <a class="d-flex justify-content-center   mw-100" href="http://cayenne.apache.org/dev/cms-guide.html">Guide to Cayenne CMS</a>
+                        </li>
+                        
+                    </ul>
+                </div>
+            </div>
+        </section>
+    </main>
+
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="https://issues.apache.org/jira/browse/CAY">Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" href="http://cayenne.apache.org/news">
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation. <a href="http://cayenne.apache.org/privacy-policy.html">Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/dev/release-guide.html
----------------------------------------------------------------------
diff --git a/dev/release-guide.html b/dev/release-guide.html
new file mode 100644
index 0000000..5e5d624
--- /dev/null
+++ b/dev/release-guide.html
@@ -0,0 +1,434 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script src="http://cayenne.apache.org/js/bundle-bcaaf59313.js"></script>
+        <title>Release Guide &middot; Apache Cayenne</title>
+    </head>
+    <body> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org">Apache Homepage</a>
+            <a class="dropdown-item" href="http://www.apache.org/licenses/">License</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+            <a class="dropdown-item" href="http://www.apache.org/security/">Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/">
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" />
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://github.com/apache/cayenne">
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" /><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://twitter.com/ApacheCayenne">
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+
+
+    <main class="container  py-5">
+        
+                <section>
+                    <article>
+                        <h1 class="text-center">Release Guide</h1>
+                        
+
+<p>This page describes the steps that a Cayenne Release Manager needs to
+perform to prepare a release. The specifics of Cayenne release process is
+that we are publishing both downloadable assemblies and Maven artifacts, so
+we have to build and publish things twice. Both forms of Cayenne release
+are also available for evaluation during the vote.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<ul>
+<li>A release manager must have his public key appended to the KEYS file
+checked in to source control and the key published on one of the public key servers.
+More info can be found at <a href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/dev/release-signing.html</a></li>
+<li>Make sure &ldquo;apache-releases&rdquo; repository is configured in
+<em>~/.m2/settings.xml</em> and an appropriate password is setup. See <a href="http://www.apache.org/dev/publishing-maven-artifacts.html">this page</a>
+for details.</li>
+<li>As Cayenne has modules which require Java 1.8, you should use Java 1.8 to perform the release.</li>
+</ul>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="preparing-sources">Preparing Sources</h2>
+
+<ul>
+<li>Edit UPGRADE-NOTES.txt if there is anything to add there.</li>
+
+<li><p>Check Sources Compliance with <a href="http://creadur.apache.org/rat/">RAT</a>. To run RAT,
+download the distro and unpack it somewhere. You can run it directly, or use a convenience script available at the root of Cayenne
+source. Then read the report and fix any issues.</p>
+
+<pre><code>cd cayenne
+./rat.sh ~/Desktop/apache-rat-0.9/apache-rat-0.9.jar  &gt; report.txt
+</code></pre></li>
+</ul>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+    
+
+<h2 id="tagging-the-repo-and-releasing-maven-artifacts">Tagging the Repo and Releasing Maven Artifacts</h2>
+
+<ul>
+<li><p>Create a Git tag and Create Maven Staging Repository:</p>
+
+<pre><code>cd cayenne
+mvn release:clean
+mvn release:prepare -DpreparationGoals=&quot;clean install&quot; -DautoVersionSubmodules=true
+mvn release:perform -P gpg [-Dgpg.keyname=B8AF90BF]
+</code></pre></li>
+
+<li><p>Close the staging repo. Login to <a href="https://repository.apache.org/">https://repository.apache.org/</a> with
+Apache ID/password, go to &ldquo;Staging Repositories&rdquo; page. Select a staging
+repository that was just created during &ldquo;<em>mvn release:perform</em>&rdquo;, click
+&ldquo;Close&rdquo;. Take a note of the freshly created staging repository URL. It will
+be used by the people voting on Cayenne. It may look like this:
+<a href="https://repository.apache.org/content/repositories/orgapachecayenne-052/">https://repository.apache.org/content/repositories/orgapachecayenne-052/</a></p></li>
+</ul>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="releasing-downloadable-assemblies">Releasing Downloadable Assemblies</h2>
+
+<ul>
+<li><p>Switch to the release tag created above.</p></li>
+
+<li><p>Build source package (it will be the basis for the binary packages built
+in the next steps) :</p>
+
+<pre><code>mvn clean install -Passembly,src
+</code></pre></li>
+
+<li><p>Build binary assemblies. Take <em>&ldquo;assembly/target/cayenne-XXX-src.tar.gz&rdquo;</em>, unpack it somewhere, and
+perform binary builds from the unpacked directory (NOT FROM GIT CHECKOUT). <em>Release manager may skip
+running unit tests from here, as shown
+below, although release evaluators should use the src assembly for <a href="running-unit-tests.html">unit testing</a>
+and other kinds of testing.</em></p>
+
+<pre><code>mvn clean install -Passembly,generic -Dmaven.test.skip=true
+
+# You will need to do this on OS X, and use at least Java 1.8
+mvn clean install -Passembly,mac -Dmaven.test.skip=true
+
+# You will need to do this on Windows
+mvn clean install -Passembly,windows -Dmaven.test.skip=true
+</code></pre>
+
+<p>For further details on a general Cayenne build process check <a href="building-cayenne.html">this page</a>.</p></li>
+
+<li><p>Signing assemblies</p></li>
+</ul>
+
+<p>You can find additional information in official Apache <a href="http://www.apache.org/dev/release-distribution">Release Distribution policy</a>
+and on <a href="http://www.apache.org/dev/release-signing.html">this page</a>.
+Release manager key must be in the project KEYS file. Signing is a manual
+procedure not included in the Ant or Maven script. Here is how it might
+work (&ldquo;-u&rdquo; option can be omitted if you have only one GPG key):</p>
+
+<pre><code>    gpg -a -b -u B8AF90BF cayenne-X.X.tar.gz
+    gpg --print-md MD5 cayenne-X.X.tar.gz &gt; cayenne-X.X.tar.gz.md5
+    gpg --print-md SHA512 cayenne-X.X.tar.gz &gt; cayenne-X.X.tar.gz.sha512
+</code></pre>
+
+<ul>
+<li>Assemblies, signature and checksum files are committed to the special SVN repo
+used for staging development releases: <a href="https://dist.apache.org/repos/dist/dev/cayenne/">https://dist.apache.org/repos/dist/dev/cayenne/</a>. Use a separate folder for each release. For more info on this repository check <a href="http://apache.org/dev/release.html#upload-ci">the infrastructure docs</a>.</li>
+</ul>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="voting">Voting</h2>
+
+<ul>
+<li>The vote is started on the dev mailing list.</li>
+<li>All committers are encouraged to vote on releases. Committer votes will
+be considered by the PMC (particularly -1 votes will be discussed) when
+making the final decision, but are not binding.</li>
+<li>Each PMC member will do the following before voting on a release:
+a. download the artifacts
+b. satisfy themselves that the source matches the appropriate svn tag.
+This can be done by diffing the source against a recent svn checkout.
+c. satisfy themselves that the Apache licensing requirements are met (this
+will usually be achieved by ensuring that all notices are in place and
+verifying that the source matches SVN since all commits to SVN are possible
+only if the committer has a CLA on file).
+d. satisfy themselves that the binary distribution is sane and passes
+basic usability tests. For example, that the Cayenne modeler runs and the
+main jar passes some basic tests.
+e. satisfy themselves that the source passes agreed unit tests (either by
+running them manually or verifying that Hudson has run those tests against
+the equivalent source).</li>
+</ul>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="publishing-the-release">Publishing the Release</h2>
+
+<ul>
+<li><p>Publish Maven artifacts. Go back to <a href="https://repository.apache.org/">https://repository.apache.org/</a>,
+select the staging repo and click &ldquo;Release&rdquo;.</p></li>
+
+<li><p>Publish downloadable assemblies by moving them to the release repo:</p>
+
+<pre><code>$ svn mv https://dist.apache.org/repos/dist/dev/cayenne/X.X \
+     https://dist.apache.org/repos/dist/release/cayenne/
+</code></pre></li>
+</ul>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="after-the-release">After the release</h2>
+
+<ul>
+<li><p>Delete a previous version of Cayenne release of the same branch from the dist server.
+It should be already <a href="http://www.apache.org/dev/release.html#when-to-archive">archived by Apache</a>. Do this with an svn command like this:</p>
+
+<pre><code>$ svn rm https://dist.apache.org/repos/dist/release/cayenne/Y.Y
+</code></pre></li>
+
+<li><p><a href="https://issues.apache.org/jira/plugins/servlet/project-config/CAY/versions">Tell Jira</a>
+that the release has been released. Ensure there is another milestone or
+release target already created for further work, but this was probably
+already done when a branch was created in preparation for release.</p></li>
+
+<li><p>Update the <a href="http://svn.apache.org/repos/asf/cayenne/site/cms/trunk/content/doap/cayenne.rdf">DOAP file</a>
+which will update
+<a href="https://projects.apache.org/project.html?cayenne">https://projects.apache.org/project.html?cayenne</a> automatically.</p></li>
+
+<li><p>If the release is significant, consider press releases to relevant news
+sources</p></li>
+
+<li><p>Review the main website pages (front page and why-cayenne especially) to
+add any new features</p></li>
+
+<li><p>Add a news item to the Cayenne web site</p></li>
+
+<li><p>Send an email to the Cayenne user and developer lists</p></li>
+
+<li><p>Send a notification email to announceATapache.org</p></li>
+
+<li><p>Update <a href="http://en.wikipedia.org/wiki/Apache_Cayenne">http://en.wikipedia.org/wiki/Apache_Cayenne</a></p></li>
+</ul>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="reference">Reference:</h2>
+
+<ul>
+<li>Apache release publishing:
+<a href="http://www.apache.org/dev/release-publishing.html">http://www.apache.org/dev/release-publishing.html</a></li>
+<li>Apache Maven release publishing:
+<a href="http://www.apache.org/dev/publishing-maven-artifacts.html">http://www.apache.org/dev/publishing-maven-artifacts.html</a></li>
+<li>ARAT: <a href="http://code.google.com/p/arat/">http://code.google.com/p/arat/</a></li>
+<li>Signing Releases: <a href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/dev/release-signing.html</a></li>
+</ul>
+
+                    </article>
+                </section>
+            
+        
+        <div class="pb-3"></div>
+        <div class="row">
+            <div class="col-12 col-md-6  text-center text-md-left">
+                
+                <a class="btn btn-link" href='/dev/building-cayenne.html'>
+                    <span class="d-block d-md-none  text-muted">Prev: </span>
+                    <i class="small  fa fa-chevron-left  mr-3l2  d-none d-md-inline"></i>
+                    Building Cayenne
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" href='/dev/running-unit-tests.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Running Unit Tests
+                    <i class="small  fa fa-chevron-right  ml-3l2  d-none d-md-inline"></i>
+                </a>
+                
+            </div>
+        </div>
+    </main>
+
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="https://issues.apache.org/jira/browse/CAY">Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" href="http://cayenne.apache.org/news">
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation. <a href="http://cayenne.apache.org/privacy-policy.html">Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/dev/running-unit-tests.html
----------------------------------------------------------------------
diff --git a/dev/running-unit-tests.html b/dev/running-unit-tests.html
new file mode 100644
index 0000000..4ebd8e2
--- /dev/null
+++ b/dev/running-unit-tests.html
@@ -0,0 +1,414 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script src="http://cayenne.apache.org/js/bundle-bcaaf59313.js"></script>
+        <title>Running Unit Tests &middot; Apache Cayenne</title>
+    </head>
+    <body> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org">Apache Homepage</a>
+            <a class="dropdown-item" href="http://www.apache.org/licenses/">License</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+            <a class="dropdown-item" href="http://www.apache.org/security/">Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/">
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" />
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://github.com/apache/cayenne">
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" /><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://twitter.com/ApacheCayenne">
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+
+
+    <main class="container  py-5">
+        
+                <section>
+                    <article>
+                        <h1 class="text-center">Running Unit Tests</h1>
+                        
+
+<p>Cayenne provides a comprehensive suite of unit tests. To execute unit tests
+you must first get Cayenne from Git, install JDK 1.7 and obtain the latest
+Maven.</p>
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<p>Maven <a href="/dev/building-cayenne.html">build prerequisites and recommended settings</a> apply here.</p>
+
+<h2 id="running-against-embedded-hsqldb">Running Against Embedded HSQLDB</h2>
+
+<p>No extra setup is required. Just run Maven:</p>
+
+<pre><code>$ cd cayenne
+$ mvn install
+</code></pre>
+
+<p>or</p>
+
+<pre><code>$ cd cayenne
+$ mvn clean verify
+</code></pre>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="running-against-in-memory-database">Running Against In-memory Database</h2>
+
+<p>Besides HSQLDB mentioned above Cayenne has preconfigured connection information for
+following databases that support in-memory mode:</p>
+
+<ul>
+<li>derby</li>
+<li>h2</li>
+<li>sqlite</li>
+</ul>
+
+<p>For this databases you can run tests without any additional configuration by only specifying
+<em>cayenneTestConnection</em> property that will activate required Maven profile:</p>
+
+<pre><code>$ mvn verify -DcayenneTestConnection=derby    
+</code></pre>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="running-against-database-in-docker-only-on-linux">Running Against Database in Docker (only on Linux)</h2>
+
+<p>Another handy option to run Cayenne tests is with preconfigured docker profiles.
+The only thing you need is to install Docker.</p>
+
+<p>You can run tests with following <em>cayenneTestConnection</em> properties:</p>
+
+<pre><code>$ mvn verify -DcayenneTestConnection=mysql-docker
+</code></pre>
+
+<p>or</p>
+
+<pre><code>$ mvn verify -DcayenneTestConnection=postgres-docker    
+</code></pre>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h2 id="running-against-a-specific-database">Running Against a Specific Database</h2>
+
+<p>Final option to run tests against any supported database is with manual configuration.</p>
+
+<div class="pb-1l2"><!-- gap .5rem --></div>
+
+<h5 id="step-1-install-jdbc-driver-jars-in-a-local-maven-repo">Step 1. Install JDBC Driver Jars in a Local Maven Repo</h5>
+
+<p>Most commercial drivers are not present in the public Maven repositories.
+So they have to be installed by the tester locally. The group and artifact
+ids are arbitrarily assigned in the main Cayenne POM, so users must follow
+the POM or the examples below.</p>
+
+<p><strong>FrontBase:</strong></p>
+
+<pre><code>$ mvn install:install-file -Dfile=frontbasejdbc.jar -DgroupId=com.frontbase \
+       -DartifactId=frontbase-driver -Dversion=4.1 -Dpackaging=jar -DgeneratePom=true
+</code></pre>
+
+<p><strong>OpenBase:</strong></p>
+
+<pre><code>$ mvn install:install-file -Dfile=OpenBaseJDBC.jar -DgroupId=com.openbase \
+       -DartifactId=openbase-driver -Dversion=9 -Dpackaging=jar -DgeneratePom=true
+</code></pre>
+
+<p><strong>Oracle:</strong></p>
+
+<pre><code>$ mvn install:install-file -Dfile=ojdbc5.jar -DgroupId=com.oracle \
+       -DartifactId=oracle-driver -Dversion=11 -Dpackaging=jar -DgeneratePom=true
+</code></pre>
+
+<p><strong>SQLServer:</strong></p>
+
+<pre><code>$ mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft \
+       -DartifactId=sqlserver-driver -Dversion=4.0 -Dpackaging=jar -DgeneratePom=true
+</code></pre>
+
+<p><strong>Sybase:</strong></p>
+
+<pre><code>$ mvn install:install-file -Dfile=jconn3.jar -DgroupId=com.sybase \
+       -DartifactId=sybase-driver -Dversion=12 -Dpackaging=jar -DgeneratePom=true
+</code></pre>
+
+<div class="pb-3l2"><!-- gap 1.5rem --></div>
+
+<h5 id="step-2-run-tests-against-configured-data-source">Step 2. Run Tests Against Configured Data Source</h5>
+
+<p>Database type and connection information can be specified either on the
+command line or via a configuration file. First let&rsquo;s look at the command
+line options:</p>
+
+<pre><code>$ mvn verify -DcayenneTestConnection=&lt;profile_name&gt; \
+   -DcayenneAdapter=org.apache.cayenne.dba.mysql.MySQLAdapter \
+   -DcayenneJdbcUsername=myuser \
+   -DcayenneJdbcPassword=mypassword \
+   -DcayenneJdbcUrl=jdbc:mysql://localhost/cayenne \
+   -DcayenneJdbcDriver=com.mysql.jdbc.Driver
+</code></pre>
+
+<p><em>cayenneTestConnection</em> is a property activating a DB-specific Maven
+profile. <em><profile_name></em> can be one of:</p>
+
+<ul>
+<li>db2</li>
+<li>derby</li>
+<li>firebird</li>
+<li>frontbase</li>
+<li>h2</li>
+<li>ingres</li>
+<li>mysql</li>
+<li>openbase</li>
+<li>oracle</li>
+<li>postgres</li>
+<li>sqlite</li>
+<li>sqlserver</li>
+<li>sybase</li>
+</ul>
+
+<p>Another way to store this information permanently for each profile is to
+create a directory <em>$HOME/.cayenne/</em> and place a file called
+<em>connection.properties</em> in this directory. File contents should be
+similar to this example:</p>
+
+<pre><code>mysql.cayenne.adapter = org.apache.cayenne.dba.mysql.MySQLAdapter
+mysql.jdbc.username = someuser
+mysql.jdbc.password = somepasswd
+mysql.jdbc.url = jdbc:mysql://mysql.host:3306/test_db?useUnicode=true&amp;characterEncoding=UTF-8&amp;generateSimpleParameterMetadata=true
+mysql.jdbc.driver = com.mysql.jdbc.Driver
+
+oracle.cayenne.adapter = org.apache.cayenne.dba.oracle.OracleAdapter
+oracle.jdbc.username = someuser
+oracle.jdbc.password = somepasswd
+oracle.jdbc.url = jdbc:oracle:thin:@//oracle.host:1521/XE
+oracle.jdbc.driver = oracle.jdbc.driver.OracleDriver
+
+postgres.adapter = org.apache.cayenne.dba.postgres.PostgresAdapter
+postgres.jdbc.username = someuser
+postgres.jdbc.password = somepasswd
+postgres.jdbc.url = jdbc:postgresql://postgresql.host:5432/test_db
+postgres.jdbc.driver = org.postgresql.Driver
+
+db2.adapter = org.apache.cayenne.dba.db2.DB2Adapter
+db2.jdbc.username = someuser
+db2.jdbc.password = somepasswd
+db2.jdbc.url = jdbc:db2://db2.host:50000/test_db
+db2.jdbc.driver = com.ibm.db2.jcc.DB2Driver
+</code></pre>
+
+<p>Each property starts with the Maven profile name (&ldquo;mysql&rdquo; and &ldquo;oracle&rdquo; in
+the example above). Note that in this case you should still use
+<em>cayenneTestConnection</em>. E.g.:</p>
+
+<pre><code>$ mvn verify -DcayenneTestConnection=mysql
+</code></pre>
+
+                    </article>
+                </section>
+            
+        
+        <div class="pb-3"></div>
+        <div class="row">
+            <div class="col-12 col-md-6  text-center text-md-left">
+                
+                <a class="btn btn-link" href='/dev/release-guide.html'>
+                    <span class="d-block d-md-none  text-muted">Prev: </span>
+                    <i class="small  fa fa-chevron-left  mr-3l2  d-none d-md-inline"></i>
+                    Release Guide
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" href='/dev/cms-guide.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Guide to Cayenne CMS
+                    <i class="small  fa fa-chevron-right  ml-3l2  d-none d-md-inline"></i>
+                </a>
+                
+            </div>
+        </div>
+    </main>
+
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="https://issues.apache.org/jira/browse/CAY">Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" href="http://cayenne.apache.org/news">
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation. <a href="http://cayenne.apache.org/privacy-policy.html">Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/doap/cayenne.rdf
----------------------------------------------------------------------
diff --git a/doap/cayenne.rdf b/doap/cayenne.rdf
new file mode 100644
index 0000000..1845243
--- /dev/null
+++ b/doap/cayenne.rdf
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"?>
+<rdf:RDF xml:lang="en"
+         xmlns="http://usefulinc.com/ns/doap#"
+         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+         xmlns:asfext="http://projects.apache.org/ns/asfext#"
+         xmlns:foaf="http://xmlns.com/foaf/0.1/">
+    <!--
+        Licensed to the Apache Software Foundation (ASF) under one or more
+        contributor license agreements.  See the NOTICE file distributed with
+        this work for additional information regarding copyright ownership.
+        The ASF licenses this file to You under the Apache License, Version 2.0
+        (the "License"); you may not use this file except in compliance with
+        the License.  You may obtain a copy of the License at
+
+             http://www.apache.org/licenses/LICENSE-2.0
+
+        Unless required by applicable law or agreed to in writing, software
+        distributed under the License is distributed on an "AS IS" BASIS,
+        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+        See the License for the specific language governing permissions and
+        limitations under the License.
+    -->
+    <Project rdf:about="http://cayenne.apache.org">
+        <created>2007-01-07</created>
+        <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
+        <name>Apache Cayenne</name>
+        <homepage rdf:resource="http://cayenne.apache.org" />
+        <asfext:pmc rdf:resource="http://cayenne.apache.org" />
+        <shortdesc>User-friendly Java ORM with tools</shortdesc>
+        <description>Cayenne is a powerful, full-featured, opensource framework created for developers working with relational databases. it seamlessly maps any relational database to Java objects, reducing development time and adding considerable functionality to any application which requires a database. Developers using Cayenne will be able to concentrate on the core business requirements and the data model instead of the SQL details. The application can then be easily moved to any JDBC-capable database. In addition to management of persistent Java objects mapped to relational databases, Cayenne provides a plethora of features including single method call queries and updates (including atomic updates of all modified objects), seamless integration of multiple databases into a single virtual data source, three tier persistence with caching on the remote client, paging of results, record locking, and many more features.</description>
+        <bug-database rdf:resource="http://issues.apache.org/jira/browse/CAY" />
+        <mailing-list rdf:resource="http://cayenne.apache.org/mailing-lists.html" />
+        <download-page rdf:resource="http://cayenne.apache.org/download.html" />
+        <programming-language>Java</programming-language>
+        <category rdf:resource="http://projects.apache.org/category/database" />
+        <category rdf:resource="http://projects.apache.org/category/library" />
+        <category rdf:resource="http://projects.apache.org/category/network-server" />
+        <category rdf:resource="http://projects.apache.org/category/network-client" />
+        <category rdf:resource="http://projects.apache.org/category/xml" />
+        <category rdf:resource="http://projects.apache.org/category/web-framework" />
+        <release>
+            <Version>
+                <name>Alpha</name>
+                <created>2017-10-13</created>
+                <revision>4.1.M1</revision>
+            </Version>
+        </release><release>
+            <Version>
+                <name>Beta</name>
+                <created>2017-10-6</created>
+                <revision>4.0.B2</revision>
+            </Version>
+        </release><release>
+            <Version>
+                <name>Stable</name>
+                <created>2017-11-20</created>
+                <revision>3.1.2</revision>
+            </Version>
+        </release><release>
+            <Version>
+                <name>Legacy</name>
+                <created>2011-06-21</created>
+                <revision>3.0.2</revision>
+            </Version>
+        </release><release>
+            <Version>
+                <name>Legacy</name>
+                <created>2007-10-12</created>
+                <revision>2.0.4</revision>
+            </Version>
+        </release><release>
+            <Version>
+                <name>Legacy</name>
+                <created>2007-10-12</created>
+                <revision>1.2.4</revision>
+            </Version>
+        </release>
+        <repository>
+            <GitRepository>
+                <location rdf:resource="https://github.com/apache/cayenne"/>
+                <browse rdf:resource="https://github.com/apache/cayenne"/>
+            </GitRepository>
+        </repository>
+        <maintainer>
+            <foaf:Person>
+                <foaf:name>Ari Maniatis</foaf:name>
+                <foaf:mbox rdf:resource="mailto:ari@ish.com.au"/>
+            </foaf:Person>
+        </maintainer>
+    </Project>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/docs/1.2/accessing-pk-and-fk-values.html
----------------------------------------------------------------------
diff --git a/docs/1.2/accessing-pk-and-fk-values.html b/docs/1.2/accessing-pk-and-fk-values.html
new file mode 100644
index 0000000..42531ad
--- /dev/null
+++ b/docs/1.2/accessing-pk-and-fk-values.html
@@ -0,0 +1,349 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script src="http://cayenne.apache.org/js/bundle-bcaaf59313.js"></script>
+        <title>Accessing PK and FK values &middot; Apache Cayenne</title>
+    </head>
+    <body data-spy="scroll" data-target=".toc-side" class="cd-head"> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org">Apache Homepage</a>
+            <a class="dropdown-item" href="http://www.apache.org/licenses/">License</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+            <a class="dropdown-item" href="http://www.apache.org/security/">Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/">
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" />
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://github.com/apache/cayenne">
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" /><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://twitter.com/ApacheCayenne">
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+
+
+
+
+
+
+<main>
+    <div class="cd-top-sidebar  bb">
+        <div class="container">
+            <div class="row no-gutters">
+                
+                <div class="col-12 col-lg-4 col-xl-3  br  cd-sidebar1">
+                    <ul class="nav" role="tablist">
+                        <li class="nav-item dropdown mw-100">
+                            <a class="nav-link dropdown-toggle text-truncate" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
+                                Cayenne Version 1.2
+                            </a>
+                            <div class="dropdown-menu">
+                                <a class="dropdown-item" href="/docs/4.1/cayenne-guide/">Version 4.1 (Alpha)</a><a class="dropdown-item" href="/docs/4.0/cayenne-guide/">Version 4.0 (Beta)</a><a class="dropdown-item" href="/docs/3.1/getting-started-guide/">Version 3.1 (Stable)</a><a class="dropdown-item" href="/docs/3.0/cayenne-guide.html">Version 3.0 (Legacy)</a><a class="dropdown-item" href="/docs/2.0/user-guide.html">Version 2.0 (Legacy)</a><a class="dropdown-item" href="/docs/1.2/user-guide.html">Version 1.2 (Legacy)</a>
+                            </div>
+                        </li>
+                    </ul>
+                </div>
+                <div class="col-12 col-lg-8 col-xl-9">  </div>
+            </div>
+        </div>
+    </div>
+    <div class="container">
+        <div class="row no-gutters  ">
+            <div class="col-12 col-lg-4 col-xl-3  br  py-2  bg-gray-100  cd-sidebar">
+                <div class="tab-content" id="cd-docs-nav">
+                    
+                    <div class="cd-toc-item">
+                        
+                            <a class="cd-toc-link" href="/docs/1.2/user-guide.html">User Guide</a>
+                        
+                    </div>
+                    
+                    <div class="cd-toc-item">
+                        
+                            <a class="cd-toc-link" href="/docs/1.2/modeler-guide.html">Modeler Guide</a>
+                        
+                    </div>
+                    
+                    <div class="cd-toc-item">
+                        
+                            <a class="cd-toc-link" href="/docs/1.2/remote-object-persistence-guide.html">Remote Object Persistence Guide</a>
+                        
+                    </div>
+                    
+                    <div class="cd-toc-item">
+                        <a class="cd-toc-link" href="/docs/1.2/api/">JavaDoc</a>
+                    </div>
+                </div>
+            </div>
+            
+            <div class="col-12 col-lg-8 col-xl-9  py-3 pl-lg-5  cd-content">
+
+            
+            <article>
+                <section>
+                    <P>Normally it is not advisable to map primary and foreign key columns (PK and FK) as Java class properties (ObjAttributes). When reverse engineering of the database is done using CayenneModeler, produced mapping will reflect that - PKs and FKs will not be included in the Java class. However sometimes an application requires access to these values.</P>
+
+<DIV class="panelMacro"><TABLE class="infoMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><img src="/docs/1.2/images/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>For generic and easy API to obtain an object primary key or to find an object from a known PK, skip to the next chapter on DataObjectUtils class.</TD></TR></TABLE></DIV>
+
+<P>Cayenne provides a generic way to do access primary and foreign keys by creating custom get* methods in the DataObject subclass. Lets take a Painting class as an example. The following code is generated by CayenneModeler:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java"><SPAN class="code-keyword">package</SPAN> org.objectstyle.art;
+
+<SPAN class="code-keyword">public</SPAN> class Painting <SPAN class="code-keyword">extends</SPAN> org.objectstyle.art.auto._Painting {
+
+}
+</PRE>
+</DIV></DIV>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java"><SPAN class="code-keyword">package</SPAN> org.objectstyle.art.auto;
+
+/** <SPAN class="code-object">Class</SPAN> _Painting was generated by Cayenne.
+  * It is probably a good idea to avoid changing <SPAN class="code-keyword">this</SPAN> class manually, 
+  * since it may be overwritten next time code is regenerated. 
+  * If you need to make any customizations, please use subclass. 
+  */
+<SPAN class="code-keyword">public</SPAN> class _Painting <SPAN class="code-keyword">extends</SPAN> org.objectstyle.art.ArtDataObject {
+
+    <SPAN class="code-keyword">public</SPAN> <SPAN class="code-keyword">static</SPAN> <SPAN class="code-keyword">final</SPAN> <SPAN class="code-object">String</SPAN> ESTIMATED_PRICE_PROPERTY = <SPAN class="code-quote">&quot;estimatedPrice&quot;</SPAN>;
+    <SPAN class="code-keyword">public</SPAN> <SPAN class="code-keyword">static</SPAN> <SPAN class="code-keyword">final</SPAN> <SPAN class="code-object">String</SPAN> PAINTING_TITLE_PROPERTY = <SPAN class="code-quote">&quot;paintingTitle&quot;</SPAN>;
+    <SPAN class="code-keyword">public</SPAN> <SPAN class="code-keyword">static</SPAN> <SPAN class="code-keyword">final</SPAN> <SPAN class="code-object">String</SPAN> TO_ARTIST_PROPERTY = <SPAN class="code-quote">&quot;toArtist&quot;</SPAN>;
+    <SPAN class="code-keyword">public</SPAN> <SPAN class="code-keyword">static</SPAN> <SPAN class="code-keyword">final</SPAN> <SPAN class="code-object">String</SPAN> TO_GALLERY_PROPERTY = <SPAN class="code-quote">&quot;toGallery&quot;</SPAN>;
+    <SPAN class="code-keyword">public</SPAN> <SPAN class="code-keyword">static</SPAN> <SPAN class="code-keyword">final</SPAN> <SPAN class="code-object">String</SPAN> TO_PAINTING_INFO_PROPERTY = <SPAN class="code-quote">&quot;toPaintingInfo&quot;</SPAN>;
+
+    <SPAN class="code-keyword">public</SPAN> <SPAN class="code-keyword">static</SPAN> <SPAN class="code-keyword">final</SPAN> <SPAN class="code-object">String</SPAN> PAINTING_ID_PK_COLUMN = <SPAN class="code-quote">&quot;PAINTING_ID&quot;</SPAN>;
+
+    <SPAN class="code-keyword">public</SPAN> void setEstimatedPrice(java.math.BigDecimal estimatedPrice) {
+        writeProperty(<SPAN class="code-quote">&quot;estimatedPrice&quot;</SPAN>, estimatedPrice);
+    }
+    <SPAN class="code-keyword">public</SPAN> java.math.BigDecimal getEstimatedPrice() {
+        <SPAN class="code-keyword">return</SPAN> (java.math.BigDecimal)readProperty(<SPAN class="code-quote">&quot;estimatedPrice&quot;</SPAN>);
+    }
+    
+    
+    <SPAN class="code-keyword">public</SPAN> void setPaintingTitle(<SPAN class="code-object">String</SPAN> paintingTitle) {
+        writeProperty(<SPAN class="code-quote">&quot;paintingTitle&quot;</SPAN>, paintingTitle);
+    }
+    <SPAN class="code-keyword">public</SPAN> <SPAN class="code-object">String</SPAN> getPaintingTitle() {
+        <SPAN class="code-keyword">return</SPAN> (<SPAN class="code-object">String</SPAN>)readProperty(<SPAN class="code-quote">&quot;paintingTitle&quot;</SPAN>);
+    }
+...
+}
+</PRE>
+</DIV></DIV>
+
+<P>The following custom methods should be added to the Painting class to access the values of ARTIST_ID and PAINTING_ID:</P>
+
+<DIV class="panelMacro"><TABLE class="infoMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><img src="/docs/1.2/images/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>If you perform class generation using Ant, you can customize class generation templates to generte these methods for you. Eventually CayenneModeler will support this too as optional functionality.</TD></TR></TABLE></DIV>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java"><SPAN class="code-keyword">package</SPAN> org.objectstyle.art;
+
+<SPAN class="code-keyword">public</SPAN> class Painting <SPAN class="code-keyword">extends</SPAN> org.objectstyle.art.auto._Painting {
+   /** Read-only access to PK */
+   <SPAN class="code-keyword">public</SPAN> <SPAN class="code-object">Integer</SPAN> getPaintingId() {
+      <SPAN class="code-keyword">return</SPAN> (getObjectId() != <SPAN class="code-keyword">null</SPAN> &amp;&amp; !getObjectId().isTemporary()) 
+               ? (<SPAN class="code-object">Integer</SPAN>)getObjectId().getIdSnapshot().get(PAINTING_ID_PK_COLUMN) 
+               : <SPAN class="code-keyword">null</SPAN>;
+   }
+   
+   /** Read-only access to FK */
+   <SPAN class="code-keyword">public</SPAN> <SPAN class="code-object">Integer</SPAN> getArtistId() {
+      Artist artist = getArtist();
+      <SPAN class="code-keyword">return</SPAN> (artist != <SPAN class="code-keyword">null</SPAN>) 
+               ? (<SPAN class="code-object">Integer</SPAN>)artist.getObjectId().getIdSnapshot().get(Artist.ARTIST_ID_PK_COLUMN) 
+               : <SPAN class="code-keyword">null</SPAN>;
+   }
+}
+</PRE>
+</DIV></DIV>
+
+                </section>
+            </article>
+
+	        </div>
+	    </div>
+	</div>
+</main>
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="https://issues.apache.org/jira/browse/CAY">Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" href="http://cayenne.apache.org/news">
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation. <a href="http://cayenne.apache.org/privacy-policy.html">Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/docs/1.2/acknowledgments.html
----------------------------------------------------------------------
diff --git a/docs/1.2/acknowledgments.html b/docs/1.2/acknowledgments.html
new file mode 100644
index 0000000..6c29370
--- /dev/null
+++ b/docs/1.2/acknowledgments.html
@@ -0,0 +1,275 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script src="http://cayenne.apache.org/js/bundle-bcaaf59313.js"></script>
+        <title>Acknowledgments &middot; Apache Cayenne</title>
+    </head>
+    <body data-spy="scroll" data-target=".toc-side" class="cd-head"> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org">Apache Homepage</a>
+            <a class="dropdown-item" href="http://www.apache.org/licenses/">License</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+            <a class="dropdown-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+            <a class="dropdown-item" href="http://www.apache.org/security/">Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/">
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" />
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://github.com/apache/cayenne">
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" /><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center align-items-center" href="https://twitter.com/ApacheCayenne">
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+
+
+
+
+
+
+<main>
+    <div class="cd-top-sidebar  bb">
+        <div class="container">
+            <div class="row no-gutters">
+                
+                <div class="col-12 col-lg-4 col-xl-3  br  cd-sidebar1">
+                    <ul class="nav" role="tablist">
+                        <li class="nav-item dropdown mw-100">
+                            <a class="nav-link dropdown-toggle text-truncate" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
+                                Cayenne Version 1.2
+                            </a>
+                            <div class="dropdown-menu">
+                                <a class="dropdown-item" href="/docs/4.1/cayenne-guide/">Version 4.1 (Alpha)</a><a class="dropdown-item" href="/docs/4.0/cayenne-guide/">Version 4.0 (Beta)</a><a class="dropdown-item" href="/docs/3.1/getting-started-guide/">Version 3.1 (Stable)</a><a class="dropdown-item" href="/docs/3.0/cayenne-guide.html">Version 3.0 (Legacy)</a><a class="dropdown-item" href="/docs/2.0/user-guide.html">Version 2.0 (Legacy)</a><a class="dropdown-item" href="/docs/1.2/user-guide.html">Version 1.2 (Legacy)</a>
+                            </div>
+                        </li>
+                    </ul>
+                </div>
+                <div class="col-12 col-lg-8 col-xl-9">  </div>
+            </div>
+        </div>
+    </div>
+    <div class="container">
+        <div class="row no-gutters  ">
+            <div class="col-12 col-lg-4 col-xl-3  br  py-2  bg-gray-100  cd-sidebar">
+                <div class="tab-content" id="cd-docs-nav">
+                    
+                    <div class="cd-toc-item">
+                        
+                            <a class="cd-toc-link" href="/docs/1.2/user-guide.html">User Guide</a>
+                        
+                    </div>
+                    
+                    <div class="cd-toc-item">
+                        
+                            <a class="cd-toc-link" href="/docs/1.2/modeler-guide.html">Modeler Guide</a>
+                        
+                    </div>
+                    
+                    <div class="cd-toc-item">
+                        
+                            <a class="cd-toc-link" href="/docs/1.2/remote-object-persistence-guide.html">Remote Object Persistence Guide</a>
+                        
+                    </div>
+                    
+                    <div class="cd-toc-item">
+                        <a class="cd-toc-link" href="/docs/1.2/api/">JavaDoc</a>
+                    </div>
+                </div>
+            </div>
+            
+            <div class="col-12 col-lg-8 col-xl-9  py-3 pl-lg-5  cd-content">
+
+            
+            <article>
+                <section>
+                    <P><BR>
+<BR>
+We would like to thank our dedicated team of <A href="http://objectstyle.org/cayenne/contributors.html" class="external-link" rel="nofollow">contributors</A> - for making this project possible, early adopters - for taking all the pain to help us make a usable product, other users - for providing feedback, comments, patches and bug reports.</P>
+
+                </section>
+            </article>
+
+	        </div>
+	    </div>
+	</div>
+</main>
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="https://issues.apache.org/jira/browse/CAY">Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" href="http://cayenne.apache.org/news">
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation. <a href="http://cayenne.apache.org/privacy-policy.html">Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>