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

[02/11] cayenne git commit: CAY-2371 Switch documentation from Docbook to Asciidoctor format

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/index.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/index.xml b/docs/docbook/getting-started/src/docbkx/index.xml
deleted file mode 100644
index 8a18e1e..0000000
--- a/docs/docbook/getting-started/src/docbkx/index.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="getting-started" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <info>
-        <title>Getting Started with Cayenne</title>
-        <copyright>
-            <year>2011-2017</year>
-            <holder>Apache Software Foundation and individual authors</holder>
-        </copyright>
-        <legalnotice>
-            <title>License</title>
-            <para>Licensed to the Apache Software Foundation (ASF) under one or more contributor
-                license agreements. See the NOTICE file distributed with this work for additional
-                information regarding copyright ownership. The ASF licenses this file to you under
-                the Apache License, Version 2.0 (the "License"); you may not use this file except in
-                compliance with the License. You may obtain a copy of the License at
-                http://www.apache.org/licenses/LICENSE-2.0</para>
-            
-            <para>Unless required by applicable law or agreed to in writing, software distributed
-                under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-                CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
-                language governing permissions and limitations under the License.</para>
-        </legalnotice>
-    </info>
-    <xi:include href="part1.xml"/>
-    <xi:include href="part2.xml"/>
-    <xi:include href="part3.xml"/>
-    <xi:include href="part4.xml"/>
-</book>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/java-classes.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/java-classes.xml b/docs/docbook/getting-started/src/docbkx/java-classes.xml
deleted file mode 100644
index 20c8b6f..0000000
--- a/docs/docbook/getting-started/src/docbkx/java-classes.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Creating Java Classes</title>
-    <para>Here we'll generate the Java classes from the model that was created in the previous
-        section. CayenneModeler can be used to also generate the database schema, but since we
-        specified "CreateIfNoSchemaStrategy" earlier when we created a DataNode, we'll skip the
-        database schema step. Still be aware that you can do it if you need to via "Tools &gt;
-        Create Database Schema".
-    </para>
-    <section xml:id="creating-java-classes">
-        <title>Creating Java Classes</title>
-        <itemizedlist>
-            <listitem>
-                <para>Select "Tools &gt; Generate Classes" menu.</para>
-            </listitem>
-            <listitem>
-                <para>For "Type" select "Standard Persistent Objects", if it is not already
-                    selected.</para>
-            </listitem>
-            <listitem>
-                <para>For the "Output Directory" select "src/main/java" folder under your Eclipse
-                    project folder (this is a "peer" location to the cayenne-*.xml location we
-                    selected before).</para>
-            </listitem>
-            <listitem>
-                <para>Click on "Entities" tab and check the "Check All Classes" checkbox (unless it
-                    is already checked and reads "Uncheck all Classes").</para>
-            </listitem>
-            <listitem>
-                <para>Click "Generate"</para>
-            </listitem>
-        </itemizedlist>
-        <para>Now go back to Eclipse, right click on "tutorial" project and select "Refresh" - you
-            should see pairs of classes generated for each mapped entity. You probably also see that
-            there's a bunch of red squiggles next to the newly generated Java classes in Eclipse.
-            This is because our project does not include Cayenne as a Maven dependency yet. Let's
-            fix it now by adding "cayenne-server" artifact in the bottom of the pom.xml file. The
-            resulting POM should look like
-            this:<programlisting>&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
-    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
-    &lt;groupId&gt;org.example.cayenne&lt;/groupId&gt;
-    &lt;artifactId&gt;tutorial&lt;/artifactId&gt;
-    &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
-
-    &lt;dependencies&gt;
-        &lt;dependency&gt;
-            &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
-            &lt;artifactId&gt;cayenne-server&lt;/artifactId&gt;
-   &lt;!-- Here specify the version of Cayenne you are actually using --&gt;
-            &lt;version&gt;3.1.2&lt;/version&gt;
-        &lt;/dependency&gt;
-    &lt;/dependencies&gt;
-&lt;/project&gt;</programlisting></para>
-        <para>Your computer must be connected to the internet. Once you save the pom.xml, Eclipse
-            will download the needed Cayenne jar file and add it to the project build path. As a
-            result, all the errors should disappear.</para>
-        <para><inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/eclipse-generatedclasses.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject></para>
-        <para>Now let's check the entity class pairs. Each one is made of a superclass (e.g. Artist)
-            and a subclass (e.g. Artist). You <emphasis role="bold">should not</emphasis> modify the
-            superclasses whose names start with "_" (underscore), as they will be replaced on
-            subsequent generator runs. Instead all custom logic should be placed in the subclasses
-            in "org.example.cayenne.persistent" package - those will never be overwritten by the
-            class generator.</para>
-        <para>
-            <note>
-                <para><emphasis role="bold">Class Generation
-                    Hint</emphasis> Often you'd start by generating classes from the
-                    Modeler, but at the later stages of the project the generation is usually
-                    automated either via Ant cgen task or Maven cgen mojo. All three methods are
-                    interchangeable, however Ant and Maven methods would ensure that you never
-                    forget to regenerate classes on mapping changes, as they are integrated into
-                    the build cycle.</para>
-            </note>
-        </para>
-        
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/object-context.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/object-context.xml b/docs/docbook/getting-started/src/docbkx/object-context.xml
deleted file mode 100644
index c5176e6..0000000
--- a/docs/docbook/getting-started/src/docbkx/object-context.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Getting started with ObjectContext</title>
-    <para>In this section we'll write a simple main class to run our application, and get a brief
-    introduction to Cayenne ObjectContext.</para>
-    <section xml:id="creating-main-class">
-        <title>Creating the Main Class</title>
-        <itemizedlist>
-            <listitem>
-                <para>In Eclipse create a new class called "Main" in the "org.example.cayenne"
-                    package.</para>
-            </listitem>
-            <listitem>
-                <para>Create a standard "main" method to make it a runnable
-                    class:<programlisting language="java">package org.example.cayenne;
-
-public class Main {
-
-    public static void main(String[] args) {
-
-    }
-}</programlisting></para>
-            </listitem>
-            <listitem>
-                <para>The first thing you need to be able to access the database is to create a
-                    ServerRuntime object (which is essentially a wrapper around Cayenne stack) and
-                    use it to obtain an instance of an
-                    ObjectContext.<programlisting language="java">package org.example.cayenne;
-
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.configuration.server.ServerRuntime;
-
-public class Main {
-
-    public static void main(String[] args) {
-        ServerRuntime cayenneRuntime = new ServerRuntime(
-                "cayenne-project.xml");
-        ObjectContext context = cayenneRuntime.getContext();
-    }
-}</programlisting></para>
-                <para>ObjectContext is an isolated "session" in Cayenne that provides all needed API
-                    to work with data. ObjectContext has methods to execute queries and manage
-                    persistent objects. We'll discuss them in the following sections. When the first
-                    ObjectContext is created in the application, Cayenne loads XML mapping files and
-                    creates a shared access stack that is later reused by other ObjectContexts.
-                </para>
-            </listitem>
-        </itemizedlist>
-    </section>
-    <section xml:id="runnning-app">
-        <title>Running Application</title>
-        <para>Let's check what happens when you run the application. But before we do that we need
-            to add another dependency to the pom.xml - Apache Derby, our embedded database engine.
-            The following piece of XML needs to be added to the
-            &lt;dependencies&gt;...&lt;/dependencies&gt; section, where we already have Cayenne
-            jars:<programlisting>&lt;dependency&gt;
-   &lt;groupId&gt;org.apache.derby&lt;/groupId&gt;
-   &lt;artifactId&gt;derby&lt;/artifactId&gt;
-   &lt;version&gt;10.8.1.2&lt;/version&gt;
-&lt;/dependency&gt;</programlisting>Now
-            we are ready to run. Right click the "Main" class in Eclipse and select "Run As &gt;
-            Java Application". In the console you'll see output similar to this, indicating that
-            Cayenne stack has been
-                started:<programlisting>INFO: Loading XML configuration resource from file:cayenne-project.xml
-INFO: loading user name and password.
-INFO: Created connection pool: jdbc:derby:memory:testdb;create=true
-    Driver class: org.apache.derby.jdbc.EmbeddedDriver
-    Min. connections in the pool: 1
-    Max. connections in the pool: 1</programlisting>
-            
-            <note><para><emphasis role="bold">How to Configure Cayenne Logging.</emphasis>  Follow the instructions in
-                    the logging chapter to tweak verbosity of the logging output.</para></note>
-           </para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/object-relational-mapping.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/object-relational-mapping.xml b/docs/docbook/getting-started/src/docbkx/object-relational-mapping.xml
deleted file mode 100644
index 8fb5207..0000000
--- a/docs/docbook/getting-started/src/docbkx/object-relational-mapping.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Getting started with Object Relational Mapping (ORM)</title>
-    <para> The goal of this section is to learn how to create a simple Object-Relational model with
-        CayenneModeler. We will create a complete ORM model for the following database
-        schema:</para>
-    <para><inlinemediaobject>
-            <imageobject>
-                <imagedata fileref="images/database-schema.jpg"/>
-            </imageobject>
-    </inlinemediaobject>
-    </para>
-    <para>
-        <note><para>Very often you'd have an existing database already, and
-            it can be quickly imported in Cayenne via "Tools &gt; Reengineer Database
-            Schema". This will save you lots of time compared to manual mapping. However
-            understanding how to create the mapping by hand is important, so we are showing
-            the "manual" approach below.</para></note>
-    </para>
-    <section xml:id="mapping-db-tables-and-columns">
-        <title>Mapping Database Tables and Columns</title>
-        <para>Lets go back to CayenneModeler where we have the newly created project open and start
-            by adding the ARTIST table. Database tables are called <emphasis role="bold"
-                >"DbEntities"</emphasis> in Cayenne mapping (those can be actual tables or database
-            views). </para>
-        <para>Select "datamap" on the left-hand side project tree and click "Create DbEntity" button
-            (or use "Project &gt; Create DbEntity" menu). A new DbEntity is created. In "DbEntity
-            Name" field enter "ARTIST". Then click on "Create Attribute" button on the entity
-            toolbar (third button from the left). This action changes the view to the "Attribute"
-            tab and adds a new attribute (attribute means a "table column" in this case) called
-            "untitledAttr". Let's rename it to ID, make it an INTEGER and make it a PK:</para>
-        <para><inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/modeler-artistid.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject></para>
-        <para>Similarly add NAME VARCHAR(200) and DATE_OF_BIRTH DATE attributes. After that repeat
-            this procedure for PAINTING and GALLERY entities to match DB schema shown above.</para>
-        <para>
-            <note>
-                <para>Don't forget to save your project periodically to
-                    avoid losing your work. You will also have to refresh the project in Eclipse
-                    after every CayenneModeler save, as Eclipse is by default unaware of any
-                    changes made in the Modeler.</para>
-            </note>
-        </para>
-    </section>
-    <section xml:id="mapping-db-relationships">
-        <title>Mapping Database Relationships</title>
-        <para>Now we need to specify relationships between ARTIST, PAINTING and GALLERY tables.
-            Start by creating a one-to-many ARTIST/PAINTING relationship:</para>
-        <itemizedlist>
-            <listitem>
-                <para>Select the ARTIST DbEntity on the left and click on the "Relationships"
-                    tab.</para>
-            </listitem>
-            <listitem>
-                <para>Click on "Create Relationship" button on the entity toolbar (second button
-                    from the left) - a relationship called "untitledRel" is created.</para>
-            </listitem>
-            <listitem>
-                <para>Choose the "Target" to be "Painting".</para>
-            </listitem>
-            <listitem>
-                <para>Click on the "Database Mapping" button (letter "I" in a circle) - relationship
-                    configuration dialog is presented. Here you can assign a name to the
-                    relationship and also its complimentary reverse relationship. This name can be
-                    anything (this is really a symbolic name of the database referential
-                    constraint), but it is recommended to use a valid Java identifier, as this will
-                    save some typing later. We'll call the relationship "paintings" and reverse
-                    relationship "artist".</para>
-            </listitem>
-            <listitem>
-                <para>Click on "Add" button on the right to add a join</para>
-            </listitem>
-            <listitem>
-                <para>Select "ID" column for the "Source" and "ARTIST_ID" column for the
-                    target.</para>
-            </listitem>
-            <listitem>
-                <para>Relationship information should now look like this:</para>
-            </listitem>
-        </itemizedlist>
-        <para><inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/modeler-dbrelationship.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject></para>
-        <itemizedlist>
-            <listitem>
-                <para>Click "Done" to confirm the changes and close the dialog.</para>
-            </listitem>
-            <listitem>
-                <para>Two complimentary relationships have been created - from ARTIST to PAINTING
-                    and back. Still you may have noticed one thing is missing - "paintings"
-                    relationship should be to-many, but "To Many" checkbox is not checked. Let's
-                    change that - check the checkbox for "paintings" relationship, and then click on
-                    PAINTING DbEntity, and uncheck "artist" relationship "To Many" to make the
-                    reverse relationship "to-one" as it should be.</para>
-            </listitem>
-            <listitem>
-                <para>Repeat the steps above to create a many-to-one relationship from PAINTING to
-                    GALLERY, calling the relationships pair "gallery" and "paintings".</para>
-            </listitem>
-        </itemizedlist>
-    </section>
-    <section xml:id="mapping-java-classes">
-        <title>Mapping Java Classes</title>
-        <para>Now that the database schema mapping is complete, CayenneModeler can create mappings
-            of Java classes (aka "ObjEntities") by deriving everything from DbEntities. At present
-            there is no way to do it for the entire DataMap in one click, so we'll do it for each
-            table individually.</para>
-        <itemizedlist>
-            <listitem>
-                <para>Select "ARTIST" DbEntity and click on "Create ObjEntity" button (a green class
-                    icon) either on the entity toolbar or on the main toolbar. An ObjEntity called
-                    "Artist" is created with a Java class field set to
-                    "org.example.cayenne.persistent.Artist". The modeler transformed the database
-                    names to the Java-friendly names (e.g., if you click on the "Attributes" tab,
-                    you'll see that "DATE_OF_BIRTH" column was converted to "dateOfBirth" Java class
-                    attribute).</para>
-            </listitem>
-            <listitem>
-                <para>Select "GALLERY" DbEntity and click on "Create ObjEntity" button again -
-                    you'll see a "Gallery" ObjEntity created.</para>
-            </listitem>
-            <listitem>
-                <para>Finally, do the same thing for "PAINTING".</para>
-            </listitem>
-        </itemizedlist>
-        <para>Now you need to synchronize relationships. Artist and Gallery entities were created
-            when there was no related "Painting" entity, so their relationships were not set. <itemizedlist>
-                <listitem>
-                    <para>Click on the "Artist" ObjEntity and (optinally) change to the
-                        "Relationships" tab. Now click on "Sync ObjEntity with DbEntity" button on
-                        the toolbar (two yellow arrows) - you will see the "paintings" relationship
-                        appear.</para>
-                </listitem>
-                <listitem>
-                    <para>Do the same for the "Gallery" entity.</para>
-                </listitem>
-            </itemizedlist></para>
-        <para>Unless you want to customize the Java class and property names (which you can do
-            easily) the mapping is complete. </para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/part1.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/part1.xml b/docs/docbook/getting-started/src/docbkx/part1.xml
deleted file mode 100644
index e80d03d..0000000
--- a/docs/docbook/getting-started/src/docbkx/part1.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<part xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="getting-started-part1" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <title>Setting up the environment</title>
-    <xi:include href="setup.xml"/>
-</part>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/part2.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/part2.xml b/docs/docbook/getting-started/src/docbkx/part2.xml
deleted file mode 100644
index f3fb46b..0000000
--- a/docs/docbook/getting-started/src/docbkx/part2.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<part xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="getting-started-part2" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <title>Learning mapping basics</title>
-    <xi:include href="starting-project.xml"/>
-    <xi:include href="object-relational-mapping.xml"/>
-    <xi:include href="java-classes.xml"/>
-</part>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/part3.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/part3.xml b/docs/docbook/getting-started/src/docbkx/part3.xml
deleted file mode 100644
index bb2805f..0000000
--- a/docs/docbook/getting-started/src/docbkx/part3.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<part xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="getting-started-part3" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <title>Learning Cayenne API</title>
-    <xi:include href="object-context.xml"/>
-    <xi:include href="persistent-objects.xml"/>
-    <xi:include href="select-query.xml"/>
-    <xi:include href="delete.xml"/>
-</part>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/part4.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/part4.xml b/docs/docbook/getting-started/src/docbkx/part4.xml
deleted file mode 100644
index c38cfc2..0000000
--- a/docs/docbook/getting-started/src/docbkx/part4.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<part xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="getting-started-part4" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <title>Converting to Web Application</title>
-    <xi:include href="webapp.xml"/>
-</part>
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/persistent-objects.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/persistent-objects.xml b/docs/docbook/getting-started/src/docbkx/persistent-objects.xml
deleted file mode 100644
index e1943e3..0000000
--- a/docs/docbook/getting-started/src/docbkx/persistent-objects.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Getting started with persistent objects</title>
-    <para>In this chapter we'll learn about persistent objects, how to customize them and how to
-        create and save them in DB.</para>
-    <section xml:id="customizing-persistent-objects">
-        <title>Inspecting and Customizing Persistent Objects</title>
-        <para>Persistent classes in Cayenne implement a DataObject interface. If you inspect any of
-            the classes generated earlier in this tutorial (e.g.
-            org.example.cayenne.persistent.Artist), you'll see that it extends a class with the name
-            that starts with underscore (org.example.cayenne.persistent.auto._Artist), which in turn
-            extends from org.apache.cayenne.CayenneDataObject. Splitting each persistent class into
-            user-customizable subclass (Xyz) and a generated superclass (_Xyz) is a useful technique
-            to avoid overwriting the custom code when refreshing classes from the mapping
-            model.</para>
-        <para>Let's for instance add a utility method to the Artist class that sets Artist date of
-            birth, taking a string argument for the date. It will be preserved even if the model
-            changes later:</para>
-        <programlisting language="java">package org.example.cayenne.persistent;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.example.cayenne.persistent.auto._Artist;
-
-public class Artist extends _Artist {
-
-    static final String DEFAULT_DATE_FORMAT = "yyyyMMdd";
-
-    /**
-     * Sets date of birth using a string in format yyyyMMdd.
-     */
-    public void setDateOfBirthString(String yearMonthDay) {
-        if (yearMonthDay == null) {
-            setDateOfBirth(null);
-        } else {
-
-            Date date;
-            try {
-                date = new SimpleDateFormat(DEFAULT_DATE_FORMAT)
-                        .parse(yearMonthDay);
-            } catch (ParseException e) {
-                throw new IllegalArgumentException(
-                        "A date argument must be in format '"
-                        + DEFAULT_DATE_FORMAT + "': " + yearMonthDay);
-            }
-
-            setDateOfBirth(date);
-        }
-    }
-}</programlisting>
-    </section>
-    <section xml:id="create-new-objects">
-        <title>Create New Objects</title>
-        <para>Now we'll create a bunch of objects and save them to the database. An object is
-            created and registered with ObjectContext using "newObject" method. Objects <emphasis
-                role="bold">must</emphasis> be registered with DataContext to be persisted and to
-            allow setting relationships with other objects. Add this code to the "main" method of
-            the Main class:</para>
-        <programlisting language="java">Artist picasso = context.newObject(Artist.class);
-picasso.setName("Pablo Picasso");
-picasso.setDateOfBirthString("18811025");</programlisting>
-        <para>Note that at this point "picasso" object is only stored in memory and is not saved in
-            the database. Let's continue by adding a Metropolitan Museum "Gallery" object and a few
-            Picasso "Paintings":</para>
-        <programlisting language="java">Gallery metropolitan = context.newObject(Gallery.class);
-metropolitan.setName("Metropolitan Museum of Art"); 
-
-Painting girl = context.newObject(Painting.class);
-girl.setName("Girl Reading at a Table");
-        
-Painting stein = context.newObject(Painting.class);
-stein.setName("Gertrude Stein");</programlisting>
-        <para>Now we can link the objects together, establishing relationships. Note that in each
-            case below relationships are automatically estabslished in both directions (e.g.
-            picasso.addToPaintings(girl) has exactly the same effect as
-            girl.setToArtist(picasso)).</para>
-        <programlisting language="java">picasso.addToPaintings(girl);
-picasso.addToPaintings(stein);
-        
-girl.setGallery(metropolitan);
-stein.setGallery(metropolitan);</programlisting>
-        <para>Now lets save all five new objects, in a single method call:</para>
-        <programlisting language="java">context.commitChanges();</programlisting>
-        <para>Now you can run the application again as described in the previous chapter. The new
-            output will show a few actual DB operations:</para>
-        <programlisting>org.apache.cayenne.configuration.XMLDataChannelDescriptorLoader load
-INFO: Loading XML configuration resource from file:cayenne-project.xml
-... 
-INFO: Opening connection: jdbc:derby:memory:testdb;create=true
-    Login: null
-    Password: *******
-INFO: +++ Connecting: SUCCESS.
-INFO: Detected and installed adapter: org.apache.cayenne.dba.derby.DerbyAdapter
-INFO: --- transaction started.
-INFO: No schema detected, will create mapped tables
-INFO: CREATE TABLE GALLERY (ID INTEGER NOT NULL, NAME VARCHAR (200), PRIMARY KEY (ID))
-INFO: CREATE TABLE ARTIST (DATE_OF_BIRTH DATE, ID INTEGER NOT NULL, NAME VARCHAR (200), PRIMARY KEY (ID))
-INFO: CREATE TABLE PAINTING (ARTIST_ID INTEGER, GALLERY_ID INTEGER, ID INTEGER NOT NULL, 
-      NAME VARCHAR (200), PRIMARY KEY (ID))
-INFO: ALTER TABLE PAINTING ADD FOREIGN KEY (ARTIST_ID) REFERENCES ARTIST (ID)
-INFO: ALTER TABLE PAINTING ADD FOREIGN KEY (GALLERY_ID) REFERENCES GALLERY (ID)
-INFO: CREATE TABLE AUTO_PK_SUPPORT (  
-      TABLE_NAME CHAR(100) NOT NULL,  NEXT_ID BIGINT NOT NULL,  PRIMARY KEY(TABLE_NAME))
-INFO: DELETE FROM AUTO_PK_SUPPORT WHERE TABLE_NAME IN ('ARTIST', 'GALLERY', 'PAINTING')
-INFO: INSERT INTO AUTO_PK_SUPPORT (TABLE_NAME, NEXT_ID) VALUES ('ARTIST', 200)
-INFO: INSERT INTO AUTO_PK_SUPPORT (TABLE_NAME, NEXT_ID) VALUES ('GALLERY', 200)
-INFO: INSERT INTO AUTO_PK_SUPPORT (TABLE_NAME, NEXT_ID) VALUES ('PAINTING', 200)
-INFO: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME = ? FOR UPDATE [bind: 1:'ARTIST']
-INFO: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME = ? FOR UPDATE [bind: 1:'GALLERY']
-INFO: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME = ? FOR UPDATE [bind: 1:'PAINTING']
-INFO: INSERT INTO GALLERY (ID, NAME) VALUES (?, ?)
-INFO: [batch bind: 1->ID:200, 2->NAME:'Metropolitan Museum of Art']
-INFO: === updated 1 row.
-INFO: INSERT INTO ARTIST (DATE_OF_BIRTH, ID, NAME) VALUES (?, ?, ?)
-INFO: [batch bind: 1->DATE_OF_BIRTH:'1881-10-25 00:00:00.0', 2->ID:200, 3->NAME:'Pablo Picasso']
-INFO: === updated 1 row.
-INFO: INSERT INTO PAINTING (ARTIST_ID, GALLERY_ID, ID, NAME) VALUES (?, ?, ?, ?)
-INFO: [batch bind: 1->ARTIST_ID:200, 2->GALLERY_ID:200, 3->ID:200, 4->NAME:'Gertrude Stein']
-INFO: [batch bind: 1->ARTIST_ID:200, 2->GALLERY_ID:200, 3->ID:201, 4->NAME:'Girl Reading at a Table']
-INFO: === updated 2 rows.
-INFO: +++ transaction committed.
-</programlisting>
-        <para>So first Cayenne creates the needed tables (remember, we used
-            "CreateIfNoSchemaStrategy"). Then it runs a number of inserts, generating primary keys
-            on the fly. Not bad for just a few lines of code.</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/select-query.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/select-query.xml b/docs/docbook/getting-started/src/docbkx/select-query.xml
deleted file mode 100644
index efe9ebd..0000000
--- a/docs/docbook/getting-started/src/docbkx/select-query.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Selecting Objects</title>
-    <para>This chapter shows how to select objects from the database using SelectQuery. </para>
-    <section xml:id="introducing-select-query">
-        <title>Introducing SelectQuery</title>
-        <para>It was shown before how to persist new objects. Cayenne queries are used to access
-            already saved objects. The primary query type used for selecting objects is <emphasis
-                role="italic">SelectQuery</emphasis>. It can be mapped in CayenneModeler or created
-            via the API. We'll use the later approach in this section. We don't have too much data
-            in the database yet, but we can still demonstrate the main principles below.</para>
-        <itemizedlist>
-            <listitem>
-                <para>Select all paintings (the code, and the log output it generates):</para>
-            </listitem>
-        </itemizedlist>
-        <programlisting language="java">SelectQuery select1 = new SelectQuery(Painting.class);
-List paintings1 = context.performQuery(select1);</programlisting>
-        <programlisting>INFO: SELECT t0.GALLERY_ID, t0.ARTIST_ID, t0.NAME, t0.ID FROM PAINTING t0
-INFO: === returned 2 rows. - took 18 ms.</programlisting>
-        <itemizedlist>
-            <listitem>
-                <para>Select paintings that start with "gi", ignoring case:</para>
-            </listitem>
-        </itemizedlist>
-        <programlisting language="java">Expression qualifier2 = ExpressionFactory.likeIgnoreCaseExp(
-                Painting.NAME_PROPERTY,
-                "gi%");
-SelectQuery select2 = new SelectQuery(Painting.class, qualifier2);
-List paintings2 = context.performQuery(select2);</programlisting>
-        <programlisting>INFO: SELECT t0.GALLERY_ID, t0.NAME, t0.ARTIST_ID, t0.ID FROM PAINTING t0 WHERE UPPER(t0.NAME) LIKE UPPER(?)
-      [bind: 1->NAME:'gi%'] - prepared in 6 ms.
-INFO: === returned 1 row. - took 18 ms.</programlisting>
-        <itemizedlist>
-            <listitem>
-                <para>Select all paintings done by artists who were born more than a 100 years ago
-                    (demonstrating using Expression.fromString(..) instead of
-                    ExpressionFactory):</para>
-            </listitem>
-        </itemizedlist>
-        <programlisting language="java">Calendar c = new GregorianCalendar();
-c.set(c.get(Calendar.YEAR) - 100, 0, 1, 0, 0, 0);
-
-Expression qualifier3 = Expression.fromString("artist.dateOfBirth &lt; $date");
-qualifier3 = qualifier3.expWithParameters(Collections.singletonMap("date", c.getTime()));
-SelectQuery select3 = new SelectQuery(Painting.class, qualifier3);
-List paintings3 = context.performQuery(select3);</programlisting>
-        <programlisting>INFO: SELECT t0.GALLERY_ID, t0.NAME, t0.ARTIST_ID, t0.ID FROM PAINTING t0 JOIN ARTIST t1 ON (t0.ARTIST_ID = t1.ID)
-      WHERE t1.DATE_OF_BIRTH &lt; ? [bind: 1->DATE_OF_BIRTH:'1911-01-01 00:00:00.493'] - prepared in 7 ms.
-INFO: === returned 2 rows. - took 25 ms.</programlisting>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/setup.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/setup.xml b/docs/docbook/getting-started/src/docbkx/setup.xml
deleted file mode 100644
index e87877c..0000000
--- a/docs/docbook/getting-started/src/docbkx/setup.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Setup</title>
-    <para> The goal of this chapter of the tutorial is to install (or check that you already have
-        installed) a minimally needed set of software to build a Cayenne application. </para>
-    <section xml:id="install-java">
-        <title>Install Java</title>
-        <para>
-            Obviously, JDK has to be installed. Cayenne 3.1 requires JDK 1.5 or newer.
-        </para>
-    </section>
-    <section xml:id="install-eclipse-and-maven">
-        <title>Install Eclipse IDE and the Maven Plugin</title>
-        <para> Download Eclipse. This tutorial is based on the Galileo package (Eclipse 3.5), JEE
-            edition, still it should work with any recent vanilla Eclipse distribution. </para>
-        <para> After downloading Eclipse, unpack it somewhere in the filesystem, and start it. The
-            only plugin that you need for the tutorial is m2eclipse. To install it, in Eclipse go to
-            "Help > Install New Software", then click on "Add.." to add a new download site, and
-            enter "Maven" in the "Name" field, and "<emphasis role="italic"
-                >http://m2eclipse.sonatype.org/sites/m2e</emphasis>" in the "Location" field. You
-            may install any of the optional components that you think you need, but for this
-            tutorial we only select a few basic components as shown on the following screenshot: </para>
-        <para>
-            <inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/maven-plugin-install.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject></para>
-        <para>
-            From here follow the Eclipse dialog instructions to finish the installation.
-        </para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/starting-project.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/starting-project.xml b/docs/docbook/getting-started/src/docbkx/starting-project.xml
deleted file mode 100644
index c4ea8a7..0000000
--- a/docs/docbook/getting-started/src/docbkx/starting-project.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Starting a project</title>
-    <para>
-        The goal of this chapter is to create a new Java project in Eclipse 
-        containing a basic Cayenne mapping. It presents an introduction to 
-        CayenneModeler GUI tool, showing how to create the initial mapping 
-        objects: DataDomain, DataNode, DataMap.
-    </para>
-    <section xml:id="create-new-project">
-        <title>Create a new Project in Eclipse </title>
-        <para>
-            In Eclipse select "File > New > Other..." and then "Maven > 
-            Maven Project". Click "Next". On the following screen check 
-            "Create a simple project" checkbox and click "Next" again. 
-            In the dialog shown on the screenshot below, fill the "Group Id" 
-            and "Artifact Id" fields and click "Finish". 
-        </para>
-        <para>
-            <inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/tutorial-eclipse-project.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject>
-        </para>
-        <para>
-            Now you should have a new empty project in the Eclipse workspace. 
-            Check that the project Java compiler settings are correct. Rightclick 
-            on the "tutorial" project, select "Properties > Java Compiler" and 
-            ensure that "Compiler compliance level" is at least "1.5" 
-            (some versions of Maven plugin seem to be setting it to 1.4 by default).
-        </para>
-    </section>
-    <section xml:id="download-and-start-cayenne-modeler">
-        <title>Download and Start CayenneModeler</title>
-        <para>
-            Although later in this tutorial we'll be using Maven to include Cayenne 
-            runtime jars in the project, you'll still need to download Cayenne to 
-            get access to the CayenneModeler tool. 
-        </para>
-        <para>
-            <note><para>If you are really into Maven, you can start
-                CayenneModeler from Maven too. We'll do it in a more traditional way
-                here.</para></note>
-        </para>
-        <para> Download the latest release. Unpack the distribution somewhere in the file system and
-            start CayenneModeler, following platform-specific instructions. On most platforms it is
-            done simply by doubleclicking the Modeler icon. The welcome screen of the Modeler looks
-            like this: </para>
-        <para><inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/modeler-started.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject></para>
-    </section>
-    <section xml:id="create-new-mapping-project">
-        <title>Create a New Mapping Project in CayenneModeler</title>
-        <para>Click on the "New Project" button on Welcome screen. A new mapping project will appear
-            that contains a single <emphasis role="bold">DataDomain</emphasis>. The meaning of a
-            DataDomain is explained elsewhere in the User Guide. For now it is sufficient to
-            understand that DataDomain is the root of your mapping project.</para>
-        
-    </section>
-    <section xml:id="create-datanode">
-        <title>Create a DataNode</title>
-        <para>The next project object you will create is a <emphasis role="bold"
-            >DataNode</emphasis>. DataNode is a descriptor of a single database your application
-            will connect to. Cayenne mapping project can use more than one database, but for now,
-            we'll only use one. With "project" selected on the left, click on "Create DataNode"
-            button on the toolbar (or select "Project &gt; Create DataNode" from the menu.</para>
-        <para>A new DataNode is displayed. Now you need to specify JDBC connection parameters. For
-            an in-memory Derby database you can enter the following settings: <itemizedlist>
-                <listitem>
-                    <para>JDBC Driver: org.apache.derby.jdbc.EmbeddedDriver</para>
-                </listitem>
-                <listitem>
-                    <para>DB URL: jdbc:derby:memory:testdb;create=true</para>
-                </listitem>
-            </itemizedlist></para>
-        <para>
-            <note><para>We are creating an in-memory database here. So when
-                you stop your application, all the data will be lost. In most real-life
-                cases you'll be connecting to a database that actually persists its data on
-                disk, but an in-memory DB will do for the simple tutorial.</para>
-            </note>
-        </para>
-        <para>Also you will need to change "Schema Update Strategy". Select
-            "org.apache.cayenne.access.dbsync.CreateIfNoSchemaStrategy" from the dropdown, so that
-            Cayenne creates a new schema on Derby based on the ORM mapping when the application
-            starts.</para>
-        <para><inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/base-datanode.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject></para>
-        
-    </section>
-    <section xml:id="create-datamap">
-        <title>Create a DataMap</title>
-        <para>Now you will create a <emphasis role="bold">DataMap</emphasis>. DataMap is an object
-            that holds all the mapping information. To create it, click on "Create DataMap" button
-            (or select a corresponding menu item). Note that the newly created DataMap is
-            automatically linked to the DataNode that you created in the previous step. If there is
-            more than one DataNode, you may need to link a DataMap to the correct node manually. In
-            other words a DataMap within DataDomain must point to a database described by the
-            map.</para>
-        <para>You can leave all the DataMap defaults unchanged except for one - "Java Package".
-            Enter "org.example.cayenne.persistent". This name will later be used for all persistent
-            classes.</para>
-        <para><inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/base-datamap.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject></para>
-        
-    </section>
-    <section xml:id="save-project">
-        <title>Save the Project</title>
-        <para>Before you proceed with the actual mapping, let's save the project. Click on "Save"
-            button in the toolbar and navigate to the "tutorial" Eclipse project folder that was
-            created earlier in this section and its "src/main/resources" subfolder and save the
-            project there. Now go back to Eclipse, right click on "tutorial" project and select
-            "Refresh", you will see three Cayenne XML files.</para>
-        <para><inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/eclipse-xmlfiles.png"/>
-                </imageobject>
-            </inlinemediaobject></para>
-        <para>Note that the location of the XML files is not coincidental. Cayenne runtime looks for
-            "cayenne-*.xml" file in the application CLASSPATH and "src/main/resources" folder should
-            already be a "class folder" in Eclipse for our project (and is also a standard location
-            that Maven would copy to a jar file, if we were using Maven from command-line).</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/webapp.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/webapp.xml b/docs/docbook/getting-started/src/docbkx/webapp.xml
deleted file mode 100644
index 8882b87..0000000
--- a/docs/docbook/getting-started/src/docbkx/webapp.xml
+++ /dev/null
@@ -1,301 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Converting to Web Application</title>
-    <para>This chapter shows how to work with Cayenne in a web application.</para>
-    <section xml:id="converting-to-webapp">
-        <title>Converting Tutorial to a Web Application</title>
-        <para>The web part of the web application tutorial is done in JSP, which is the least common
-            denominator of the Java web technologies, and is intentionally simplistic from the UI
-            perspective, to concentrate on Cayenne integration aspect, rather than the interface. A
-            typical Cayenne web application works like this:</para>
-        <itemizedlist>
-            <listitem>
-                <para>Cayenne configuiration is loaded when an application context is started, using
-                    a special servlet filter.</para>
-            </listitem>
-            <listitem>
-                <para>User requests are intercepted by the filter, and the DataContext is bound to
-                    the request thread, so the application can access it easily from
-                    anywhere.</para>
-            </listitem>
-            <listitem>
-                <para>The same DataContext instance is reused within a single user session;
-                    different sessions use different DataContexts (and therefore different sets of
-                    objects). <emphasis role="italic">The context can be scoped differently
-                        depending on the app specifics. For the tutorial we'll be using a
-                        session-scoped context.</emphasis></para>
-            </listitem>
-        </itemizedlist>
-        <para>So let's convert the tutorial that we created to a web application:</para>
-        <itemizedlist>
-            <listitem>
-                <para>In Eclipse under "tutorial" project folder create a new folder
-                    "src/main/webapp/WEB-INF".</para>
-            </listitem>
-            <listitem>
-                <para>Under "WEB-INF" create a new file "web.xml" (a standard web app descriptor): </para>
-                <para>
-                    <emphasis role="bold">web.xml</emphasis>
-                    <programlisting>&lt;?xml version="1.0" encoding="utf-8"?&gt;
- &lt;!DOCTYPE web-app
-   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-  "http://java.sun.com/dtd/web-app_2_3.dtd"&gt;
-&lt;web-app&gt;
-    &lt;display-name&gt;Cayenne Tutorial&lt;/display-name&gt;
-
-    &lt;!-- This filter bootstraps ServerRuntime and then provides each request thread 
-         with a session-bound DataContext. Note that the name of the filter is important,
-         as it points it to the right named configuration file.
-    --&gt;
-    &lt;filter&gt;
-        &lt;filter-name&gt;cayenne-project&lt;/filter-name&gt;
-        &lt;filter-class&gt;org.apache.cayenne.configuration.web.CayenneFilter&lt;/filter-class&gt;
-    &lt;/filter&gt;
-    &lt;filter-mapping&gt;
-        &lt;filter-name&gt;cayenne-project&lt;/filter-name&gt;
-        &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
-    &lt;/filter-mapping&gt;
-    &lt;welcome-file-list&gt;
-        &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
-    &lt;/welcome-file-list&gt;
-&lt;/web-app&gt;</programlisting></para>
-            </listitem>
-            <listitem>
-                <para>Create the artist browser page src/main/webapp/index.jsp file with the
-                    following contents: </para>
-                <para><emphasis role="bold">webapp/index.jsp</emphasis>
-                    <programlisting>&lt;%@ page language="java" contentType="text/html" %&gt;
-&lt;%@ page import="org.example.cayenne.persistent.*" %&gt;
-&lt;%@ page import="org.apache.cayenne.*" %&gt;
-&lt;%@ page import="org.apache.cayenne.query.*" %&gt;
-&lt;%@ page import="org.apache.cayenne.exp.*" %&gt;
-&lt;%@ page import="java.util.*" %&gt;
-
-&lt;% 
-    SelectQuery query = new SelectQuery(Artist.class);
-    query.addOrdering(Artist.NAME_PROPERTY, SortOrder.ASCENDING);
-
-    ObjectContext context = BaseContext.getThreadObjectContext();
-    List&lt;Artist&gt; artists = context.performQuery(query);
-%&gt;
-&lt;html&gt;
-    &lt;head&gt;
-        &lt;title&gt;Main&lt;/title&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;h2&gt;Artists:&lt;/h2&gt;
-        
-        &lt;% if(artists.isEmpty()) {%&gt;
-        &lt;p&gt;No artists found&lt;/p&gt;
-        &lt;% } else { 
-            for(Artist a : artists) {
-        %&gt;
-        &lt;p&gt;&lt;a href="detail.jsp?id=&lt;%=Cayenne.intPKForObject(a)%&gt;"&gt; &lt;%=a.getName()%&gt; &lt;/a&gt;&lt;/p&gt;
-        &lt;%
-            }
-            } %&gt;
-        &lt;hr&gt;
-        &lt;p&gt;&lt;a href="detail.jsp"&gt;Create new artist...&lt;/a&gt;&lt;/p&gt;
-    &lt;/body&gt;
-&lt;/html&gt; </programlisting></para>
-            </listitem>
-            <listitem>
-                <para>Create the artist editor page src/main/webapp/detail.jsp with the following
-                    content: </para>
-                <para><emphasis role="bold">webapp/detail.jsp</emphasis>
-                    <programlisting>&lt;%@ page language="java" contentType="text/html" %&gt;
-&lt;%@ page import="org.example.cayenne.persistent.*" %&gt;
-&lt;%@ page import="org.apache.cayenne.*" %&gt;
-&lt;%@ page import="java.util.*" %&gt;
-&lt;%@ page import="java.text.*" %&gt;
-
-&lt;% 
-    ObjectContext context = BaseContext.getThreadObjectContext();
-    String id = request.getParameter("id");
-
-    // find artist for id
-    Artist artist = null;
-    if(id != null &amp;&amp; id.trim().length() &gt; 0) {
-        artist = Cayenne.objectForPK(context, Artist.class, Integer.parseInt(id));
-    }
-
-    if("POST".equals(request.getMethod())) {
-        // if no id is saved in the hidden field, we are dealing with
-        // create new artist request
-        if(artist == null) {
-            artist = context.newObject(Artist.class);
-        }
-
-        // note that in a real application we would so dome validation ...
-        // here we just hope the input is correct
-        artist.setName(request.getParameter("name"));
-        artist.setDateOfBirthString(request.getParameter("dateOfBirth"));
-
-        context.commitChanges();
-
-        response.sendRedirect("index.jsp");
-    }
-
-    if(artist == null) {
-        // create transient artist for the form response rendering
-        artist = new Artist();
-    }
-
-    String name = artist.getName() == null ? "" : artist.getName();
-    String dob = artist.getDateOfBirth() == null
-            ? "" : new SimpleDateFormat("yyyyMMdd").format(artist.getDateOfBirth());
-%&gt;
-&lt;html&gt;
-    &lt;head&gt;
-        &lt;title&gt;Artist Details&lt;/title&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;h2&gt;Artists Details&lt;/h2&gt;
-        &lt;form name="EditArtist" action="detail.jsp" method="POST"&gt;
-            &lt;input type="hidden" name="id" value="&lt;%= id != null ? id : "" %&gt;" /&gt;
-            &lt;table border="0"&gt;
-                &lt;tr&gt;
-                    &lt;td&gt;Name:&lt;/td&gt;
-                    &lt;td&gt;&lt;input type="text" name="name" value="&lt;%= name %&gt;"/&gt;&lt;/td&gt;
-                &lt;/tr&gt;
-                &lt;tr&gt;
-                    &lt;td&gt;Date of Birth (yyyyMMdd):&lt;/td&gt;
-                    &lt;td&gt;&lt;input type="text" name="dateOfBirth" value="&lt;%= dob %&gt;"/&gt;&lt;/td&gt;
-                &lt;/tr&gt;
-                &lt;tr&gt;
-                    &lt;td&gt;&lt;/td&gt;
-                    &lt;td align="right"&gt;&lt;input type="submit" value="Save" /&gt;&lt;/td&gt;
-                &lt;/tr&gt;  
-            &lt;/table&gt;
-        &lt;/form&gt;
-    &lt;/body&gt;
-&lt;/html&gt;</programlisting></para>
-            </listitem>
-        </itemizedlist>
-    </section>
-    <section xml:id="running-webapp">
-        <title>Running Web Application</title>
-        <para>To run the web application we'll use "maven-jetty-plugin". To activate it, let's add
-            the following piece of code to the "pom.xml" file, following the "dependencies" section
-            and save the POM:</para>
-        <programlisting>&lt;build&gt;
-    &lt;plugins&gt;
-        &lt;plugin&gt;
-            &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
-            &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;
-            &lt;version&gt;6.1.22&lt;/version&gt;
-        &lt;/plugin&gt;
-    &lt;/plugins&gt;
-&lt;/build&gt;</programlisting>
-        <itemizedlist>
-            <listitem>
-                <para>Go to "Run &gt; Run Configurations..." menu, select "Maven Build", right click
-                    and select "New"</para>
-            </listitem>
-            <listitem>
-                <para>Make sure you fill "Name", "Base directory" and "Goals" fields as shown on the
-                    screenshot:</para>
-                <para><inlinemediaobject>
-                        <imageobject>
-                            <imagedata fileref="images/eclipse-mvnrun.png" scalefit="1" width="100%"/>
-                        </imageobject>
-                    </inlinemediaobject></para>
-            </listitem>
-        </itemizedlist>
-        <itemizedlist>
-            <listitem>
-                <para>Click "Apply" and "Run". On the first execution it may take a few minutes for
-                    Jetty plugin to download all dependencies, but eventually you'll see the logs
-                    like this:</para>
-        <programlisting>[INFO] Scanning for projects...
-[INFO]                                                                         
-[INFO] ------------------------------------------------------------------------
-[INFO] Building tutorial 0.0.1-SNAPSHOT
-[INFO] ------------------------------------------------------------------------
-...
-[INFO] Configuring Jetty for project: tutorial
-[INFO] Webapp source directory = /.../tutorial/src/main/webapp
-[INFO] Reload Mechanic: automatic
-[INFO] Classes = /.../tutorial/target/classes
-[INFO] Context path = /tutorial
-[INFO] Tmp directory =  determined at runtime
-[INFO] Web defaults = org/mortbay/jetty/webapp/webdefault.xml
-[INFO] Web overrides =  none
-[INFO] web.xml file = /.../tutorial/src/main/webapp/WEB-INF/web.xml
-[INFO] Webapp directory = /.../tutorial/src/main/webapp
-[INFO] Starting jetty 6.1.22 ...
-INFO::jetty-6.1.22
-INFO::No Transaction manager found - if your webapp requires one, please configure one.
-INFO::Started SelectChannelConnector@0.0.0.0:8080
-[INFO] Started Jetty Server</programlisting>
-                </listitem>
-        </itemizedlist>
-        <itemizedlist>
-        <listitem>
-                <para>So the Jetty container just started.</para>
-            </listitem>
-            <listitem>
-                <para>Now go to <emphasis role="italic">http://localhost:8080/tutorial/</emphasis>
-                            URL. You should see "No artists found message" in the web browser and
-                            the following output in the Eclipse console:</para>
-        <programlisting>INFO: Loading XML configuration resource from file:/.../tutorial/target/classes/cayenne-project.xml
-INFO: loading user name and password.
-INFO: Created connection pool: jdbc:derby:memory:testdb;create=true
-    Driver class: org.apache.derby.jdbc.EmbeddedDriver
-    Min. connections in the pool: 1
-    Max. connections in the pool: 1
-INFO: Opening connection: jdbc:derby:memory:testdb;create=true
-    Login: null
-    Password: *******
-INFO: +++ Connecting: SUCCESS.
-INFO: Detected and installed adapter: org.apache.cayenne.dba.derby.DerbyAdapter
-INFO: --- transaction started.
-INFO: No schema detected, will create mapped tables
-INFO: CREATE TABLE GALLERY (ID INTEGER NOT NULL, NAME VARCHAR (200), PRIMARY KEY (ID))
-INFO: CREATE TABLE ARTIST (DATE_OF_BIRTH DATE, ID INTEGER NOT NULL, NAME VARCHAR (200), PRIMARY KEY (ID))
-INFO: CREATE TABLE PAINTING (ARTIST_ID INTEGER, GALLERY_ID INTEGER, ID INTEGER NOT NULL, 
-      NAME VARCHAR (200), PRIMARY KEY (ID))
-INFO: ALTER TABLE PAINTING ADD FOREIGN KEY (ARTIST_ID) REFERENCES ARTIST (ID)
-INFO: ALTER TABLE PAINTING ADD FOREIGN KEY (GALLERY_ID) REFERENCES GALLERY (ID)
-INFO: CREATE TABLE AUTO_PK_SUPPORT (  
-      TABLE_NAME CHAR(100) NOT NULL,  NEXT_ID BIGINT NOT NULL,  PRIMARY KEY(TABLE_NAME))
-INFO: DELETE FROM AUTO_PK_SUPPORT WHERE TABLE_NAME IN ('ARTIST', 'GALLERY', 'PAINTING')
-INFO: INSERT INTO AUTO_PK_SUPPORT (TABLE_NAME, NEXT_ID) VALUES ('ARTIST', 200)
-INFO: INSERT INTO AUTO_PK_SUPPORT (TABLE_NAME, NEXT_ID) VALUES ('GALLERY', 200)
-INFO: INSERT INTO AUTO_PK_SUPPORT (TABLE_NAME, NEXT_ID) VALUES ('PAINTING', 200)
-INFO: SELECT t0.DATE_OF_BIRTH, t0.NAME, t0.ID FROM ARTIST t0 ORDER BY t0.NAME - prepared in 43 ms.
-INFO: === returned 0 rows. - took 56 ms.
-INFO: +++ transaction committed.</programlisting>
-            </listitem>
-        </itemizedlist>
-        <itemizedlist>
-            <listitem>
-                <para>You can click on "Create new artist" link to create artists. Existing artists
-                    can be edited by clicking on their name:</para>
-                <para><inlinemediaobject>
-                        <imageobject>
-                            <imagedata fileref="images/firefox-webapp.png" scalefit="1" width="100%"/>
-                        </imageobject>
-                    </inlinemediaobject></para>
-            </listitem>
-        </itemizedlist>
-        <para>You are done with the tutorial!</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/base-datamap.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/base-datamap.png b/docs/docbook/getting-started/src/images/base-datamap.png
deleted file mode 100644
index 98f1ffc..0000000
Binary files a/docs/docbook/getting-started/src/images/base-datamap.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/base-datanode.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/base-datanode.png b/docs/docbook/getting-started/src/images/base-datanode.png
deleted file mode 100644
index e58da99..0000000
Binary files a/docs/docbook/getting-started/src/images/base-datanode.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/database-schema.jpg
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/database-schema.jpg b/docs/docbook/getting-started/src/images/database-schema.jpg
deleted file mode 100644
index 9d4ee21..0000000
Binary files a/docs/docbook/getting-started/src/images/database-schema.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/eclipse-generatedclasses.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/eclipse-generatedclasses.png b/docs/docbook/getting-started/src/images/eclipse-generatedclasses.png
deleted file mode 100644
index 89d0dd2..0000000
Binary files a/docs/docbook/getting-started/src/images/eclipse-generatedclasses.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/eclipse-mvnrun.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/eclipse-mvnrun.png b/docs/docbook/getting-started/src/images/eclipse-mvnrun.png
deleted file mode 100644
index 0f517d6..0000000
Binary files a/docs/docbook/getting-started/src/images/eclipse-mvnrun.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/eclipse-xmlfiles.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/eclipse-xmlfiles.png b/docs/docbook/getting-started/src/images/eclipse-xmlfiles.png
deleted file mode 100644
index 7cb3856..0000000
Binary files a/docs/docbook/getting-started/src/images/eclipse-xmlfiles.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/firefox-webapp.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/firefox-webapp.png b/docs/docbook/getting-started/src/images/firefox-webapp.png
deleted file mode 100644
index 35be692..0000000
Binary files a/docs/docbook/getting-started/src/images/firefox-webapp.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/maven-plugin-install.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/maven-plugin-install.png b/docs/docbook/getting-started/src/images/maven-plugin-install.png
deleted file mode 100644
index 5091b52..0000000
Binary files a/docs/docbook/getting-started/src/images/maven-plugin-install.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/modeler-artistid.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/modeler-artistid.png b/docs/docbook/getting-started/src/images/modeler-artistid.png
deleted file mode 100644
index 287f0948..0000000
Binary files a/docs/docbook/getting-started/src/images/modeler-artistid.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/modeler-dbrelationship.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/modeler-dbrelationship.png b/docs/docbook/getting-started/src/images/modeler-dbrelationship.png
deleted file mode 100644
index 2eecb11..0000000
Binary files a/docs/docbook/getting-started/src/images/modeler-dbrelationship.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/modeler-deleterule.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/modeler-deleterule.png b/docs/docbook/getting-started/src/images/modeler-deleterule.png
deleted file mode 100644
index 243bbbb..0000000
Binary files a/docs/docbook/getting-started/src/images/modeler-deleterule.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/modeler-started.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/modeler-started.png b/docs/docbook/getting-started/src/images/modeler-started.png
deleted file mode 100644
index 5c93629..0000000
Binary files a/docs/docbook/getting-started/src/images/modeler-started.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/images/tutorial-eclipse-project.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/images/tutorial-eclipse-project.png b/docs/docbook/getting-started/src/images/tutorial-eclipse-project.png
deleted file mode 100644
index ef39865..0000000
Binary files a/docs/docbook/getting-started/src/images/tutorial-eclipse-project.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/pom.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/pom.xml b/docs/docbook/pom.xml
deleted file mode 100644
index 4e60ba2..0000000
--- a/docs/docbook/pom.xml
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Licensed to the Apache Software Foundation (ASF) under one
-	or more contributor license agreements.  See the NOTICE file
-	distributed with this work for additional information
-	regarding copyright ownership.  The ASF licenses this file
-	to you under the Apache License, Version 2.0 (the
-	"License"); you may not use this file except in compliance
-	with the License.  You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing,
-	software distributed under the License is distributed on an
-	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	KIND, either express or implied.  See the License for the
-	specific language governing permissions and limitations
-	under the License.   
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-	<modelVersion>4.0.0</modelVersion>
-	<prerequisites>
-		<maven>3</maven>
-	</prerequisites>
-
-	<parent>
-		<groupId>org.apache.cayenne.parents</groupId>
-		<artifactId>cayenne-docs-parent</artifactId>
-		<version>3.1.3-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
-	
-	<modules>
-        <module>docbook-stylesheets</module>
-		<module>cayenne-guide</module>
-		<module>getting-started</module>
-		<module>getting-started-rop</module>
-		<module>upgrade-guide</module>
-    </modules>
-
-    <properties>
-        <project.stylesheetdir>${project.parent.basedir}/docbook-stylesheets/target/classes</project.stylesheetdir>
-
-        <!-- This property allows to only expose major version in the docs metadata to avoid confusing SEO -->
-        <cayenne.version.major>3.1</cayenne.version.major>
-    </properties>
-
-	<groupId>org.apache.cayenne.docs</groupId>
-	<artifactId>cayenne-docbook</artifactId>
-	<packaging>pom</packaging>
-	<name>Cayenne Docbook Documentation</name>
-
-	<distributionManagement>
-		<site>
-			<id>website</id>
-			<url>scp://people.apache.org/www/cayenne/docbook/</url>
-		</site>
-	</distributionManagement>
-	
-	<build>
-		<pluginManagement>
-			<plugins>
-				<plugin>
-					<groupId>com.agilejava.docbkx</groupId>
-					<artifactId>docbkx-maven-plugin</artifactId>
-					<version>2.0.14</version>
-					<dependencies>
-						<dependency>
-							<groupId>org.docbook</groupId>
-							<artifactId>docbook-xml</artifactId>
-							<version>4.4</version>
-							<scope>runtime</scope>
-						</dependency>
-					</dependencies>
-				</plugin>
-				<plugin>
-					<groupId>org.apache.maven.plugins</groupId>
-					<artifactId>maven-antrun-plugin</artifactId>
-					<version>1.7</version>
-				</plugin>
-				<plugin>
-					<groupId>org.apache.maven.plugins</groupId>
-					<artifactId>maven-site-plugin</artifactId>
-					<version>3.1</version>
-				</plugin>
-			</plugins>
-		</pluginManagement>
-		
-		
-		<plugins>
-			<plugin>
-				<groupId>com.agilejava.docbkx</groupId>
-				<artifactId>docbkx-maven-plugin</artifactId>
-				<configuration>
-					<xincludeSupported>true</xincludeSupported>
-					<highlightSource>true</highlightSource>
-					<targetDirectory>${basedir}/target/site/</targetDirectory>
-					<includes>index.xml</includes>				
-				</configuration>
-				<executions>
-					<execution>
-						<id>build-pdf</id>
-						<configuration>
-							<foCustomization>${project.stylesheetdir}/stylesheets/pdf.xsl</foCustomization>
-							<postProcess>
-								<delete failonerror="false">
-									<fileset dir="target/site/" includes="*.fo" />
-								</delete>
-								<move file="target/site/index.pdf" tofile="target/site/${project.artifactId}.pdf" />
-							</postProcess>
-						</configuration>
-						<phase>generate-resources</phase>
-						<goals>
-							<goal>generate-pdf</goal>
-						</goals>
-					</execution>
-					<execution>
-						<id>build-html</id>
-						<configuration>
-							<htmlCustomization>${project.stylesheetdir}/stylesheets/html.xsl</htmlCustomization>
-							<chunkedOutput>true</chunkedOutput>
-							<postProcess>
-								<copy todir="${basedir}/target/site/index/css">
-									<fileset dir="${project.stylesheetdir}/css" />
-								</copy>
-								<copy todir="${basedir}/target/site/index/images">
-									<fileset dir="${basedir}/src/images" />
-								</copy>
-							</postProcess>
-						</configuration>
-						<phase>generate-resources</phase>
-						<goals>
-							<goal>generate-html</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-site-plugin</artifactId>
-				<configuration>
-					<generateReports>false</generateReports>
-					<sourceDirectory>src</sourceDirectory>
-					<includes>index.xml</includes>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-antrun-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>cleanup-maven</id>
-						<phase>generate-resources</phase>
-						<goals>
-							<goal>run</goal>
-						</goals>
-						<configuration>
-							<target>
-								<delete failonerror="false">
-									<filelist dir="target/site/css" files="maven-base.css,maven-theme.css,print.css,site.css" />
-									<!-- collapsed.gifx is deliberately mispelt since we want to leave one image behind to avoid a maven problem with deploying a completely empty site -->
-									<filelist dir="target/site/images" files="collapsed.gifx,external.png,icon_info_sml.gif,icon_warning_sml.gif,newwindow.png,expanded.gif,icon_error_sml.gif,icon_success_sml.gif" />
-								</delete>
-								<delete dir="target/site/images/logos" failonerror="false" />
-							</target>
-						</configuration>
-
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-</project>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/upgrade-guide/pom.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/upgrade-guide/pom.xml b/docs/docbook/upgrade-guide/pom.xml
deleted file mode 100644
index 37028f2..0000000
--- a/docs/docbook/upgrade-guide/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Licensed to the Apache Software Foundation (ASF) under one
-	or more contributor license agreements.  See the NOTICE file
-	distributed with this work for additional information
-	regarding copyright ownership.  The ASF licenses this file
-	to you under the Apache License, Version 2.0 (the
-	"License"); you may not use this file except in compliance
-	with the License.  You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing,
-	software distributed under the License is distributed on an
-	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	KIND, either express or implied.  See the License for the
-	specific language governing permissions and limitations
-	under the License.   
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<parent>
-		<groupId>org.apache.cayenne.docs</groupId>
-		<artifactId>cayenne-docbook</artifactId>
-		<version>3.1.3-SNAPSHOT</version>
-	</parent>
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>org.apache.cayenne.docs</groupId>
-	<artifactId>upgrade-guide</artifactId>
-	<name>Docbook: Cayenne New Features and Upgrade Guide</name>
-
-	<build>
-		<resources>
-			<resource>
-				<directory>target/site</directory>
-			</resource>
-		</resources>
-	</build>
-</project>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/upgrade-guide/src/docbkx/index.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/upgrade-guide/src/docbkx/index.xml b/docs/docbook/upgrade-guide/src/docbkx/index.xml
deleted file mode 100644
index ea4ee02..0000000
--- a/docs/docbook/upgrade-guide/src/docbkx/index.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="upgrade-guide" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <info>
-        <title>Cayenne New Features and Upgrade Guide</title>
-        <copyright>
-            <year>2011-2017</year>
-            <holder>Apache Software Foundation and individual authors</holder>
-        </copyright>
-        <legalnotice>
-            <title>License</title>
-            <para>Licensed to the Apache Software Foundation (ASF) under one or more contributor
-                license agreements. See the NOTICE file distributed with this work for additional
-                information regarding copyright ownership. The ASF licenses this file to you under
-                the Apache License, Version 2.0 (the "License"); you may not use this file except in
-                compliance with the License. You may obtain a copy of the License at
-                http://www.apache.org/licenses/LICENSE-2.0</para>
-            
-            <para>Unless required by applicable law or agreed to in writing, software distributed
-                under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-                CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
-                language governing permissions and limitations under the License.</para>
-        </legalnotice>
-    </info>
-    <xi:include href="new-features.xml"/>
-</book>
-