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. -