All the remaining content now pulled across from the old site

Project: http://git-wip-us.apache.org/repos/asf/cayenne-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne-website/commit/5c52b18b
Tree: http://git-wip-us.apache.org/repos/asf/cayenne-website/tree/5c52b18b
Diff: http://git-wip-us.apache.org/repos/asf/cayenne-website/diff/5c52b18b

Branch: refs/heads/master
Commit: 5c52b18bc056212c0277d62d0281caa12bdd0baa
Parents: 6cd82aa
Author: Aristedes Maniatis <a...@ish.com.au>
Authored: Mon May 29 11:57:36 2017 +1000
Committer: Aristedes Maniatis <a...@ish.com.au>
Committed: Mon May 29 11:57:36 2017 +1000

----------------------------------------------------------------------
 .ruby-version                      |   1 +
 _layouts/default.html              |  39 +++++++++
 dev/building-cayenne.mdtext        |  54 ++++++++++++
 dev/cms-guide.mdtext               |  33 +++++++
 dev/code-repository.mdtext         |  23 +++++
 dev/eclipse.mdtext                 |  12 +++
 dev/how_development_happens.mdtext |  45 ++++++++++
 dev/index.mdtext                   |  23 +++++
 dev/release-guide.mdtext           | 149 +++++++++++++++++++++++++++++++
 dev/running-unit-tests.mdtext      | 150 ++++++++++++++++++++++++++++++++
 img/asf_logo.svg                   | 116 ++++++++++++++++++++++++
 img/bullet.gif                     | Bin 0 -> 49 bytes
 img/cayenne.gif                    | Bin 0 -> 7541 bytes
 img/container-bg.gif               | Bin 0 -> 156 bytes
 img/favicon.ico                    | Bin 0 -> 1406 bytes
 img/header-bg.gif                  | Bin 0 -> 804 bytes
 img/modeler-thumb.png              | Bin 0 -> 8686 bytes
 img/nav-bullet.gif                 | Bin 0 -> 139 bytes
 img/nav-li.gif                     | Bin 0 -> 186 bytes
 img/nav-ul.gif                     | Bin 0 -> 717 bytes
 img/oxygen190x62.png               | Bin 0 -> 4319 bytes
 img/support-asf.png                | Bin 0 -> 96596 bytes
 img/wrap-left.gif                  | Bin 0 -> 86 bytes
 img/wrap-right.gif                 | Bin 0 -> 86 bytes
 index.mdtext                       |  50 +++++++++++
 25 files changed, 695 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/.ruby-version
