Collapse a few pages into one where they don't add much new information

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

Branch: refs/heads/master
Commit: e4c4d2c5cf87fd45bb487e6671c5bbf826c1a5ac
Parents: 9193c2b
Author: Aristedes Maniatis <a...@ish.com.au>
Authored: Tue May 30 13:52:45 2017 +0800
Committer: Aristedes Maniatis <a...@ish.com.au>
Committed: Tue May 30 13:52:45 2017 +0800

----------------------------------------------------------------------
 _includes/footer.html    | 22 ++++++++--------
 main/about.md            | 60 ++++++++++++++++++++++++++++++++++++++-----
 main/contributors.md     | 60 +++++++++++++++++++++----------------------
 main/database-support.md | 43 ++++++++++++++++---------------
 main/download.md         |  2 +-
 main/getting-started.md  |  7 -----
 main/how-can-i-help.md   |  7 ++---
 main/mailing-lists.md    |  2 +-
 main/success-stories.md  |  2 +-
 main/support.md          |  2 +-
 main/thanks.md           |  2 +-
 main/why-cayenne.md      | 59 ------------------------------------------
 12 files changed, 125 insertions(+), 143 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/_includes/footer.html
----------------------------------------------------------------------
diff --git a/_includes/footer.html b/_includes/footer.html
index 103f45f..d2acf1c 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -1,12 +1,12 @@
 <footer>
   <div class="container footer-bottom">
     <div class="col-md-8">
-      <h4><a href="/about.html">About</a></h4>
+      <h4>Why Cayenne?</h4>
         <ul>
-          <li><a href="/why-cayenne.html">Why Cayenne?</a></li>
-          <li><a href="/download.html">Download</a></li>
-          <li><a href="/success-stories.html">Success Stories</a></li>
-          <li><a href="/support.html">Support</a></li>
+          <li><a href="/about">About</a></li>
+          <li><a href="/download">Download</a></li>
+          <li><a href="/success-stories">Success Stories</a></li>
+          <li><a href="/support">Support</a></li>
         </ul>
     </div>
 
@@ -41,12 +41,12 @@
       <h4>Collaboration</h4>
       <ul>
         <li><a href="http://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/index.html">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>
-        <li><a href="/thanks.html">Thanks</a></li>
+        <li><a href="/mailing-lists">Mailing Lists</a></li>
+        <li><a href="/dev/code-repository">Code Repository</a></li>
+        <li><a href="/dev/index">Developer Guide</a></li>
+        <li><a href="/how-can-i-help">How Can I Help?</a></li>
+        <li><a href="/contributors">Contributors</a></li>
+        <li><a href="/thanks">Thanks</a></li>
       </ul>
     </div>
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/about.md
----------------------------------------------------------------------
diff --git a/main/about.md b/main/about.md
index 3686809..89999f1 100644
--- a/main/about.md
+++ b/main/about.md
@@ -1,13 +1,59 @@
 ---
 title:  About Cayenne
-permalink: /about/
+permalink: /about
 ---
 
-Explore  the following pages to learn more about what Cayenne is and how it
-can help your project.
+Cayenne is a Java _object relational mapping (ORM) framework_.  In other
+words, it is a tool for Java developers who need to talk to a database (or
+many databases).  Rather than hardcoding SQL statements through Java code,
+Cayenne allows a programmer to work only with Java objects abstracted from
+the database.  Here are just a few benefits of the Cayenne approach to
+persistence:
 
-* [Why Cayenne?](why-cayenne?.html)
-* [Download](download.html)
-* [Success Stories](success-stories.html)
-* [Commercial Support](commercial-support.html)
+* Portability between almost any [database](/database-support.html)
+ that has a JDBC driver without changing a single line of code in your
+application.
+* No knowledge of SQL is required (while it still can be helpful).
+* Code which validates any data committed to the database is easy to write
+and foolproof in operation.  This might be as simple as ensuring passwords
+have enough characters, or a complex check on the validity of a set of
+accounting operations in a general ledger transaction.  This allows you to
+move common error checking code out of the GUI layer and provides valuable
+protection against programming mistakes.
+* Caching in order to make your application faster and avoid repeated hits
+on the database for the same data.
+* Automatic faulting (lazy loading) of relationships, but easily supports
+prefetching of related data for improved performance when needed.
+* Pagination which reduces bandwidth and query times by only loading the
+contents of objects when they are actually needed.  The classic example of
+paging, which differs from faulting, is when a query returns 97 records,
+and you want to display 10 at-a-time to the user.  With paging, only the
+first 10 records are fully loaded.  Cayenne will automatically load only
+the page of records as they are requested.
+* Configurable optimistic locking to ensure data integrity and prevent
+unexpected data issues when another tool has changed the database behind
+the scenes (such as a maintainer updating a record in the database while a
+Cayenne-based application had the same record loaded to make changes).
+* A GUI-based database/schema modeler to simplify learning Cayenne.  The
+modeler saves to XML-based files, which can be hand-edited if needed.
+
+Also here are a few things that set Cayenne apart from other ORM products:
+
+* Cayenne can also work in three tier (ROP) mode where multiple clients
+connect to the data source not via JDBC but through a remote Cayenne
+controlled service.  This gives much greater control over centralized
+validation, caching and a seamless persistence of objects from the server
+through to the clients.  The clients might themselves be web servers
+delivering a distributed load balancing web farm or a rich GUI client such
+as a desktop Swing/SWT application.
+
+* A persistent object doesn't have to be of a class known at compile time.
+Instead Cayenne can use a generic class with mapping defined dynamically in
+runtime (all without any bytecode manipulation).
+
+* Cayenne supports "nested contexts" allowing an arbitrary number of
+nesting levels for commit/rollback operations. This way a user can create
+"scratch contexts" for working with objects, with the ability to discard
+(or save) those changes without affecting an overall larger set of
+uncommitted changes.
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/contributors.md
----------------------------------------------------------------------
diff --git a/main/contributors.md b/main/contributors.md
index ac94ec4..9f0f25b 100644
--- a/main/contributors.md
+++ b/main/contributors.md
@@ -1,6 +1,6 @@
 ---
 title:  Contributors
-permalink: /contributors/
+permalink: /contributors
 ---
 
 ### Committers and Project Management Committee
@@ -9,39 +9,39 @@ The most important part of Apache Cayenne project are the 
people who contribute
 
 A subset of those committers are the project management committee (PMC) who 
provide oversight of the project, legal compliance and quality. Finally the 
chair is out point of contact with the Apache Foundation board, reporting 
regardly to them on the health of the project.
 