----------------------------------------------------------------------
diff --git a/.ruby-version b/.ruby-version
new file mode 100644
index 0000000..60c60c6
--- /dev/null
+++ b/.ruby-version
@@ -0,0 +1 @@
+jruby-9.1.2.0

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/_layouts/default.html
----------------------------------------------------------------------
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..36d9181
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+
+  {% include head.html %}
+
+  <body id="site-page" class="show-sidebar">
+
+    {% include header.html %}
+
+    <div class="page-content">
+      <div class="clearfix container">
+        <aside id="content">
+          {{ content }}
+        </aside>
+      </div>
+    </div>
+
+    <div id="sidebar-menu" data-item="toc-generated">
+      <div class="menu-wrapper">
+        <a class="toggle-menu navbar-toggler" href="#">
+          <span class="nav-toggle"></span>
+        </a>
+        <div class="navbar-wrapper">
+          <nav class="navbar-header navbar">
+            <ul class="clearfix nav navbar-nav">
+              <li class="nav-item">
+                {% assign top_menu = page.url | split: '/' | shift | first | 
prepend: '/' | append: '/' %}
+                {% include sidebar.html path=top_menu %}
+              </li>
+            </ul>
+          </nav>
+        </div>
+      </div>
+    </div>
+
+    <div class="clearfix"></div>
+    {% include footer.html %}
+  </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/dev/building-cayenne.mdtext
----------------------------------------------------------------------
diff --git a/dev/building-cayenne.mdtext b/dev/building-cayenne.mdtext
new file mode 100644
index 0000000..cccb137
--- /dev/null
+++ b/dev/building-cayenne.mdtext
@@ -0,0 +1,54 @@
+Title: Building Cayenne
+## Building Cayenne
+
+### Prerequisites
+
+* Make sure [Maven](http://maven.apache.org/) is installed.
+* [Get the source code](/dev/code-repository.html).
+
+### Recommended Maven Settings
+
+Here are the MAVEN_OPTS that should be used for the build. MAVEN_OPTS variable 
can either be exported in a shell, 
+or placed in *$HOME/.mavenrc*. Optimal values vary from platform to platform 
and between Cayenne versions, 
+but these should probably work for everyone:
+
+    MAVEN_OPTS="-Djava.net.preferIPv4Stack=true -Xms512m -Xmx512m 
-XX:MaxPermSize=128m"
+
+### Building with Maven
+
+Depending on what you want to do, there are various flavors of the builds
+discussed below. All builds should be executed from the root folder of the 
source checkout.
+
+Building the framework and installing it to the local repository (the most
+common flavor) :
+
+    mvn clean install
+    
+In order to skip the unit tests (to speed up the build process or because
+some tests are failing), add *"-Dmaven.test.skip=true"* to any build
+flavor:
+
+    mvn clean install -Dmaven.test.skip=true
+
+For the build to produce a release-like assembly, activate "assembly"
+profile. Additionally activate a profile specific for the target platform
+of a given assembly (otherwise assembly profile won't produce anything). 
+
+Source assembly: 
+
+    mvn clean install -Passembly,src
+
+Cross-platform assembly:
+
+    mvn clean install -Passembly,generic
+
+Windows assembly:
+
+    mvn clean install -Passembly,windows
+
+Mac OS X assembly:
+
+    mvn clean install -Passembly,mac
+
+Multiple assemblies built at once:
+    mvn clean install -Passembly,src,generic,mac
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/dev/cms-guide.mdtext
----------------------------------------------------------------------
diff --git a/dev/cms-guide.mdtext b/dev/cms-guide.mdtext
new file mode 100644
index 0000000..aae15ee
--- /dev/null
+++ b/dev/cms-guide.mdtext
@@ -0,0 +1,33 @@
+Title: Guide to Cayenne CMS
+
+## CMS Guide
+
+Cayenne CMS source code (content + styling + scriptos) can be obtained from 
SVN:
+
+[https://svn.apache.org/repos/asf/cayenne/site/cms/trunk/](https://svn.apache.org/repos/asf/cayenne/site/cms/trunk/)
+
+Any Cayenne committer can change it and commit. On commit, it is automatically 
getting published in the CMS staging environment:
+
+[http://cayenne.staging.apache.org/](http://cayenne.staging.apache.org/)
+
+### Publishing
+
+To publish staged content go [here](https://cms.apache.org/cayenne/), login 
with your Apache ID, and click on "publish cayenne site".
+
+### Synchronizing Docs
+
+Assuming Cayenne checkout is under "~work/cayenne" and CMS sources checkout - 
under "~/work/cms/cms":
+
+        (switch to the desired branch/tag and do a normal 'mvn clean install')
+
+        rsync -av --delete 
~/work/cayenne/docs/docbook/cayenne-guide/target/site/index/ \
+            ~/work/cms/cms/content/docs/4.0/cayenne-guide/
+        rsync -av --delete 
~/work/cayenne/docs/docbook/getting-started/target/site/index/ \
+            ~/work/cms/cms/content/docs/4.0/tutorial/
+        rsync -av --delete 
~/work/cayenne/docs/docbook/getting-started-rop/target/site/index/ \
+            ~/work/cms/cms/content/docs/4.0/tutorial-rop/
+        rsync -av --delete 
~/work/cayenne/docs/docbook/upgrade-guide/target/site/index/ \
+            ~/work/cms/cms/content/docs/4.0/upgrade-guide/
+        rsync -av --delete 
~/work/cayenne/docs/doc/target/site/apidocs/doc/api/ \
+            ~/work/cms/cms/content/docs/4.0/api/
+

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/dev/code-repository.mdtext
----------------------------------------------------------------------
diff --git a/dev/code-repository.mdtext b/dev/code-repository.mdtext
new file mode 100644
index 0000000..153e959
--- /dev/null
+++ b/dev/code-repository.mdtext
@@ -0,0 +1,23 @@
+Title: Code Repository
+
+## Git Repository
+
+Cayenne uses Git for source code version control. "Master" writable repository 
is located here:
+
+[https://git-wip-us.apache.org/repos/asf/cayenne.git](https://git-wip-us.apache.org/repos/asf/cayenne.git)
+
+It can be cloned by anyone, and that's where committers would ultimately push 
the code. We also have a GitHub read-only copy:
+
+[https://github.com/apache/cayenne](https://github.com/apache/cayenne) 
+
+Feel free to fork and/or star Cayenne there.
+
+
+## Legacy Subversion Repository
+
+Up to version 3.2M2 we used Subversion. For archival purposes SVN repository 
is still available 
+in a read-only mode:
+
+[https://svn.apache.org/repos/asf/cayenne/main/](https://svn.apache.org/repos/asf/cayenne/main/)
+
+Note that it contains branches and tags for releases prior to 3.0, that are 
not present in Git. So if you are looking for those older releases, you will 
have to use SVN.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/dev/eclipse.mdtext
----------------------------------------------------------------------
diff --git a/dev/eclipse.mdtext b/dev/eclipse.mdtext
new file mode 100644
index 0000000..a6ea87b
--- /dev/null
+++ b/dev/eclipse.mdtext
@@ -0,0 +1,12 @@
+Title: Eclipse
+
+## Working with Cayenne code in Eclipse
+
+* Get code from Git and [build it from command line](building-cayenne.html)
+ to seed the local repository.
+* Create a workspace outside of the main checkout folder.
+* Install [Maven2 Eclipse plugin](http://www.sonatype.org/m2eclipse/)
+* Install any other plugins that you would normally use. 
+* Go to "File > Import ... > Existing Maven Projects", and import the projects 
that you want.
+
+

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/dev/how_development_happens.mdtext
----------------------------------------------------------------------
diff --git a/dev/how_development_happens.mdtext 
b/dev/how_development_happens.mdtext
new file mode 100644
index 0000000..2a19265
--- /dev/null
+++ b/dev/how_development_happens.mdtext
@@ -0,0 +1,45 @@
+Title: How development happens
+
+
+## How development happens
+
+There are several levels of access to the Cayenne project and source.
+
+1. Documentation only access. Access to the Confluence system for creating
+documentation means that these users are able to edit and create content
+which then available on this web site and bundled with the download.
+1. Committers have direct access to Git and are able to make changes to the
+entire source repository.
+1. Project Management Committee (PMC) members have further responsibility
+for the project as a whole and for ensuring that releases meet all the
+appropriate standards.
+1. PMC Chair. This person has a leadership role in the project and has a
+special responsibility to the Apache board.
+
+For further details consult the official [Apache 
handbook](http://www.apache.org/foundation/how-it-works.html#roles)
+.
+
+In addition to the general Apache responsibilities, this is what is
+expected of everyone with privileges within the Cayenne project.
+
+### Contribution
+Contribution to the project can take many forms. Updating documentation and
+helping users on the mailing lists are just as important as writing code.
+Everyone here is a volunteer, so quantity of effort is not the most
+important factor. Help when you can, but let the rest of the community know
+if you will be out of action for an extended period.
+
+### Mailing lists
+Cayenne takes special pride in the support we give to users of the
+software. That means being helpful to end users where you have the time and
+the answers. Just as importantly, users look to the committers and PMC
+members to set the tone of the mailing lists; keeping them friendly and
+pleasant places to be for all users regardless of their English language
+skills or technical experience. When things might go off the rails, a
+gentle nudge back in the right direction is all that is needed.
+
+### Voting
+Each release should be voted on by the committers and PMC members. Even
+though committer votes cannot count officially by Apache rules, they will
+be given serious consideration by the PMC members. Further voting details
+are in the release pages of this site.

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/dev/index.mdtext
----------------------------------------------------------------------
diff --git a/dev/index.mdtext b/dev/index.mdtext
new file mode 100644
index 0000000..ee88456
--- /dev/null
+++ b/dev/index.mdtext
@@ -0,0 +1,23 @@
+Title: Developer Guide
+## Developer Guide
+
+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. "Developers" 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.
+
+* [How development happens](/dev/how_development_happens.html)
+* [Source Code Access](/dev/code-repository.html)
+* [Working in Eclipse](/dev/eclipse.html)
+* [Building Cayenne](/dev/building-cayenne.html)
+* [Creating a Release](/dev/release-guide.html)
+* [Running Unit Tests](/dev/running-unit-tests.html)
+* [CMS Guide](/dev/cms-guide.html)
+
+### Legacy Cayenne (Cayenne 2.0.x and 1.2.x) 
+* [Building with Ant](/legacy-ant-build.html)
+* [Working in Eclipse](/legacy-eclipse.html)
+* [Creating a Release](/release-guide-2.0.html)
+* [Running Unit Tests](/legacy-ant-unit-tests.html)

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/dev/release-guide.mdtext
----------------------------------------------------------------------
diff --git a/dev/release-guide.mdtext b/dev/release-guide.mdtext
new file mode 100644
index 0000000..5c90ccd
--- /dev/null
+++ b/dev/release-guide.mdtext
@@ -0,0 +1,149 @@
+Title: Release Guide
+
+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.
+
+## Prerequisites
+
+* 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 
[http://www.apache.org/dev/release-signing.html](http://www.apache.org/dev/release-signing.html)
+* Make sure "apache-releases" repository is configured in
+*~/.m2/settings.xml* and an appropriate password is setup. See [this 
page](http://www.apache.org/dev/publishing-maven-artifacts.html)
+ for details.
+* As Cayenne has modules which require Java 1.8, you should use Java 1.8 to 
perform the release.
+
+## Preparing Sources
+
+* Edit UPGRADE-NOTES.txt if there is anything to add there.
+* Check Sources Compliance with [RAT](http://creadur.apache.org/rat/). 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.
+
+        cd cayenne
+        ./rat.sh ~/Desktop/apache-rat-0.9/apache-rat-0.9.jar  > report.txt
+    
+## Tagging the Repo and Releasing Maven Artifacts 
+
+
+* Create a Git tag and Create Maven Staging Repository:
+
+        cd cayenne
+        mvn release:clean
+        mvn release:prepare -DpreparationGoals="clean install" 
-DautoVersionSubmodules=true
+        mvn release:perform -P gpg [-Dgpg.keyname=B8AF90BF]
+
+* Close the staging repo. Login to 
[https://repository.apache.org/](https://repository.apache.org/) with
+Apache ID/password, go to "Staging Repositories" page. Select a staging
+repository that was just created during "*mvn release:perform*", click
+"Close". 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:
+[https://repository.apache.org/content/repositories/orgapachecayenne-052/](https://repository.apache.org/content/repositories/orgapachecayenne-052/)
 
+
+## Releasing Downloadable Assemblies
+
+* Switch to the release tag created above.
+
+* Build source package (it will be the basis for the binary packages built
+in the next steps) :
+
+        mvn clean install -Passembly,src
+    
+* Build binary assemblies. Take *"assembly/target/cayenne-XXX-src.tar.gz"*, 
unpack it somewhere, and
+perform binary builds from the unpacked directory (NOT FROM GIT CHECKOUT). 
_Release manager may skip 
+running unit tests from here, as shown
+below, although release evaluators should use the src assembly for [unit 
testing](running-unit-tests.html)
+ and other kinds of testing._ 
+    
+        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
+
+    For further details on a general Cayenne build process check [this 
page](building-cayenne.html).
+
+* Signing assemblies
+
+For more info visit [this page](http://www.apache.org/dev/release-signing.html)
+. 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 ("-u" option can be omitted if you have only one GPG key):
+
+        gpg -a  -b -u B8AF90BF cayenne-X.X.tar.gz
+        gpg --print-md MD5 cayenne-X.X.tar.gz > cayenne-X.X.tar.gz.md5
+
+* Assemblies, signature and checksum files are committed to the special SVN 
repo
+  used for staging development releases: 
[https://dist.apache.org/repos/dist/dev/cayenne/](https://dist.apache.org/repos/dist/dev/cayenne/).
 Use a separate folder for each release. For more info on this repository check 
[the infrastructure docs](http://apache.org/dev/release.html#upload-ci).
+
+
+
+## Voting
+
+* The vote is started on the dev mailing list.
+* 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.
+* 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). 
+
+
+## Publishing the Release
+
+* Publish Maven artifacts. Go back to 
[https://repository.apache.org/](https://repository.apache.org/),
+select the staging repo and click "Release".
+
+* Publish downloadable assemblies by moving them to the release repo:
+
+        $ svn mv https://dist.apache.org/repos/dist/dev/cayenne/X.X \
+             https://dist.apache.org/repos/dist/release/cayenne/
+    
+
+## After the release
+
+* Delete a previous version of Cayenne release of the same branch from the 
dist server. 
+  It should be already [archived by Apache] 
(http://www.apache.org/dev/release.html#when-to-archive). Do this with an svn 
command like this:
+
+        $ svn rm https://dist.apache.org/repos/dist/release/cayenne/Y.Y
+
+* [Tell 
Jira](https://issues.apache.org/jira/plugins/servlet/project-config/CAY/versions)
+ 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.
+* Update the [DOAP 
file](http://svn.apache.org/repos/asf/cayenne/site/cms/trunk/content/doap/cayenne.rdf)
+ which will update
+http://projects.apache.org/projects/cayenne.html automatically.
+* If the release is significant, consider press releases to relevant news
+sources
+* Review the main website pages (front page and why-cayenne especially) to
+add any new features
+* Add a news item to the Cayenne web site
+* Send an email to the Cayenne user and developer lists
+* Send a notification email to announceATapache.org
+* Update 
[http://en.wikipedia.org/wiki/Apache_Cayenne](http://en.wikipedia.org/wiki/Apache_Cayenne)
+    
+## Reference:
+    
+* Apache release publishing:
+[http://www.apache.org/dev/release-publishing.html](http://www.apache.org/dev/release-publishing.html)
+* Apache Maven release publishing:
+[http://www.apache.org/dev/publishing-maven-artifacts.html](http://www.apache.org/dev/publishing-maven-artifacts.html)
+* ARAT: [http://code.google.com/p/arat/](http://code.google.com/p/arat/)
+* Signing Releases: 
[http://www.apache.org/dev/release-signing.html](http://www.apache.org/dev/release-signing.html)

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/dev/running-unit-tests.mdtext
----------------------------------------------------------------------
diff --git a/dev/running-unit-tests.mdtext b/dev/running-unit-tests.mdtext
new file mode 100644
index 0000000..68e6521
--- /dev/null
+++ b/dev/running-unit-tests.mdtext
@@ -0,0 +1,150 @@
+Title: Running Unit Tests
+
+## Running Unit Tests
+
+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.
+
+### Prerequisites
+
+Maven [build prerequisites and recommended 
settings](/dev/building-cayenne.html) apply here.    
+    
+### Running Against Embedded HSQLDB
+    
+No extra setup is required. Just run Maven:
+    
+    $ cd cayenne
+    $ mvn install
+
+or 
+
+    $ cd cayenne
+    $ mvn clean verify
+    
+### Running Against In-memory Database
+ 
+Besides HSQLDB mentioned above Cayenne has preconfigured connection 
information for 
+following databases that support in-memory mode:
+   
+* derby
+* h2
+* sqlite
+
+For this databases you can run tests without any additional configuration by 
only specifying
+*cayenneTestConnection* property that will activate required Maven profile:
+ 
+    $ mvn verify -DcayenneTestConnection=derby    
+    
+### Running Against Database in Docker (only on Linux)
+
+Another handy option to run Cayenne tests is with preconfigured docker 
profiles.
+The only thing you need is to install Docker.
+
+You can run tests with following *cayenneTestConnection* properties:
+ 
+    $ mvn verify -DcayenneTestConnection=mysql-docker
+or
+    
+    $ mvn verify -DcayenneTestConnection=postgres-docker    
+    
+### Running Against a Specific Database
+
+Final option to run tests against any supported database is with manual 
configuration. 
+    
+#### Step 1. Install JDBC Driver Jars in a Local Maven Repo
+    
+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.
+    
+**FrontBase:**
+
+    $ mvn install:install-file -Dfile=frontbasejdbc.jar 
-DgroupId=com.frontbase \
+           -DartifactId=frontbase-driver -Dversion=4.1 -Dpackaging=jar 
-DgeneratePom=true
+
+**OpenBase:**
+
+    $ mvn install:install-file -Dfile=OpenBaseJDBC.jar -DgroupId=com.openbase \
+           -DartifactId=openbase-driver -Dversion=9 -Dpackaging=jar 
-DgeneratePom=true
+    
+**Oracle:**
+
+    $ mvn install:install-file -Dfile=ojdbc5.jar -DgroupId=com.oracle \
+           -DartifactId=oracle-driver -Dversion=11 -Dpackaging=jar 
-DgeneratePom=true
+
+**SQLServer:**
+
+    $ mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft \
+           -DartifactId=sqlserver-driver -Dversion=4.0 -Dpackaging=jar 
-DgeneratePom=true
+
+**Sybase:**
+
+    $ mvn install:install-file -Dfile=jconn3.jar -DgroupId=com.sybase \
+           -DartifactId=sybase-driver -Dversion=12 -Dpackaging=jar 
-DgeneratePom=true
+    
+#### Step 2. Run Tests Against Configured Data Source
+    
+Database type and connection information can be specified either on the
+command line or via a configuration file. First let's look at the command
+line options:
+    
+    $ mvn verify -DcayenneTestConnection=<profile_name> \
+       -DcayenneAdapter=org.apache.cayenne.dba.mysql.MySQLAdapter \
+       -DcayenneJdbcUsername=myuser \
+       -DcayenneJdbcPassword=mypassword \
+       -DcayenneJdbcUrl=jdbc:mysql://localhost/cayenne \
+       -DcayenneJdbcDriver=com.mysql.jdbc.Driver
+
+*cayenneTestConnection* is a property activating a DB-specific Maven
+profile. *<profile_name>* can be one of:
+
+* db2
+* derby
+* firebird
+* frontbase
+* h2
+* ingres
+* mysql
+* openbase
+* oracle
+* postgres
+* sqlite
+* sqlserver
+* sybase
+
+Another way to store this information permanently for each profile is to
+create a directory *$HOME/.cayenne/* and place a file called
+*connection.properties* in this directory. File contents should be
+similar to this example:
+
+    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&characterEncoding=UTF-8&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
+    
+Each property starts with the Maven profile name ("mysql" and "oracle" in
+the example above). Note that in this case you should still use
+*cayenneTestConnection*. E.g.:
+    
+    $ mvn verify -DcayenneTestConnection=mysql
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/asf_logo.svg
----------------------------------------------------------------------
diff --git a/img/asf_logo.svg b/img/asf_logo.svg
new file mode 100644
index 0000000..ce1f394
--- /dev/null
+++ b/img/asf_logo.svg
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 
6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; x="0px" y="0px" viewBox="0 0 7127.6 
2890" enable-background="new 0 0 7127.6 2890" xml:space="preserve">
+<path fill="#6D6E71" 
d="M7104.7,847.8c15.3,15.3,22.9,33.7,22.9,55.2c0,21.5-7.6,39.9-22.9,55.4c-15.3,15.4-33.8,23.1-55.6,23.1
  
c-21.8,0-40.2-7.6-55.4-22.9c-15.1-15.3-22.7-33.7-22.7-55.2c0-21.5,7.6-39.9,22.9-55.4c15.3-15.4,33.7-23.1,55.4-23.1
  C7070.9,824.9,7089.4,832.5,7104.7,847.8z 
M7098.1,951.9c13.3-13.6,20-29.8,20-48.7s-6.6-35-19.8-48.5  
c-13.2-13.4-29.4-20.1-48.6-20.1c-19.2,0-35.4,6.7-48.7,20.2c-13.3,13.5-19.9,29.7-19.9,48.7c0,19,6.6,35.2,19.7,48.6
  c13.1,13.4,29.3,20.1,48.5,20.1S7084.7,965.4,7098.1,951.9z 
M7087.1,888.1c0,14-6.1,22.8-18.4,26.4l22.5,30.5h-18.2l-20.3-28.3  
h-18.6v28.3h-14.7v-84.6h31.8c12.8,0,22,2.2,27.6,6.6C7084.4,871.4,7087.1,878.4,7087.1,888.1z
 M7068.2,900c3-2.4,4.4-6.5,4.4-12  
c0-5.5-1.5-9.4-4.5-11.6c-3-2.2-8.4-3.2-16-3.2h-18v30.5h17.5C7059.7,903.6,7065.3,902.4,7068.2,900z"/>
+<path fill="#6D6E71" 
d="M1803.6,499.8v155.4h-20V499.8h-56.8v-19.2h133.9v19.2H1803.6z"/>
+<path fill="#6D6E71" 
d="M2082.2,655.2v-76.9h-105.2v76.9h-20V480.5h20v78.9h105.2v-78.9h20v174.7H2082.2z"/>
+<path fill="#6D6E71" 
d="M2241.4,499.8v57.4h88.1v19.2h-88.1v59.8h101.8v19h-121.8V480.5H2340v19.2H2241.4z"/>
+<path fill="#D22128" 
d="M1574.5,1852.4l417.3-997.6h80.1l417.3,997.6h-105.4l-129.3-311.9h-448.2l-127.9,311.9H1574.5z
 M2032.6,970  l-205.1,493.2h404.7L2032.6,970z"/>
+<path fill="#D22128" 
d="M2596.9,1852.4V854.8H3010c171.4,0,295.1,158.8,295.1,313.3c0,163-115.2,316.1-286.6,316.1h-324.6v368.1
  H2596.9z 
M2693.9,1397.1h318.9c118,0,193.9-108.2,193.9-229c0-125.1-92.7-226.2-202.3-226.2h-310.5V1397.1z"/>
+<path fill="#D22128" 
d="M3250.5,1852.4l417.3-997.6h80.1l417.3,997.6h-105.4l-129.3-311.9h-448.2l-127.9,311.9H3250.5z
 M3708.6,970  l-205.1,493.2h404.7L3708.6,970z"/>
+<path fill="#D22128" 
d="M4637.3,849.1c177,0,306.3,89.9,368.1,217.8l-78.7,47.8c-63.2-132.1-186.9-177-295.1-177
  
c-238.9,0-369.5,213.6-369.5,414.5c0,220.6,161.6,420.1,373.7,420.1c112.4,0,244.5-56.2,307.7-185.5l81.5,42.1
  
c-64.6,148.9-241.7,231.8-394.8,231.8c-274,0-466.5-261.3-466.5-514.2C4163.8,1106.3,4336.6,849.1,4637.3,849.1z"/>
+<path fill="#D22128" 
d="M5949.1,854.8v997.6h-98.4v-466.5h-591.5v466.5h-96.9V854.8h96.9v444h591.5v-444H5949.1z"/>
+<path fill="#D22128" 
d="M6844.6,1765.2v87.1h-670.2V854.8H6832v87.1h-560.6v359.7h489v82.9h-489v380.8H6844.6z"/>
+<path fill="#6D6E71" 
d="M1667.6,2063.6c11.8,3.5,22.2,8.3,31,14.2l-10.3,22.6c-9-6-18.6-10.4-28.9-13.4c-10.2-2.9-20-4.4-29.2-4.4
  
c-13.6,0-24.5,2.4-32.6,7.3c-8.1,4.9-12.2,11.8-12.2,20.7c0,7.6,2.3,14,6.8,19c4.5,5,10.2,8.9,17,11.7c6.8,2.8,16.1,6,28,9.6
  
c14.4,4.6,26,8.9,34.7,12.9c8.8,4,16.3,9.9,22.5,17.8c6.2,7.8,9.3,18.2,9.3,31c0,11.7-3.2,21.8-9.5,30.6
  
c-6.3,8.7-15.3,15.5-26.8,20.3c-11.6,4.8-24.9,7.2-40,7.2c-15.1,0-29.7-2.9-43.9-8.7c-14.2-5.8-26.4-13.6-36.6-23.4l10.7-21.6
  
c9.6,9.4,20.7,16.7,33.3,21.9c12.6,5.2,24.8,7.8,36.8,7.8c15.3,0,27.3-3,36.1-8.9c8.8-5.9,13.2-13.9,13.2-23.9
  
c0-7.8-2.3-14.3-6.9-19.4c-4.6-5.1-10.3-9-17.1-11.9c-6.8-2.8-16.1-6-28-9.6c-14.2-4.2-25.7-8.3-34.6-12.2
  
c-8.9-3.9-16.4-9.7-22.5-17.5c-6.1-7.7-9.2-17.9-9.2-30.6c0-10.9,3-20.4,9-28.6c6-8.2,14.6-14.6,25.6-19.1
  c11.1-4.5,23.8-6.8,38.2-6.8C1643.8,2058.3,1655.7,2060.1,1667.6,2063.6z"/>
+<path fill="#6D6E71" 
d="M1980.1,2072.8c16.8,9.4,30.2,22.3,40,38.4c9.8,16.2,14.8,33.9,14.8,53.3c0,19.5-4.9,37.4-14.8,53.6
  
c-9.8,16.3-23.2,29.1-40,38.6c-16.8,9.5-35.3,14.3-55.2,14.3c-20.3,0-38.8-4.7-55.7-14.3c-16.8-9.5-30.2-22.4-40-38.6
  
c-9.8-16.3-14.8-34.1-14.8-53.6c0-19.5,4.9-37.3,14.8-53.5c9.8-16.2,23.2-29,40-38.3c16.8-9.4,35.4-14,55.7-14
  C1944.8,2058.6,1963.2,2063.3,1980.1,2072.8z 
M1881.9,2092.7c-13.1,7.4-23.6,17.5-31.4,30.1c-7.8,12.6-11.8,26.5-11.8,41.7  
c0,15.3,3.9,29.3,11.8,42c7.8,12.7,18.3,22.8,31.4,30.2c13.1,7.4,27.4,11.1,42.9,11.1c15.5,0,29.7-3.7,42.7-11.1
  
c13-7.4,23.3-17.4,31.1-30.2c7.7-12.7,11.6-26.7,11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30
  c-13-7.4-27.2-11.2-42.6-11.2C1909.4,2081.5,1895.1,2085.2,1881.9,2092.7z"/>
+<path fill="#6D6E71" 
d="M2186.5,2082.4v74h98.4v23.2h-98.4v90.2h-24.1v-210.6h133.8v23.2H2186.5z"/>
+<path fill="#6D6E71" 
d="M2491.6,2082.4v187.4h-24.1v-187.4h-68.4v-23.2h161.4v23.2H2491.6z"/>
+<path fill="#6D6E71" 
d="M2871.8,2269.8l-56.8-177.4l-57.6,177.4h-24.5l-70.5-210.6h25.9l57.9,182.7l57.1-182.4l24.1-0.3l57.7,182.7
  l57.1-182.7h25l-70.6,210.6H2871.8z"/>
+<path fill="#6D6E71" 
d="M3087.3,2216.6l-23.5,53.2h-25.6l94.4-210.6h25l94.1,210.6h-26.1l-23.5-53.2H3087.3z
 M3144.5,2086.6  l-46.9,106.8h94.4L3144.5,2086.6z"/>
+<path fill="#6D6E71" 
d="M3461.1,2202.7c-6,0.4-10.7,0.6-14.1,0.6h-56v66.5H3367v-210.6h80c26.2,0,46.6,6.2,61.2,18.5
  
c14.5,12.3,21.8,29.8,21.8,52.3c0,17.2-4.1,31.7-12.2,43.3c-8.1,11.6-19.8,20-35,25l49.2,71.5h-27.3L3461.1,2202.7z
 M3491.3,2167.6  
c10.3-8.4,15.5-20.8,15.5-37c0-15.9-5.2-27.9-15.5-36c-10.3-8.1-25.1-12.2-44.3-12.2h-56v97.8h56
  C3466.2,2180.2,3481,2176,3491.3,2167.6z"/>
+<path fill="#6D6E71" 
d="M3688.3,2082.4v69.2h106.2v23.2h-106.2v72.1h122.8v22.9h-146.9v-210.6h142.9v23.2H3688.3z"/>
+<path fill="#6D6E71" 
d="M4147,2082.4v74h98.4v23.2H4147v90.2h-24.1v-210.6h133.8v23.2H4147z"/>
+<path fill="#6D6E71" 
d="M4523.3,2072.8c16.8,9.4,30.2,22.3,40,38.4c9.8,16.2,14.8,33.9,14.8,53.3c0,19.5-4.9,37.4-14.8,53.6
  
c-9.8,16.3-23.2,29.1-40,38.6c-16.8,9.5-35.3,14.3-55.2,14.3c-20.3,0-38.8-4.7-55.7-14.3c-16.8-9.5-30.2-22.4-40-38.6
  
c-9.8-16.3-14.8-34.1-14.8-53.6c0-19.5,4.9-37.3,14.8-53.5c9.8-16.2,23.2-29,40-38.3c16.8-9.4,35.4-14,55.7-14
  C4488.1,2058.6,4506.5,2063.3,4523.3,2072.8z 
M4425.2,2092.7c-13.1,7.4-23.6,17.5-31.4,30.1c-7.8,12.6-11.8,26.5-11.8,41.7  
c0,15.3,3.9,29.3,11.8,42c7.8,12.7,18.3,22.8,31.4,30.2c13.1,7.4,27.4,11.1,42.9,11.1c15.5,0,29.7-3.7,42.7-11.1
  
c13-7.4,23.3-17.4,31.1-30.2c7.7-12.7,11.6-26.7,11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30
  c-13-7.4-27.2-11.2-42.6-11.2C4452.6,2081.5,4438.3,2085.2,4425.2,2092.7z"/>
+<path fill="#6D6E71" 
d="M4854.7,2247.7c-15.7,15.5-37.3,23.3-64.8,23.3c-27.7,0-49.4-7.8-65.1-23.3c-15.7-15.5-23.6-37-23.6-64.6
  
v-124h24.1v124c0,20.3,5.8,36.1,17.3,47.5c11.6,11.4,27.3,17.1,47.3,17.1c20.1,0,35.8-5.7,47.1-17c11.4-11.3,17-27.2,17-47.7v-124
  h24.1v124C4878.2,2210.7,4870.4,2232.2,4854.7,2247.7z"/>
+<path fill="#6D6E71" 
d="M5169.5,2269.8l-126.3-169.1v169.1h-24.1v-210.6h25l126.3,169.3v-169.3h23.8v210.6H5169.5z"/>
+<path fill="#6D6E71" 
d="M5478.4,2073.1c16.4,9.3,29.4,21.9,38.9,37.9c9.6,16,14.3,33.9,14.3,53.5s-4.8,37.6-14.3,53.6
  
c-9.5,16.1-22.6,28.7-39.3,37.9c-16.6,9.2-35.2,13.8-55.5,13.8h-84.3v-210.6h85.2C5443.7,2059.2,5462,2063.8,5478.4,2073.1z
   
M5362.3,2246.9h61.4c15.5,0,29.6-3.5,42.3-10.6c12.7-7.1,22.8-16.9,30.2-29.5c7.4-12.5,11.1-26.5,11.1-42
  
c0-15.5-3.8-29.4-11.3-41.9c-7.5-12.5-17.7-22.3-30.6-29.6c-12.8-7.2-27-10.9-42.6-10.9h-60.5V2246.9z"/>
+<path fill="#6D6E71" 
d="M5668.6,2216.6l-23.5,53.2h-25.6l94.4-210.6h25l94.1,210.6H5807l-23.5-53.2H5668.6z
 M5725.8,2086.6  l-46.9,106.8h94.4L5725.8,2086.6z"/>
+<path fill="#6D6E71" 
d="M5991,2082.4v187.4H5967v-187.4h-68.4v-23.2h161.4v23.2H5991z"/>
+<path fill="#6D6E71" d="M6175.9,2269.8v-210.6h24.1v210.6H6175.9z"/>
+<path fill="#6D6E71" 
d="M6493.7,2072.8c16.8,9.4,30.2,22.3,40,38.4c9.8,16.2,14.8,33.9,14.8,53.3c0,19.5-4.9,37.4-14.8,53.6
  
c-9.8,16.3-23.2,29.1-40,38.6c-16.8,9.5-35.3,14.3-55.2,14.3c-20.3,0-38.8-4.7-55.7-14.3c-16.8-9.5-30.2-22.4-40-38.6
  
c-9.8-16.3-14.8-34.1-14.8-53.6c0-19.5,4.9-37.3,14.8-53.5c9.8-16.2,23.2-29,40-38.3c16.8-9.4,35.4-14,55.7-14
  C6458.5,2058.6,6476.9,2063.3,6493.7,2072.8z 
M6395.6,2092.7c-13.1,7.4-23.6,17.5-31.4,30.1c-7.8,12.6-11.8,26.5-11.8,41.7  
c0,15.3,3.9,29.3,11.8,42c7.8,12.7,18.3,22.8,31.4,30.2c13.1,7.4,27.4,11.1,42.9,11.1c15.5,0,29.7-3.7,42.7-11.1
  
c13-7.4,23.3-17.4,31.1-30.2c7.7-12.7,11.6-26.7,11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30
  c-13-7.4-27.2-11.2-42.6-11.2C6423,2081.5,6408.8,2085.2,6395.6,2092.7z"/>
+<path fill="#6D6E71" 
d="M6826.5,2269.8l-126.3-169.1v169.1h-24.1v-210.6h25l126.3,169.3v-169.3h23.8v210.6H6826.5z"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-4516.6152" 
y1="-2338.7222" x2="-4108.4111" y2="-1861.3982" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0" style="stop-color:#F69923"/>
+       <stop offset="0.3123" style="stop-color:#F79A23"/>
+       <stop offset="0.8383" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" 
d="M1230.1,13.7c-45.3,26.8-120.6,102.5-210.5,212.3l82.6,155.9c58-82.9,116.9-157.5,176.3-221.2
  
c4.6-5.1,7-7.5,7-7.5c-2.3,2.5-4.6,5-7,7.5c-19.2,21.2-77.5,89.2-165.5,224.4c84.7-4.2,214.9-21.6,321.1-39.7
  c31.6-177-31-258-31-258S1323.4-41.4,1230.1,13.7z"/>
+<path fill="none" 
d="M1090.2,903.1c0.6-0.1,1.2-0.2,1.8-0.3l-11.9,1.3c-0.7,0.3-1.4,0.7-2.1,1  
C1082.1,904.4,1086.2,903.7,1090.2,903.1z"/>
+<path fill="none" 
d="M1005.9,1182.3c-6.7,1.5-13.7,2.7-20.7,3.7C992.3,1185,999.2,1183.8,1005.9,1182.3z"/>
+<path fill="none" 
d="M432.9,1808.8c0.9-2.3,1.8-4.7,2.6-7c18.2-48,36.2-94.7,54-140.1c20-51,39.8-100.4,59.3-148.3
  
c20.6-50.4,40.9-99.2,60.9-146.3c21-49.4,41.7-97,62-142.8c16.5-37.3,32.8-73.4,48.9-108.3c5.4-11.7,10.7-23.2,16-34.6
  
c10.5-22.7,21-44.8,31.3-66.5c9.5-20,19-39.6,28.3-58.8c3.1-6.4,6.2-12.8,9.3-19.1c0.5-1,1-2,1.5-3.1l-10.2,1.1l-8-15.9
  
c-0.8,1.6-1.6,3.1-2.4,4.6c-14.5,28.8-28.9,57.9-43.1,87.2c-8.2,16.9-16.4,34-24.6,51c-22.6,47.4-44.8,95.2-66.6,143.3
  
c-22.1,48.6-43.7,97.5-64.9,146.5c-20.8,48.1-41.3,96.2-61.2,144.2c-20,48-39.5,95.7-58.5,143.2c-19.9,49.5-39.2,98.7-58,147.2
  
c-4.2,10.9-8.5,21.9-12.7,32.8c-15,39.2-29.7,77.8-44,116l12.7,25.1l11.4-1.2c0.4-1.1,0.8-2.3,1.3-3.4
  C396.7,1905.4,414.9,1856.4,432.9,1808.8z"/>
+<path fill="none" 
d="M980,1186.8L980,1186.8c0.1,0,0.1,0,0.1-0.1C980.1,1186.8,980.1,1186.8,980,1186.8z"/>
+<path fill="#BE202E" 
d="M952.6,1323c-10.6,1.9-21.4,3.8-32.5,5.7c-0.1,0-0.1,0.1-0.2,0.1c5.6-0.8,11.2-1.7,16.6-2.6
  C942,1325.2,947.3,1324.1,952.6,1323z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M952.6,1323c-10.6,1.9-21.4,3.8-32.5,5.7c-0.1,0-0.1,0.1-0.2,0.1c5.6-0.8,11.2-1.7,16.6-2.6
  C942,1325.2,947.3,1324.1,952.6,1323z"/>
+<path fill="#BE202E" 
d="M980.3,1186.7C980.2,1186.7,980.2,1186.7,980.3,1186.7c-0.1,0.1-0.2,0.1-0.2,0.1c1.8-0.2,3.5-0.5,5.2-0.8
  
c7-1,13.9-2.2,20.7-3.7C997.5,1183.8,989,1185.2,980.3,1186.7L980.3,1186.7L980.3,1186.7z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M980.3,1186.7C980.2,1186.7,980.2,1186.7,980.3,1186.7c-0.1,0.1-0.2,0.1-0.2,0.1
  
c1.8-0.2,3.5-0.5,5.2-0.8c7-1,13.9-2.2,20.7-3.7C997.5,1183.8,989,1185.2,980.3,1186.7L980.3,1186.7L980.3,1186.7z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-7537.7339" 
y1="-2391.4075" x2="-4625.4141" y2="-2391.4075" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0.3233" style="stop-color:#9E2064"/>
+       <stop offset="0.6302" style="stop-color:#C92037"/>
+       <stop offset="0.7514" style="stop-color:#CD2335"/>
+       <stop offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" 
d="M858.6,784.7c25.1-46.9,50.5-92.8,76.2-137.4c26.7-46.4,53.7-91.3,80.9-134.7  
c1.6-2.6,3.2-5.2,4.8-7.7c27-42.7,54.2-83.7,81.6-122.9L1019.5,226c-6.2,7.6-12.5,15.3-18.8,23.2c-23.8,29.7-48.6,61.6-73.9,95.5
  
c-28.6,38.2-58,78.9-87.8,121.7c-27.6,39.5-55.5,80.9-83.5,123.7c-23.8,36.5-47.7,74-71.4,112.5c-0.9,1.4-1.8,2.9-2.6,4.3
  l107.5,212.3C811.8,873.6,835.1,828.7,858.6,784.7z"/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-7186.1777" 
y1="-2099.3059" x2="-5450.7183" y2="-2099.3059" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0" style="stop-color:#282662"/>
+       <stop offset="9.548390e-02" style="stop-color:#662E8D"/>
+       <stop offset="0.7882" style="stop-color:#9F2064"/>
+       <stop offset="0.9487" style="stop-color:#CD2032"/>
+</linearGradient>
+<path fill="url(#SVGID_3_)" 
d="M369,1981c-14.2,39.1-28.5,78.9-42.9,119.6c-0.2,0.6-0.4,1.2-0.6,1.8c-2,5.7-4.1,11.5-6.1,17.2
  
c-9.7,27.4-18,52.1-37.3,108.2c31.7,14.5,57.1,52.5,81.1,95.6c-2.6-44.7-21-86.6-56.2-119.1c156.1,7,290.6-32.4,360.1-146.6
  
c6.2-10.2,11.9-20.9,17-32.2c-31.6,40.1-70.8,57.1-144.5,53c-0.2,0.1-0.3,0.1-0.5,0.2c0.2-0.1,0.3-0.1,0.5-0.2
  
c108.6-48.6,163.1-95.3,211.2-172.6c11.4-18.3,22.5-38.4,33.8-60.6c-94.9,97.5-205,125.3-320.9,104.2l-86.9,9.5
  C374.4,1966.3,371.7,1973.6,369,1981z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-7374.1626" 
y1="-2418.5454" x2="-4461.8428" y2="-2418.5454" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0.3233" style="stop-color:#9E2064"/>
+       <stop offset="0.6302" style="stop-color:#C92037"/>
+       <stop offset="0.7514" style="stop-color:#CD2335"/>
+       <stop offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_4_)" 
d="M409.6,1786.3c18.8-48.5,38.1-97.7,58-147.2c19-47.4,38.5-95.2,58.5-143.2  
c20-48,40.4-96.1,61.2-144.2c21.2-49,42.9-97.8,64.9-146.5c21.8-48.1,44-95.9,66.6-143.3c8.1-17.1,16.3-34.1,24.6-51
  
c14.2-29.3,28.6-58.4,43.1-87.2c0.8-1.6,1.6-3.1,2.4-4.6L681.4,706.8c-1.8,2.9-3.5,5.8-5.3,8.6c-25.1,40.9-50,82.7-74.4,125.4
  
c-24.7,43.1-49,87.1-72.7,131.7c-20,37.6-39.6,75.6-58.6,113.9c-3.8,7.8-7.6,15.5-11.3,23.2c-23.4,48.2-44.6,94.8-63.7,139.5
  
c-21.7,50.7-40.7,99.2-57.5,145.1c-11,30.2-21,59.4-30.1,87.4c-7.5,24-14.7,47.9-21.5,71.8c-16,56.3-29.9,112.4-41.2,168.3
  
L353,1935.1c14.3-38.1,28.9-76.8,44-116C401.1,1808.2,405.4,1797.3,409.6,1786.3z"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-7161.7642" 
y1="-2379.1431" x2="-5631.2524" y2="-2379.1431" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0" style="stop-color:#282662"/>
+       <stop offset="9.548390e-02" style="stop-color:#662E8D"/>
+       <stop offset="0.7882" style="stop-color:#9F2064"/>
+       <stop offset="0.9487" style="stop-color:#CD2032"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" 
d="M243.5,1729.4c-13.6,68.2-23.2,136.2-28,203.8c-0.2,2.4-0.4,4.7-0.5,7.1  
c-33.7-54-124-106.8-123.8-106.2c64.6,93.7,113.7,186.7,120.9,278c-34.6,7.1-82-3.2-136.8-23.3c57.1,52.5,100,67,116.7,70.9
  
c-52.5,3.3-107.1,39.3-162.1,80.8c80.5-32.8,145.5-45.8,192.1-35.3C148.1,2414.2,74.1,2645,0,2890c22.7-6.7,36.2-21.9,43.9-42.6
  
c13.2-44.4,100.8-335.6,238-718.2c3.9-10.9,7.8-21.8,11.8-32.9c1.1-3,2.2-6.1,3.3-9.2c14.5-40.1,29.5-81.1,45.1-122.9
  
c3.5-9.5,7.1-19,10.7-28.6c0.1-0.2,0.1-0.4,0.2-0.6l-107.9-213.2C244.6,1724.4,244,1726.9,243.5,1729.4z"/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-7374.1626" 
y1="-2117.1309" x2="-4461.8428" y2="-2117.1309" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0.3233" style="stop-color:#9E2064"/>
+       <stop offset="0.6302" style="stop-color:#C92037"/>
+       <stop offset="0.7514" style="stop-color:#CD2335"/>
+       <stop offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_6_)" 
d="M805.6,937c-3.1,6.3-6.2,12.7-9.3,19.1c-9.3,19.2-18.8,38.8-28.3,58.8  
c-10.3,21.7-20.7,43.9-31.3,66.5c-5.3,11.4-10.6,22.9-16,34.6c-16.1,35-32.4,71.1-48.9,108.3c-20.3,45.8-41,93.4-62,142.8
  
c-20,47.1-40.3,95.9-60.9,146.3c-19.5,47.9-39.3,97.3-59.3,148.3c-17.8,45.4-35.9,92.1-54,140.1c-0.9,2.3-1.8,4.7-2.6,7
  
c-18,47.6-36.2,96.6-54.6,146.8c-0.4,1.1-0.8,2.3-1.3,3.4l86.9-9.5c-1.7-0.3-3.5-0.5-5.2-0.9c103.9-13,242.1-90.6,331.4-186.5
  
c41.1-44.2,78.5-96.3,113-157.3c25.7-45.4,49.8-95.8,72.8-151.5c20.1-48.7,39.4-101.4,58-158.6c-23.9,12.6-51.2,21.8-81.4,28.2
  
c-5.3,1.1-10.7,2.2-16.1,3.1c-5.5,1-11,1.8-16.6,2.6l0,0l0,0c0.1,0,0.1-0.1,0.2-0.1c96.9-37.3,158-109.2,202.4-197.4
  
c-25.5,17.4-66.9,40.1-116.6,51.1c-6.7,1.5-13.7,2.7-20.7,3.7c-1.7,0.3-3.5,0.6-5.2,0.8l0,0l0,0c0.1,0,0.1,0,0.1-0.1
  
c0,0,0.1,0,0.1,0l0,0c33.6-14.1,62-29.8,86.6-48.4c5.3-4,10.4-8.1,15.3-12.3c7.5-6.5,14.7-13.3,21.5-20.5c4.4-4.6,8.6-9.3,12.7-14.2
  c9.6-11.5,18.7-23.9,27.1-37.3c2.6-4.1,5.1-8.3,7.6-12.6c3.
 2-6.2,6.3-12.3,9.3-18.3c13.5-27.2,24.4-51.5,33-72.8  
c4.3-10.6,8.1-20.5,11.3-29.7c1.3-3.7,2.5-7.2,3.7-10.6c3.4-10.2,6.2-19.3,8.4-27.3c3.3-12,5.3-21.5,6.4-28.4l0,0l0,0
  
c-3.3,2.6-7.1,5.2-11.3,7.7c-29.3,17.5-79.5,33.4-119.9,40.8l79.8-8.8l-79.8,8.8c-0.6,0.1-1.2,0.2-1.8,0.3c-4,0.7-8.1,1.3-12.2,2
  c0.7-0.3,1.4-0.7,2.1-1l-273,29.9C806.6,935,806.1,936,805.6,937z"/>
+<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-7554.8232" 
y1="-2132.0981" x2="-4642.5034" y2="-2132.0981" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0.3233" style="stop-color:#9E2064"/>
+       <stop offset="0.6302" style="stop-color:#C92037"/>
+       <stop offset="0.7514" style="stop-color:#CD2335"/>
+       <stop offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_7_)" 
d="M1112.9,385.1c-24.3,37.3-50.8,79.6-79.4,127.5c-1.5,2.5-3,5.1-4.5,7.6  
c-24.6,41.5-50.8,87.1-78.3,137c-23.8,43.1-48.5,89.3-74.3,139c-22.4,43.3-45.6,89.2-69.4,137.8l273-29.9
  
c79.5-36.6,115.1-69.7,149.6-117.6c9.2-13.2,18.4-27,27.5-41.3c28-43.8,55.6-92,80.1-139.9c23.7-46.3,44.7-92.2,60.7-133.5
  
c10.2-26.3,18.4-50.8,24.1-72.3c5-19,8.9-36.9,11.9-54.1C1327.9,363.5,1197.6,380.9,1112.9,385.1z"/>
+<path fill="#BE202E" 
d="M936.5,1326.1c-5.5,1-11,1.8-16.6,2.6l0,0C925.5,1328,931,1327.1,936.5,1326.1z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M936.5,1326.1c-5.5,1-11,1.8-16.6,2.6l0,0C925.5,1328,931,1327.1,936.5,1326.1z"/>
+<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-7374.1626" 
y1="-2027.484" x2="-4461.8433" y2="-2027.484" gradientTransform="matrix(0.4226 
-0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0.3233" style="stop-color:#9E2064"/>
+       <stop offset="0.6302" style="stop-color:#C92037"/>
+       <stop offset="0.7514" style="stop-color:#CD2335"/>
+       <stop offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_8_)" 
d="M936.5,1326.1c-5.5,1-11,1.8-16.6,2.6l0,0C925.5,1328,931,1327.1,936.5,1326.1z"/>
+<path fill="#BE202E" 
d="M980,1186.8c1.8-0.2,3.5-0.5,5.2-0.8C983.5,1186.3,981.8,1186.6,980,1186.8L980,1186.8z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M980,1186.8c1.8-0.2,3.5-0.5,5.2-0.8C983.5,1186.3,981.8,1186.6,980,1186.8L980,1186.8z"/>
+<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-7374.1626" 
y1="-2037.7417" x2="-4461.8433" y2="-2037.7417" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0.3233" style="stop-color:#9E2064"/>
+       <stop offset="0.6302" style="stop-color:#C92037"/>
+       <stop offset="0.7514" style="stop-color:#CD2335"/>
+       <stop offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_9_)" 
d="M980,1186.8c1.8-0.2,3.5-0.5,5.2-0.8C983.5,1186.3,981.8,1186.6,980,1186.8L980,1186.8z"/>
+<path fill="#BE202E" 
d="M980.2,1186.7C980.2,1186.7,980.2,1186.7,980.2,1186.7L980.2,1186.7L980.2,1186.7L980.2,1186.7
  C980.2,1186.7,980.2,1186.7,980.2,1186.7z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M980.2,1186.7C980.2,1186.7,980.2,1186.7,980.2,1186.7L980.2,1186.7L980.2,1186.7
  L980.2,1186.7C980.2,1186.7,980.2,1186.7,980.2,1186.7z"/>
+<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-5738.0635" 
y1="-2039.799" x2="-5094.3457" y2="-2039.799" gradientTransform="matrix(0.4226 
-0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop offset="0.3233" style="stop-color:#9E2064"/>
+       <stop offset="0.6302" style="stop-color:#C92037"/>
+       <stop offset="0.7514" style="stop-color:#CD2335"/>
+       <stop offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_10_)" 
d="M980.2,1186.7C980.2,1186.7,980.2,1186.7,980.2,1186.7L980.2,1186.7L980.2,1186.7L980.2,1186.7
  C980.2,1186.7,980.2,1186.7,980.2,1186.7z"/>
+</svg>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/bullet.gif
----------------------------------------------------------------------
diff --git a/img/bullet.gif b/img/bullet.gif
new file mode 100644
index 0000000..111d214
Binary files /dev/null and b/img/bullet.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/cayenne.gif
----------------------------------------------------------------------
diff --git a/img/cayenne.gif b/img/cayenne.gif
new file mode 100644
index 0000000..4c373d0
Binary files /dev/null and b/img/cayenne.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/container-bg.gif
----------------------------------------------------------------------
diff --git a/img/container-bg.gif b/img/container-bg.gif
new file mode 100644
index 0000000..74e8701
Binary files /dev/null and b/img/container-bg.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/favicon.ico
----------------------------------------------------------------------
diff --git a/img/favicon.ico b/img/favicon.ico
new file mode 100644
index 0000000..3ba4e8d
Binary files /dev/null and b/img/favicon.ico differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/header-bg.gif
----------------------------------------------------------------------
diff --git a/img/header-bg.gif b/img/header-bg.gif
new file mode 100644
index 0000000..fb005bd
Binary files /dev/null and b/img/header-bg.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/modeler-thumb.png
----------------------------------------------------------------------
diff --git a/img/modeler-thumb.png b/img/modeler-thumb.png
new file mode 100644
index 0000000..9e48b6b
Binary files /dev/null and b/img/modeler-thumb.png differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/nav-bullet.gif
----------------------------------------------------------------------
diff --git a/img/nav-bullet.gif b/img/nav-bullet.gif
new file mode 100644
index 0000000..c493bbd
Binary files /dev/null and b/img/nav-bullet.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/nav-li.gif
----------------------------------------------------------------------
diff --git a/img/nav-li.gif b/img/nav-li.gif
new file mode 100644
index 0000000..d96c790
Binary files /dev/null and b/img/nav-li.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/nav-ul.gif
----------------------------------------------------------------------
diff --git a/img/nav-ul.gif b/img/nav-ul.gif
new file mode 100644
index 0000000..86dff19
Binary files /dev/null and b/img/nav-ul.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/oxygen190x62.png
----------------------------------------------------------------------
diff --git a/img/oxygen190x62.png b/img/oxygen190x62.png
new file mode 100644
index 0000000..d3e1b09
Binary files /dev/null and b/img/oxygen190x62.png differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/support-asf.png
----------------------------------------------------------------------
diff --git a/img/support-asf.png b/img/support-asf.png
new file mode 100644
index 0000000..4a23e05
Binary files /dev/null and b/img/support-asf.png differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/wrap-left.gif
----------------------------------------------------------------------
diff --git a/img/wrap-left.gif b/img/wrap-left.gif
new file mode 100644
index 0000000..b07f851
Binary files /dev/null and b/img/wrap-left.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/img/wrap-right.gif
----------------------------------------------------------------------
diff --git a/img/wrap-right.gif b/img/wrap-right.gif
new file mode 100644
index 0000000..68937d5
Binary files /dev/null and b/img/wrap-right.gif differ

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/5c52b18b/index.mdtext
----------------------------------------------------------------------
diff --git a/index.mdtext b/index.mdtext
new file mode 100644
index 0000000..166df4b
--- /dev/null
+++ b/index.mdtext
@@ -0,0 +1,50 @@
+Title: Home
+
+<a href="https://twitter.com/ApacheCayenne"; class="twitter-follow-button" 
data-show-count="false">Follow @ApacheCayenne</a>
+<script>!function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
 'script', 'twitter-wjs');</script>
+
+## Object Relational Mapping, Persistence and Caching for Java
+ 
+Apache Cayenne(tm) is an open source persistence framework licensed
+under the Apache License, providing object-relational mapping (ORM) and 
remoting services. With a wealth of unique and powerful features, Cayenne can 
address a wide
+range of persistence needs. Cayenne seamlessly binds one or more database
+schemas directly to Java objects, managing atomic commit and rollbacks, SQL
+generation, joins, sequences, and more. With Cayenne's Remote Object
+Persistence, those Java objects can even be persisted out to clients via
+Web Services.
+
+Cayenne is designed to be easy to use, without sacrificing flexibility or
+design. To that end, Cayenne supports database reverse engineering and
+generation, as well as a Velocity-based class generation engine. All of
+these functions can be controlled directly through the CayenneModeler, a
+fully functional GUI tool. No cryptic XML or annotation based configuration
+is required\! An entire database schema can be mapped directly to Java
+objects within minutes, all from the comfort of the GUI-based
+CayenneModeler.
+
+Cayenne supports numerous other features, including caching, a complete
+object query syntax, relationship pre-fetching, on-demand object and
+relationship faulting, object inheritance, database auto-detection, and
+generic persisted objects. Most importantly, Cayenne can scale up or down
+to virtually any project size. With a mature, 100% open source framework,
+an energetic user community, and a track record of solid performance in
+high-volume  environments, Cayenne is an exceptional choice for persistence
+services.
+
+## News
+
+* Mar 06, 2017 - [4.0 Milestone 5 
released](/2017/03/cayenne-40M5-released.html)
+* Dec 13, 2016 - [4.0 Milestone 4 
released](/2016/12/cayenne-40M4-released.html)
+* May 16, 2016 - [3.1.1 released](/2016/05/cayenne-311-released.html)
+* Feb 12, 2016 - [4.0 Milestone 3 
released](/2016/02/cayenne-40m3-released.html) 
+* Mar 18, 2015 - [4.0 Milestone 2 
released](/2015/03/cayenne-40m2-released.html) 
+
+## Cayenne Modeler
+<span style="float: right"><img style="border: 0px solid black" 
src="/img/modeler-thumb.png"></span>
+Cayenne is distributed with CayenneModeler - a complete GUI mapping tool that 
supports reverse-engineering of RDBMS
+schemas, working with database mappings and generation of Java source code
+for the persistent objects.
+
+Persistent Java classes are generated and synchronized with the mapping
+using the Modeler or alternatively with Maven or Ant. A database SQL schema
+can be generated from the Modeler and also with simple API calls.

Reply via email to