-Name | Role | Email | Website
------|------|-------|--------
-Andrus Adamchik | PMC | aadamchik at apache dot org | 
[http://adamchik.org](http://adamchik.org)(personal) 
[http://objectstyle.com](http://objectstyle.com) (business)
-Cris Daniluk | Committer | cdaniluk at apache dot org| 
-Bill Dudney | PMC | bdudney at apache dot org | 
-Malcolm Edgar | Committer | medgar at apache dot org |  
-Michael Gentry | PMC, Chair | mgentry at apache dot org | 
-Tore Halset | Committer | torehalset at apache dot org | 
-John Huss| PMC | johnthuss at apache dot org | 
-Dzmitry Kazimirchyk | Committer | dkazimirchyk at apache dot org | 
-Xenia Khailenka | Committer | kseniak at apache dot org | 
-Mike Kienenberger | PMC | mkienenb at apache dot org | 
-Kevin Menard | PMC | kmenard at apache dot org | 
[http://www.servprise.com/](http://www.servprise.com/)
-Aristedes Maniatis | PMC | amaniatis at apache dot org | 
[http://www.ish.com.au](http://www.ish.com.au)
-Andrey Razumovsky | Committer | andrey at apache dot org | 
-Andriy Shapochka | Committer | ashapochka at apache dot org | 
-Olga Tkachova (Ольга Ткачева) | Committer | oltka at apache dot 
org | 
-Robert Zeigler | Committer | robertdzeigler at apache dot org | 
-Evgeny Ryabitskiy | Committer | evgeny at apache dot org | 
[http://www.diasoft.ru/](http://www.diasoft.ru/)
-Andrew Lindesay | Committer | apl at apache dot org | 
-Alex Kolonitsky | Committer | kolonitsky at apache dot org |
-Savva Kolbachev | Committer | skolbachev at apache dot org |
-Nikita Timofeev | Committer | ntimofeev at apache dot org |
+| Name                          | Role       | Email                           
 | Website                                                                      
                                    |
+|:------------------------------|:-----------|:---------------------------------|:-----------------------------------------------------------------------------------------------------------------|
+| Andrus Adamchik               | PMC        | aadamchik at apache dot org     
 | [http://adamchik.org](http://adamchik.org)(personal) 
[http://objectstyle.com](http://objectstyle.com) (business) |
+| Cris Daniluk                  | Committer  | cdaniluk at apache dot org      
 |                                                                              
                                    |
+| Bill Dudney                   | PMC        | bdudney at apache dot org       
 |                                                                              
                                    |
+| Malcolm Edgar                 | Committer  | medgar at apache dot org        
 |                                                                              
                                    |
+| Michael Gentry                | PMC, Chair | mgentry at apache dot org       
 |                                                                              
                                    |
+| Tore Halset                   | Committer  | torehalset at apache dot org    
 |                                                                              
                                    |
+| John Huss                     | PMC        | johnthuss at apache dot org     
 |                                                                              
                                    |
+| Dzmitry Kazimirchyk           | Committer  | dkazimirchyk at apache dot org  
 |                                                                              
                                    |
+| Xenia Khailenka               | Committer  | kseniak at apache dot org       
 |                                                                              
                                    |
+| Mike Kienenberger             | PMC        | mkienenb at apache dot org      
 |                                                                              
                                    |
+| Kevin Menard                  | PMC        | kmenard at apache dot org       
 | [http://www.servprise.com/](http://www.servprise.com/)                       
                                    |
+| Aristedes Maniatis            | PMC        | amaniatis at apache dot org     
 | [http://www.ish.com.au](http://www.ish.com.au)                               
                                    |
+| Andrey Razumovsky             | Committer  | andrey at apache dot org        
 |                                                                              
                                    |
+| Andriy Shapochka              | Committer  | ashapochka at apache dot org    
 |                                                                              
                                    |
+| Olga Tkachova (Ольга Ткачева) | Committer  | oltka at apache dot 
org          |                                                                  
                                                |
+| Robert Zeigler                | Committer  | robertdzeigler at apache dot 
org |                                                                           
                                       |
+| Evgeny Ryabitskiy             | Committer  | evgeny at apache dot org        
 | [http://www.diasoft.ru/](http://www.diasoft.ru/)                             
                                    |
+| Andrew Lindesay               | Committer  | apl at apache dot org           
 |                                                                              
                                    |
+| Alex Kolonitsky               | Committer  | kolonitsky at apache dot org    
 |                                                                              
                                    |
+| Savva Kolbachev               | Committer  | skolbachev at apache dot org    
 |                                                                              
                                    |
+| Nikita Timofeev               | Committer  | ntimofeev at apache dot org     
 |                                                                              
                                    |
 
 ### Emeritus Committers
 
 Committers who are no longer active in the community. We wish them well and
 hope to see them return.
 
-Name | Email | Website
------|-------|--------
-Holger Hoffstaette | holger at wizards dot de | 
-Craig Miskell | | 
-Michael Shengaout | mshenga at pobox dot org | 
[http://reusablesoftwarecomponents.com](http://reusablesoftwarecomponents.com)
-Eric Schneider | eric at centralparksoftware dot com | 
[http://www.centralparksoftware.com/](http://www.centralparksoftware.com/)
+| Name               | Email                               | Website           
                                                             |
+|:-------------------|:------------------------------------|:-------------------------------------------------------------------------------|
+| Holger Hoffstaette | holger at wizards dot de            |                   
                                                             |
+| Craig Miskell      |                                     |                   
                                                             |
+| Michael Shengaout  | mshenga at pobox dot org            | 
[http://reusablesoftwarecomponents.com](http://reusablesoftwarecomponents.com) |
+| Eric Schneider     | eric at centralparksoftware dot com | 
[http://www.centralparksoftware.com/](http://www.centralparksoftware.com/)     |
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/database-support.md
----------------------------------------------------------------------
diff --git a/main/database-support.md b/main/database-support.md
index 9cccc7d..c622988 100644
--- a/main/database-support.md
+++ b/main/database-support.md
@@ -1,29 +1,30 @@
 ---
 title:  Database Support
-permalink: /database-support/
+permalink: /database-support
 ---
 
 ## Database Support
 
 This page provides useful information about JDBC driver settings for various 
database. All databases below have custom Cayenne DbAdapters and are 
automatically recognized by Cayenne AutoAdapter.
 
-Database                                 | Driver Name                         
   | Sample URL                                  | Notes         
------------------------------------------|----------------------------------------|---------------------------------------------|---------------
-[DB2](http://www.ibm.com/db2/)           | com.ibm.db2.jcc.DB2Driver           
   | jdbc:db2://127.0.0.1:50000/dbname           |               
-[Derby](http://db.apache.org/derby/)     | org.apache.derby.jdbc.ClientDriver  
   | jdbc:derby://127.0.0.1/testdb               | client/server 
-                                            | 
org.apache.derby.jdbc.EmbeddedDriver   | jdbc:derby:path-to-db-dir;create=true  
     | embedded      
-[FrontBase](http://www.frontbase.com/)   | jdbc.FrontBase.FBJDriver            
  | jdbc:FrontBase://127.0.0.1/dbname           |
-[HSQLDB](http://hsqldb.org/)             | org.hsqldb.jdbcDriver               
      | jdbc:hsqldb:hsql://127.0.0.1                | client/server 
-                                                | jdbc:hsqldb:                 
          | file:/path-to-hsql-db-files                 | embedded 
-[H2](www.h2database.com/)                | org.h2.Driver                       
      | jdbc:h2:mem:myTestMem;MVCC=TRUE             | embedded in-memory
-[Ingres](http://www.ingres.com/products/ingres-database.php)| 
com.ingres.jdbc.IngresDriver | jdbc:ingres://127.0.0.1:II7/dbname |             
  
-[MySQL](http://www.mysql.com/)           | com.mysql.jdbc.Driver               
   | jdbc:mysql://127.0.0.1/dbname                  |              
-[OpenBase](www.openbase.com)             | com.openbase.jdbc.ObDriver          
   | jdbc:openbase://127.0.0.1/dbname           |              
-[Oracle](http://www.oracle.com/)         | oracle.jdbc.driver.OracleDriver     
   | jdbc:oracle:thin:@//127.0.0.1:1521/dbname   |                 
-[PostgreSQL](http://www.postgresql.org/) | org.postgresql.Driver               
   | jdbc:postgresql://127.0.0.1:5432/dbname    |               
-[SQLite 3.*](http://www.sqlite.org/)     | org.sqlite.JDBC                     
   | jdbc:sqlite:path_to_dbfile                         | driver from zentus.com
-[SQLServer](http://www.microsoft.com/sqlserver)| 
[com.microsoft.sqlserver.jdbc.SQLServerDriver](http://msdn.microsoft.com/en-us/data/aa937724.aspx)
 | jdbc:sqlserver://127.0.0.1;databaseName=dbname   | Microsoft Driver
-                                            | 
com.microsoft.jdbc.sqlserver.SQLServerDriver | 
jdbc:microsoft:sqlserver://127.0.0.1;databaseName=dbname;SelectMethod=cursor | 
Microsoft Driver, SQL Server prior to 2005
-                      | net.sourceforge.jtds.jdbc.Driver       | 
jdbc:jtds:sqlserver://127.0.0.1:5000/dbname | [jTDS 
Driver](http://jtds.sourceforge.net/) 
-[Sybase](http://www.sybase.com/)          | com.sybase.jdbc3.jdbc.SybDriver    
    | jdbc:sybase:Tds:127.0.0.1:5000/dbname       | Sybase driver  
-                      | net.sourceforge.jtds.jdbc.Driver           | 
jdbc:jtds:sybase://127.0.0.1:5000/dbname;useLOBs=false;TDS=4.2 | [jTDS 
Driver](http://jtds.sourceforge.net/)
\ No newline at end of file
+
+| Database                                                     | Driver Name   
                                                                                
     | Sample URL                                     | Notes                  |
+|:-------------------------------------------------------------|:---------------------------------------------------------------------------------------------------|:-----------------------------------------------|:-----------------------|
+| [DB2](http://www.ibm.com/db2/)                               | 
com.ibm.db2.jcc.DB2Driver                                                       
                   | jdbc:db2://127.0.0.1:50000/dbname              |           
             |
+| [Derby](http://db.apache.org/derby/)                         | 
org.apache.derby.jdbc.ClientDriver                                              
                   | jdbc:derby://127.0.0.1/testdb                  | 
client/server          |
+| org.apache.derby.jdbc.EmbeddedDriver                         | 
jdbc:derby:path-to-db-dir;create=true                                           
                   | embedded                                       |           
             |
+| [FrontBase](http://www.frontbase.com/)                       | 
jdbc.FrontBase.FBJDriver                                                        
                   | jdbc:FrontBase://127.0.0.1/dbname              |           
             |
+| [HSQLDB](http://hsqldb.org/)                                 | 
org.hsqldb.jdbcDriver                                                           
                   | jdbc:hsqldb:hsql://127.0.0.1                   | 
client/server          |
+| jdbc:hsqldb:                                                 | 
file:/path-to-hsql-db-files                                                     
                   | embedded                                       |           
             |
+| [H2](www.h2database.com/)                                    | org.h2.Driver 
                                                                                
     | jdbc:h2:mem:myTestMem;MVCC=TRUE                | embedded in-memory     |
+| [Ingres](http://www.ingres.com/products/ingres-database.php) | 
com.ingres.jdbc.IngresDriver                                                    
                   | jdbc:ingres://127.0.0.1:II7/dbname             |           
             |
+| [MySQL](http://www.mysql.com/)                               | 
com.mysql.jdbc.Driver                                                           
                   | jdbc:mysql://127.0.0.1/dbname                  |           
             |
+| [OpenBase](www.openbase.com)                                 | 
com.openbase.jdbc.ObDriver                                                      
                   | jdbc:openbase://127.0.0.1/dbname               |           
             |
+| [Oracle](http://www.oracle.com/)                             | 
oracle.jdbc.driver.OracleDriver                                                 
                   | jdbc:oracle:thin:@//127.0.0.1:1521/dbname      |           
             |
+| [PostgreSQL](http://www.postgresql.org/)                     | 
org.postgresql.Driver                                                           
                   | jdbc:postgresql://127.0.0.1:5432/dbname        |           
             |
+| [SQLite 3.*](http://www.sqlite.org/)                         | 
org.sqlite.JDBC                                                                 
                   | jdbc:sqlite:path_to_dbfile                     | driver 
from zentus.com |
+| [SQLServer](http://www.microsoft.com/sqlserver)              | 
[com.microsoft.sqlserver.jdbc.SQLServerDriver](http://msdn.microsoft.com/en-us/data/aa937724.aspx)
 | jdbc:sqlserver://127.0.0.1;databaseName=dbname | Microsoft Driver       |
+| com.microsoft.jdbc.sqlserver.SQLServerDriver                 | 
jdbc:microsoft:sqlserver://127.0.0.1;databaseName=dbname;SelectMethod=cursor    
                   | Microsoft Driver, SQL Server prior to 2005     |           
             |
+| net.sourceforge.jtds.jdbc.Driver                             | 
jdbc:jtds:sqlserver://127.0.0.1:5000/dbname                                     
                   | [jTDS Driver](http://jtds.sourceforge.net/)    |           
             |
+| [Sybase](http://www.sybase.com/)                             | 
com.sybase.jdbc3.jdbc.SybDriver                                                 
                   | jdbc:sybase:Tds:127.0.0.1:5000/dbname          | Sybase 
driver          |
+| net.sourceforge.jtds.jdbc.Driver                             | 
jdbc:jtds:sybase://127.0.0.1:5000/dbname;useLOBs=false;TDS=4.2                  
                   | [jTDS Driver](http://jtds.sourceforge.net/)    |           
             |
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/download.md
----------------------------------------------------------------------
diff --git a/main/download.md b/main/download.md
index 1b8f588..bd5b2b4 100644
--- a/main/download.md
+++ b/main/download.md
@@ -1,6 +1,6 @@
 ---
 title:  Download
-permalink: /download/
+permalink: /download
 ---
 
 _KEYS file to verify the file signatures can be [found 
here](http://www.apache.org/dist/cayenne/KEYS)._

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/getting-started.md
----------------------------------------------------------------------
diff --git a/main/getting-started.md b/main/getting-started.md
deleted file mode 100644
index 41f65e2..0000000
--- a/main/getting-started.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title:  Getting started
-permalink: /getting-started/
----
-
-## Getting started
-

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/how-can-i-help.md
----------------------------------------------------------------------
diff --git a/main/how-can-i-help.md b/main/how-can-i-help.md
index e77193b..45109d0 100644
--- a/main/how-can-i-help.md
+++ b/main/how-can-i-help.md
@@ -1,6 +1,7 @@
-Title: How can I help?
-<a name="HowcanIhelp?-HowCanIHelp?"></a>
-## How Can I Help?
+---
+title:  How can I help?
+permalink: /how-can-i-help
+---
 
 Every volunteer project gets its strength from its participants. We invite
 everybody to participate in Cayenne. If you are willing to help,

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/mailing-lists.md
----------------------------------------------------------------------
diff --git a/main/mailing-lists.md b/main/mailing-lists.md
index d890aa4..dcd4255 100644
--- a/main/mailing-lists.md
+++ b/main/mailing-lists.md
@@ -1,6 +1,6 @@
 ---
 title:  Mailing Lists
-permalink: /mailing-lists/
+permalink: /mailing-lists
 ---
 
 ### User Mailing List

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/success-stories.md
----------------------------------------------------------------------
diff --git a/main/success-stories.md b/main/success-stories.md
index 38a93c0..270b994 100644
--- a/main/success-stories.md
+++ b/main/success-stories.md
@@ -1,6 +1,6 @@
 ---
 title:  Success stories
-permalink: /success-stories/
+permalink: /success-stories
 ---
 
 Not the full list by any means, but here is a number of organizations and

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/support.md
----------------------------------------------------------------------
diff --git a/main/support.md b/main/support.md
index aac20ea..e200f92 100644
--- a/main/support.md
+++ b/main/support.md
@@ -1,6 +1,6 @@
 ---
 title:  Support
-permalink: /support/
+permalink: /support
 ---
 
 ## Community Support

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/thanks.md
----------------------------------------------------------------------
diff --git a/main/thanks.md b/main/thanks.md
index 4a00634..dd73676 100644
--- a/main/thanks.md
+++ b/main/thanks.md
@@ -1,6 +1,6 @@
 ---
 title:  Thanks
-permalink: /thanks/
+permalink: /thanks
 ---
 
 ### License Donations

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e4c4d2c5/main/why-cayenne.md
----------------------------------------------------------------------
diff --git a/main/why-cayenne.md b/main/why-cayenne.md
deleted file mode 100644
index 40aa5de..0000000
--- a/main/why-cayenne.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title:  Why Cayenne
-permalink: /why-cayenne/
----
-
-Cayenne is a Java _object relational mapping (ORM) framework_. In other
-words, it is a tool for Java developers who need to talk to a database (or
-many databases).  Rather than hardcoding SQL statements through Java code,
-Cayenne allows a programmer to work only with Java objects abstracted from
-the database.  Here are just a few benefits of the Cayenne approach to
-persistence:
-
-* Portability between almost any [database](/database-support.html)
- that has a JDBC driver without changing a single line of code in your
-application.
-* No knowledge of SQL is required (while it still can be helpful).
-* Code which validates any data committed to the database is easy to write
-and foolproof in operation.  This might be as simple as ensuring passwords
-have enough characters, or a complex check on the validity of a set of
-accounting operations in a general ledger transaction. This allows you to
-move common error checking code out of the GUI layer and provides valuable
-protection against programming mistakes.
-* Caching in order to make your application faster and avoid repeated hits
-on the database for the same data.
-* Automatic faulting (lazy loading) of relationships, but easily supports
-prefetching of related data for improved performance when needed.
-* Pagination which reduces bandwidth and query times by only loading the
-contents of objects when they are actually needed.  The classic example of
-paging, which differs from faulting, is when a query returns 97 records,
-and you want to display 10 at-a-time to the user.  With paging, only the
-first 10 records are fully loaded.  Cayenne will automatically load only
-the page of records as they are requested.
-* Configurable optimistic locking to ensure data integrity and prevent
-unexpected data issues when another tool has changed the database behind
-the scenes (such as a maintainer updating a record in the database while a
-Cayenne-based application had the same record loaded to make changes).
-* A GUI-based database/schema modeler to simplify learning Cayenne.  The
-modeler saves to XML-based files, which can be hand-edited if needed.
-
-Also here are a few things that set Cayenne apart from other ORM products:
-
-* Cayenne can also work in three tier (ROP) mode where multiple clients
-connect to the data source not via JDBC but through a remote Cayenne
-controlled service.  This gives much greater control over centralized
-validation, caching and a seamless persistence of objects from the server
-through to the clients.  The clients might themselves be web servers
-delivering a distributed load balancing web farm or a rich GUI client such
-as a desktop Swing/SWT application.
-
-* A persistent object doesn't have to be of a class known at compile time.
-Instead Cayenne can use a generic class with mapping defined dynamically in
-runtime (all without any bytecode manipulation).
-
-* Cayenne supports "nested contexts" allowing an arbitrary number of
-nesting levels for commit/rollback operations. This way a user can create
-"scratch contexts" for working with objects, with the ability to discard
-(or save) those changes without affecting an overall larger set of
-uncommitted changes.
-

Reply via email to