absolute xref as per image easier to debug
diff --git a/modules/ROOT/pages/kb/docs/cnd.adoc b/modules/ROOT/pages/kb/docs/cnd.adoc
index 07f99a8..326395d 100644
--- a/modules/ROOT/pages/kb/docs/cnd.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd.adoc
@@ -35,32 +35,32 @@
 
 == Getting Started 
 
-* xref:./cnd/cpp-setup-instructions.adoc[Configuring NetBeans IDE for C/C{pp}/Fortran]
+* xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring NetBeans IDE for C/C{pp}/Fortran]
 
 == Tutorials and Articles
 
 === Creating C and C++ Projects
 
-* xref:./cnd/quickstart.adoc[C/C{pp} Projects Quick Start Tutorial]
-* xref:./cnd/development-environment.adoc[Defining Your C/C{pp} Project's Development Environment]
-* xref:./cnd/beginning-jni-linux.adoc[Beginning JNI with NetBeans IDE and C/{pp} Plugin on Linux]
+* xref:kb/docs/cnd/quickstart.adoc[C/C{pp} Projects Quick Start Tutorial]
+* xref:kb/docs/cnd/development-environment.adoc[Defining Your C/C{pp} Project's Development Environment]
+* xref:kb/docs/cnd/beginning-jni-linux.adoc[Beginning JNI with NetBeans IDE and C/{pp} Plugin on Linux]
 
 === Developing C and C++ Projects
 
-* xref:./cnd/navigating-editing.adoc[Editing and Navigating C/C{pp} Source Files Tutorial]
-* xref:./cnd/debugging.adoc[Debugging C/C{pp} Projects Tutorial]
-* xref:./cnd/remote-modes.adoc[Modes of C/C{pp} Remote Development]
-* xref:./cnd/remotedev-tutorial.adoc[C/C{pp} Remote Development Tutorial]
-* xref:./cnd/c-unit-test.adoc[Adding Unit Tests to a C/C{pp} Project]
+* xref:kb/docs/cnd/navigating-editing.adoc[Editing and Navigating C/C{pp} Source Files Tutorial]
+* xref:kb/docs/cnd/debugging.adoc[Debugging C/C{pp} Projects Tutorial]
+* xref:kb/docs/cnd/remote-modes.adoc[Modes of C/C{pp} Remote Development]
+* xref:kb/docs/cnd/remotedev-tutorial.adoc[C/C{pp} Remote Development Tutorial]
+* xref:kb/docs/cnd/c-unit-test.adoc[Adding Unit Tests to a C/C{pp} Project]
 
 == Tutorials and Articles
 
 === C and C++ Project How-tos
 
-* xref:./cnd/HowTos.adoc[C/C{pp} Application How-Tos]
-* xref:./cnd/depchecking.adoc[Make Dependency Checking]
-* xref:./cnd/toolchain.adoc[Using the C/C{pp} Tool Collection Descriptor]
-* xref:./cnd/cpp-vcs.adoc[Storing NetBeans C/C{pp} Projects Under VCS]
+* xref:kb/docs/cnd/HowTos.adoc[C/C{pp} Application How-Tos]
+* xref:kb/docs/cnd/depchecking.adoc[Make Dependency Checking]
+* xref:kb/docs/cnd/toolchain.adoc[Using the C/C{pp} Tool Collection Descriptor]
+* xref:kb/docs/cnd/cpp-vcs.adoc[Storing NetBeans C/C{pp} Projects Under VCS]
 
 
 == Community-Contributed Docs
diff --git a/modules/ROOT/pages/kb/docs/cnd/beginning-jni-linux.adoc b/modules/ROOT/pages/kb/docs/cnd/beginning-jni-linux.adoc
index 06950f0..fd4c44b 100644
--- a/modules/ROOT/pages/kb/docs/cnd/beginning-jni-linux.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/beginning-jni-linux.adoc
@@ -51,10 +51,10 @@
 
 |Java Developer Kit (JDK) |link:{jdkdownload}[version 7 or 8] 
 
-|C and C++ compilers,  ``make`` ,  ``gdb``  |xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] 
+|C and C++ compilers,  ``make`` ,  ``gdb``  |xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] 
 |===
 
-See the xref:front::download/index.adoc[NetBeans IDE 8.0 Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] for information on downloading and installing the required software.
+See the xref:front::download/index.adoc[NetBeans IDE 8.0 Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] for information on downloading and installing the required software.
 
 
 == Setting Up Your Environment for the Tutorial
@@ -341,7 +341,7 @@
 
 You can use the following documents to get more information:
 
-* xref:./quickstart.adoc[C/C{pp} Projects Quick Start Tutorial]
+* xref:kb/docs/cnd/quickstart.adoc[C/C{pp} Projects Quick Start Tutorial]
 * link:{jnispec}[JNI Specification]
 * link:{wikipedia}Java_Native_Interface[Java Native Interface]
 
diff --git a/modules/ROOT/pages/kb/docs/cnd/c-unit-test.adoc b/modules/ROOT/pages/kb/docs/cnd/c-unit-test.adoc
index 4752c6d..ba157c4 100644
--- a/modules/ROOT/pages/kb/docs/cnd/c-unit-test.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/c-unit-test.adoc
@@ -52,7 +52,7 @@
 |===
 
 
-See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
+See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
 for information about downloading and installing the required NetBeans software.
 
 
@@ -275,7 +275,7 @@
 
 Be sure to use the correct version. You must use 64-bit Cygwin and CUnit if you are running 64-bit NetBeans IDE.
 
-If you have not yet installed Cygwin, see the general Cygwin installation info in xref:./cpp-setup-instructions.adoc#cygwin[Configuring NetBeans IDE for C/C{pp}/Fortran]. You can install CUnit by selecting it in the Libs category in the setup program.
+If you have not yet installed Cygwin, see the general Cygwin installation info in xref:kb/docs/cnd/cpp-setup-instructions.adoc#cygwin[Configuring NetBeans IDE for C/C{pp}/Fortran]. You can install CUnit by selecting it in the Libs category in the setup program.
 
 [[project]]
 == Create the Project for the Tutorial
@@ -463,7 +463,7 @@
 
 == Debug My CUnit Test
 
-You can debug tests using the same techniques you use to debug your project source files, as described in the xref:./debugging.adoc[Debugging C/C{pp} Projects Tutorial].
+You can debug tests using the same techniques you use to debug your project source files, as described in the xref:kb/docs/cnd/debugging.adoc[Debugging C/C{pp} Projects Tutorial].
 
 1. In the Projects window, right-click the My CUnit Test folder and select Step Into Test.
 
diff --git a/modules/ROOT/pages/kb/docs/cnd/cpp-vcs.adoc b/modules/ROOT/pages/kb/docs/cnd/cpp-vcs.adoc
index 572823f..c2579c4 100644
--- a/modules/ROOT/pages/kb/docs/cnd/cpp-vcs.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/cpp-vcs.adoc
@@ -53,7 +53,7 @@
 |===
 
 
-See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] documents for information about downloading and installing the required software.
+See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] documents for information about downloading and installing the required software.
 
 
 == VCS Controlled Project Issues Resolved in NetBeans IDE
diff --git a/modules/ROOT/pages/kb/docs/cnd/debugging.adoc b/modules/ROOT/pages/kb/docs/cnd/debugging.adoc
index 688fa9c..156146b 100644
--- a/modules/ROOT/pages/kb/docs/cnd/debugging.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/debugging.adoc
@@ -51,7 +51,7 @@
 |Java Developer Kit (JDK) |link:{jdkdownload}[version 7 or 8] 
 |===
 
-See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] for information on downloading and installing the required software.
+See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] for information on downloading and installing the required software.
 
 == Creating the Sample Project
 
diff --git a/modules/ROOT/pages/kb/docs/cnd/depchecking.adoc b/modules/ROOT/pages/kb/docs/cnd/depchecking.adoc
index f9dc309..130c3eb 100644
--- a/modules/ROOT/pages/kb/docs/cnd/depchecking.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/depchecking.adoc
@@ -57,7 +57,7 @@
 |===
 
 
-See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
+See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
 for information about downloading and installing the required software.
 
 
diff --git a/modules/ROOT/pages/kb/docs/cnd/development-environment.adoc b/modules/ROOT/pages/kb/docs/cnd/development-environment.adoc
index 895aa41..e711449 100644
--- a/modules/ROOT/pages/kb/docs/cnd/development-environment.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/development-environment.adoc
@@ -61,7 +61,7 @@
 
 == Installing Tool Collections
 
-The Netbeans C/C{pp} module minimally requires a C compiler, C{pp} compiler, make utility, and gdb debugger. See xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] for instructions on installing and configuring the required compilers and tools.
+The Netbeans C/C{pp} module minimally requires a C compiler, C{pp} compiler, make utility, and gdb debugger. See xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] for instructions on installing and configuring the required compilers and tools.
 
 
 == Specifying the Build Host
@@ -74,7 +74,7 @@
 * Right-click a project, select Set Build Host > Manage Hosts, then click Add in the Build Host Manager dialog box.
 * Using the Options window: Choose Tools > Options > C/C++ > Build Tools and click the Edit button next to the Build Host list.
 
-See the xref:./remotedev-tutorial.adoc[C/C{pp} Remote Development Tutorial] for more information.
+See the xref:kb/docs/cnd/remotedev-tutorial.adoc[C/C{pp} Remote Development Tutorial] for more information.
 
 
 == Using the Tool Collection List
diff --git a/modules/ROOT/pages/kb/docs/cnd/index.adoc b/modules/ROOT/pages/kb/docs/cnd/index.adoc
index 9df5240..9cb44ae 100644
--- a/modules/ROOT/pages/kb/docs/cnd/index.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/index.adoc
@@ -26,19 +26,19 @@
 :toc-title:
 :description: C and C++ Tutorials
 
-- xref:./c-unit-test.adoc[Adding Unit Tests to a C Project - NetBeans IDE Tutorial]
-- xref:./beginning-jni-linux.adoc[Beginning JNI with NetBeans IDE and C/C++ Plugin on Linux]
-- xref:./HowTos.adoc[C/C{pp} Application How-Tos for Code Assistance]
-- xref:./quickstart.adoc[C/C{pp} Projects Quick Start Tutorial]
-- xref:./remotedev-tutorial.adoc[C/C{pp} Remote Development - NetBeans IDE Tutorial]
-- xref:./index.adoc[C and C++ Tutorials]
-- xref:./debugging.adoc[Debugging C/C++ Projects Tutorial]
-- xref:./development-environment.adoc[Defining Your C/C++ Project's Development Environment]
-- xref:./navigating-editing.adoc[Editing and Navigating C/C++ Source Files - NetBeans IDE Tutorial]
-- xref:./depchecking.adoc[Make Dependency Checking]
-- xref:./remote-modes.adoc[Modes of C/C++ Remote Development in the IDE]
-- xref:./cpp-vcs.adoc[Storing NetBeans C/C++ Projects Under Version Control Systems]
-- xref:./toolchain.adoc[Using the C/C++ Tool Collection Descriptor - NetBeans IDE Tutorial]
+- xref:kb/docs/cnd/c-unit-test.adoc[Adding Unit Tests to a C Project - NetBeans IDE Tutorial]
+- xref:kb/docs/cnd/beginning-jni-linux.adoc[Beginning JNI with NetBeans IDE and C/C++ Plugin on Linux]
+- xref:kb/docs/cnd/HowTos.adoc[C/C{pp} Application How-Tos for Code Assistance]
+- xref:kb/docs/cnd/quickstart.adoc[C/C{pp} Projects Quick Start Tutorial]
+- xref:kb/docs/cnd/remotedev-tutorial.adoc[C/C{pp} Remote Development - NetBeans IDE Tutorial]
+- xref:kb/docs/cnd/index.adoc[C and C++ Tutorials]
+- xref:kb/docs/cnd/debugging.adoc[Debugging C/C++ Projects Tutorial]
+- xref:kb/docs/cnd/development-environment.adoc[Defining Your C/C++ Project's Development Environment]
+- xref:kb/docs/cnd/navigating-editing.adoc[Editing and Navigating C/C++ Source Files - NetBeans IDE Tutorial]
+- xref:kb/docs/cnd/depchecking.adoc[Make Dependency Checking]
+- xref:kb/docs/cnd/remote-modes.adoc[Modes of C/C++ Remote Development in the IDE]
+- xref:kb/docs/cnd/cpp-vcs.adoc[Storing NetBeans C/C++ Projects Under Version Control Systems]
+- xref:kb/docs/cnd/toolchain.adoc[Using the C/C++ Tool Collection Descriptor - NetBeans IDE Tutorial]
 
 
 
diff --git a/modules/ROOT/pages/kb/docs/cnd/navigating-editing.adoc b/modules/ROOT/pages/kb/docs/cnd/navigating-editing.adoc
index 4731420..a647608 100644
--- a/modules/ROOT/pages/kb/docs/cnd/navigating-editing.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/navigating-editing.adoc
@@ -53,7 +53,7 @@
 |===
 
 
-See the xref:front::download/index.adoc[NetBeans IDE 8.0 Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
+See the xref:front::download/index.adoc[NetBeans IDE 8.0 Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
 for information about downloading and installing the required software.
 
 *Sample Projects*
@@ -391,6 +391,6 @@
 
 == Next Steps
 
-See xref:./debugging.adoc[Debugging C/C{pp} Projects] for a tutorial on using some of the features for debugging a C or C++ project in NetBeans IDE.
+See xref:kb/docs/cnd/debugging.adoc[Debugging C/C{pp} Projects] for a tutorial on using some of the features for debugging a C or C++ project in NetBeans IDE.
 
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
diff --git a/modules/ROOT/pages/kb/docs/cnd/quickstart.adoc b/modules/ROOT/pages/kb/docs/cnd/quickstart.adoc
index cf72279..0cca13e 100644
--- a/modules/ROOT/pages/kb/docs/cnd/quickstart.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/quickstart.adoc
@@ -55,11 +55,11 @@
 
 |Java Developer Kit (JDK) |link:{jdkdownload}[version 6, 7, or 8] 
 
-|C and C++ compilers,  ``make`` ,  ``gdb``  |xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] 
+|C and C++ compilers,  ``make`` ,  ``gdb``  |xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] 
 |===
 
 
-See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
+See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
 for information about downloading and installing the required software.
 
 *Sample Projects*
@@ -71,7 +71,7 @@
 
 NetBeans C/C{pp} support lets you create C and C{pp} Application and Library projects with generated makefiles, as well as C and C{pp} projects with existing sources.
 
-You can build, run, and debug your project on the local host (the system from which you started the IDE) or on a remote host running a UNIX® operating system. For information on specifying the tool collection for your project and on defining and using remote hosts, see xref:./development-environment.adoc[Defining Your C/C{pp} Project's Development Environment].
+You can build, run, and debug your project on the local host (the system from which you started the IDE) or on a remote host running a UNIX® operating system. For information on specifying the tool collection for your project and on defining and using remote hosts, see xref:kb/docs/cnd/development-environment.adoc[Defining Your C/C{pp} Project's Development Environment].
 
 With a C/C{pp} Application, Dynamic Library, or Static Library project, the IDE controls all aspects of how your application is built, run, and debugged. You specify project settings when creating the project and in the Project Properties dialog box. The IDE generates a makefile in which all of your settings are stored.
 
@@ -318,7 +318,7 @@
 
 == Next Steps 
 
-See xref:./navigating-editing.adoc[Editing and Navigating C/C{pp} Source Files] for a tutorial on using the advanced navigation and editing features in NetBeans IDE to view and modify your source code.
+See xref:kb/docs/cnd/navigating-editing.adoc[Editing and Navigating C/C{pp} Source Files] for a tutorial on using the advanced navigation and editing features in NetBeans IDE to view and modify your source code.
 
 See the xref:kb/docs/cnd.adoc[C/C{pp} Learning Trail] for more articles about developing with C/C++/Fortran in NetBeans IDE.
 
diff --git a/modules/ROOT/pages/kb/docs/cnd/remote-modes.adoc b/modules/ROOT/pages/kb/docs/cnd/remote-modes.adoc
index 72a0053..8414885 100644
--- a/modules/ROOT/pages/kb/docs/cnd/remote-modes.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/remote-modes.adoc
@@ -179,7 +179,7 @@
 
 The remote development mode that you use is determined by the way you configure a remote build host, but also by the way you access the project in the IDE.
 
-For each mode, you must first configure a remote build host, as described in the xref:./remotedev-tutorial.adoc[C/C{pp} Remote Development tutorial] and in the IDE help.
+For each mode, you must first configure a remote build host, as described in the xref:kb/docs/cnd/remotedev-tutorial.adoc[C/C{pp} Remote Development tutorial] and in the IDE help.
 
 You can select simple mode or mixed mode for your remote host in the IDE using the Host Properties dialog box to specify how project files should be accessed when you use the host.
 
@@ -281,7 +281,7 @@
 
 * The Help menu in the IDE provides access to extensive information about using the IDE.
 
-* The xref:./remotedev-tutorial.adoc[C/C{pp} Remote Development tutorial] tells how to do simple remote development step-by-step
+* The xref:kb/docs/cnd/remotedev-tutorial.adoc[C/C{pp} Remote Development tutorial] tells how to do simple remote development step-by-step
 
 * The xref:kb/docs/cnd.adoc[C/C{pp} Learning Trail] provides several articles and tutorials for developing in C/C++ in the IDE.
 
diff --git a/modules/ROOT/pages/kb/docs/cnd/remotedev-tutorial.adoc b/modules/ROOT/pages/kb/docs/cnd/remotedev-tutorial.adoc
index 265da59..89d4cf8 100644
--- a/modules/ROOT/pages/kb/docs/cnd/remotedev-tutorial.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/remotedev-tutorial.adoc
@@ -52,7 +52,7 @@
 |===
 
 
-See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
+See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran]
 for information about downloading and installing the required software.
 
 
@@ -67,7 +67,7 @@
 
 When you do remote development, you run the NetBeans IDE on your client system and you can create projects, edit files, and use code assistance features the same way as you do for local projects. But when you build, run, or debug your project, the process runs on the remote Solaris or Linux server with output and input transferred to the client system. Ideally, you shouldn't see any difference in workflow between doing local and remote development once you've set up the remote build host.
 
-The IDE supports different modes of remote development, which are described in xref:./remote-modes.adoc[C/C{pp} Remote Development Modes]. You can determine how you want to develop on the remote host.
+The IDE supports different modes of remote development, which are described in xref:kb/docs/cnd/remote-modes.adoc[C/C{pp} Remote Development Modes]. You can determine how you want to develop on the remote host.
 
 
 === Requirements for Remote Development
@@ -333,7 +333,7 @@
 * You can change the properties of a remote build host after initial setup, by right-clicking the host in the Services window and selecting Properties.
 * If you are using a remote host to build and run an application with a graphical UI, you can select Enable X11 Forwarding in the hosts properties to that the UI can be seen on your local system while it runs on the remote host.
 * If building your project remotely compiles libraries or generates other files in addition to the main build product, the IDE prompts you to download the files to the local system. You can select which changed files to download.
-* You can work on projects in full remote mode where the project and the tools are on the remote host. See the IDE's integrated help or the article xref:./remote-modes.adoc[C/C{pp} Remote Development Modes] for more information.
+* You can work on projects in full remote mode where the project and the tools are on the remote host. See the IDE's integrated help or the article xref:kb/docs/cnd/remote-modes.adoc[C/C{pp} Remote Development Modes] for more information.
 * You can access the remote host and tools information from the IDE's Tools menu as well as the Services window. Select Tools > Options > C/C++ > Build Tools and click the Edit button next to the Build Host list.
 * When using file sharing for project files, you can map the local and remote paths to the shared folder through the Path Mapping feature. You can set the mapping by doing one of the following:
 * In the Services window, open C/C++ Build Hosts, right-click the hostname and select Path Mapper.
@@ -346,7 +346,7 @@
 
 * The Help menu in the IDE provides access to extensive information about using the IDE.
 
-* The xref:./remote-modes.adoc[C/C{pp} Remote Development Modes article] describes different ways to use remote development
+* The xref:kb/docs/cnd/remote-modes.adoc[C/C{pp} Remote Development Modes article] describes different ways to use remote development
 
 * The xref:kb/docs/cnd.adoc[C/C{pp} Learning Trail] provides several articles and tutorials for developing in C/C++ in the IDE.
 
diff --git a/modules/ROOT/pages/kb/docs/cnd/toolchain.adoc b/modules/ROOT/pages/kb/docs/cnd/toolchain.adoc
index bacf385..be1753d 100644
--- a/modules/ROOT/pages/kb/docs/cnd/toolchain.adoc
+++ b/modules/ROOT/pages/kb/docs/cnd/toolchain.adoc
@@ -52,7 +52,7 @@
 |===
 
 
-See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:./cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] for information about downloading and installing the required software.
+See the xref:front::download/index.adoc[NetBeans IDE Installation Instructions] and xref:kb/docs/cnd/cpp-setup-instructions.adoc[Configuring the NetBeans IDE for C/C{pp}/Fortran] for information about downloading and installing the required software.
 
 
 == Introduction
diff --git a/modules/ROOT/pages/kb/docs/ide/database-improvements-screencast.adoc b/modules/ROOT/pages/kb/docs/ide/database-improvements-screencast.adoc
index b34d73c..ca74c0d 100644
--- a/modules/ROOT/pages/kb/docs/ide/database-improvements-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/database-improvements-screencast.adoc
@@ -32,7 +32,7 @@
 |===
 |This 6-minute screencast demonstrates some features of database support in NetBeans IDE. These features include support for MySQL and the Sakila database, an SQL Editor with code completion, displaying multiple rowsets, and SQL history.
 
-You can read more about database functionality at xref:./mysql.adoc[+Connecting to a MySQL Database+].
+You can read more about database functionality at xref:kb/docs/ide/mysql.adoc[+Connecting to a MySQL Database+].
 
 Author: Andrei Badea
 Time: 5:49
diff --git a/modules/ROOT/pages/kb/docs/ide/git_nb_ssh_screencast.adoc b/modules/ROOT/pages/kb/docs/ide/git_nb_ssh_screencast.adoc
index 5b31ea6..76a3221 100644
--- a/modules/ROOT/pages/kb/docs/ide/git_nb_ssh_screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/git_nb_ssh_screencast.adoc
@@ -53,6 +53,6 @@
 == Related links
 
 * xref:wiki::wiki/NewAndNoteworthyNB74.adoc[+NetBeans 74 New And Noteworthy+]
-* xref:./git.adoc[+Using Git Support in NetBeans IDE+]
+* xref:kb/docs/ide/git.adoc[+Using Git Support in NetBeans IDE+]
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG234[+Versioning Applications with Version Control+] in _Developing Applications with NetBeans IDE_
-* xref:./github_nb_screencast.adoc[+Video of Setting Up a GitHub Repository Using NetBeans IDE+]
+* xref:kb/docs/ide/github_nb_screencast.adoc[+Video of Setting Up a GitHub Repository Using NetBeans IDE+]
diff --git a/modules/ROOT/pages/kb/docs/ide/index.adoc b/modules/ROOT/pages/kb/docs/ide/index.adoc
index d9da3d0..8ea3aa3 100644
--- a/modules/ROOT/pages/kb/docs/ide/index.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/index.adoc
@@ -32,19 +32,19 @@
 
 === Databases
 
-- xref:./oracle-db.adoc[Connecting to Oracle Database from NetBeans IDE]
-- xref:./java-db.adoc[Working with the Java DB (Derby) Database]
-- xref:./mysql.adoc[Connecting to a MySQL Database]
-- xref:./install-and-configure-mysql-server.adoc[Setting Up the MySQL Database Server in the Windows Operating System]
+- xref:kb/docs/ide/oracle-db.adoc[Connecting to Oracle Database from NetBeans IDE]
+- xref:kb/docs/ide/java-db.adoc[Working with the Java DB (Derby) Database]
+- xref:kb/docs/ide/mysql.adoc[Connecting to a MySQL Database]
+- xref:kb/docs/ide/install-and-configure-mysql-server.adoc[Setting Up the MySQL Database Server in the Windows Operating System]
 
 === Source Code Management
 
-- xref:./git.adoc[Using Git in Apache NetBeans]
-- xref:./mercurial.adoc[Using Mercurial in Apache NetBeans]
-- xref:./mercurial-queues.adoc[Using Mercurial Queues in Apache NetBeans]
-- xref:./subversion.adoc[Using Subversion in Apache NetBeans]
-- xref:./cvs.adoc[Using CVS in Apache NetBeans]
-- xref:./clearcase.adoc[Using ClearCase in Apache NetBeans]
+- xref:kb/docs/ide/git.adoc[Using Git in Apache NetBeans]
+- xref:kb/docs/ide/mercurial.adoc[Using Mercurial in Apache NetBeans]
+- xref:kb/docs/ide/mercurial-queues.adoc[Using Mercurial Queues in Apache NetBeans]
+- xref:kb/docs/ide/subversion.adoc[Using Subversion in Apache NetBeans]
+- xref:kb/docs/ide/cvs.adoc[Using CVS in Apache NetBeans]
+- xref:kb/docs/ide/clearcase.adoc[Using ClearCase in Apache NetBeans]
 
 
 
diff --git a/modules/ROOT/pages/kb/docs/ide/mysql.adoc b/modules/ROOT/pages/kb/docs/ide/mysql.adoc
index e505ac6..310adef 100644
--- a/modules/ROOT/pages/kb/docs/ide/mysql.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/mysql.adoc
@@ -37,7 +37,7 @@
 
 link:http://www.mysql.com/[+MySQL+] is a popular Open Source relational database management system (RDBMS) commonly used in web applications due to its speed, flexibility and reliability. MySQL employs SQL, or _Structured Query Language_, for accessing and processing data contained in databases.
 
-NOTE: This tutorial assumes that you already have the MySQL RDBMS installed and configured on your computer. If you are installing for the first time, please refer to the official link:http://dev.mysql.com/doc/refman/5.0/en/installing-cs.html[+MySQL documentation+] for help. You can also refer to xref:./install-and-configure-mysql-server.adoc[+Setting Up the MySQL Database Server in the Windows Operating System+].
+NOTE: This tutorial assumes that you already have the MySQL RDBMS installed and configured on your computer. If you are installing for the first time, please refer to the official link:http://dev.mysql.com/doc/refman/5.0/en/installing-cs.html[+MySQL documentation+] for help. You can also refer to xref:kb/docs/ide/install-and-configure-mysql-server.adoc[+Setting Up the MySQL Database Server in the Windows Operating System+].
 
 == Configuring MySQL Server Properties
 
diff --git a/modules/ROOT/pages/kb/docs/ide/nb65-intro-screencast.adoc b/modules/ROOT/pages/kb/docs/ide/nb65-intro-screencast.adoc
index f8abbf6..07ed612 100644
--- a/modules/ROOT/pages/kb/docs/ide/nb65-intro-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/nb65-intro-screencast.adoc
@@ -43,7 +43,7 @@
 
 * link:http://java.sun.com/developer/onlineTraining/[+Java Online Training+]
 * link:http://java.sun.com/javase/6/docs/[+Java SE Documentation+]
-* xref:../index.adoc[+NetBeans IDE Tutorials+]
+* xref:kb/docs/index.adoc[+NetBeans IDE Tutorials+]
 * link:http://java.sun.com/javase/[+Java SE Overview+]
 * link:http://developers.sun.com/events/techdays/[+Sun Tech Days+]
 
diff --git a/modules/ROOT/pages/kb/docs/ide/overview-screencast-smaller.adoc b/modules/ROOT/pages/kb/docs/ide/overview-screencast-smaller.adoc
index 639d08c..e8d4380 100644
--- a/modules/ROOT/pages/kb/docs/ide/overview-screencast-smaller.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/overview-screencast-smaller.adoc
@@ -41,7 +41,7 @@
 
 == Related Links
 
-* xref:../index.adoc[+NetBeans IDE Tutorials+]
+* xref:kb/docs/index.adoc[+NetBeans IDE Tutorials+]
 * xref:front::community/index.adoc[+NetBeans Community+]
 
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
diff --git a/modules/ROOT/pages/kb/docs/ide/overview-screencast.adoc b/modules/ROOT/pages/kb/docs/ide/overview-screencast.adoc
index fdcba77..6abf721 100644
--- a/modules/ROOT/pages/kb/docs/ide/overview-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/overview-screencast.adoc
@@ -41,7 +41,7 @@
 
 == Related Links
 
-* xref:../index.adoc[+NetBeans IDE Tutorials+]
+* xref:kb/docs/index.adoc[+NetBeans IDE Tutorials+]
 * xref:kb/docs/intro-screencasts.adoc[+NetBeans IDE Screencasts+]
 * xref:front::community/index.adoc[+NetBeans Community+]
 
diff --git a/modules/ROOT/pages/kb/docs/ide/overview-screencast_731.adoc b/modules/ROOT/pages/kb/docs/ide/overview-screencast_731.adoc
index 51e25f1..75a526d 100644
--- a/modules/ROOT/pages/kb/docs/ide/overview-screencast_731.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/overview-screencast_731.adoc
@@ -41,7 +41,7 @@
 
 == Related Links
 
-* xref:../index.adoc[+NetBeans IDE Tutorials+]
+* xref:kb/docs/index.adoc[+NetBeans IDE Tutorials+]
 * xref:kb/docs/intro-screencasts.adoc[+NetBeans IDE Screencasts+]
 * xref:front::community/index.adoc[+NetBeans Community+]
 
diff --git a/modules/ROOT/pages/kb/docs/ide/platform-screencast.adoc b/modules/ROOT/pages/kb/docs/ide/platform-screencast.adoc
index 9607812..ae99be5 100644
--- a/modules/ROOT/pages/kb/docs/ide/platform-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/platform-screencast.adoc
@@ -37,7 +37,7 @@
 
 == Related links
 
-* xref:../index.adoc[+NetBeans IDE Tutorials+]
+* xref:kb/docs/index.adoc[+NetBeans IDE Tutorials+]
 * xref:front::community/index.adoc[+NetBeans Community+]
 
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
diff --git a/modules/ROOT/pages/kb/docs/ide/team-servers.adoc b/modules/ROOT/pages/kb/docs/ide/team-servers.adoc
index 485ee4e..3176adb 100644
--- a/modules/ROOT/pages/kb/docs/ide/team-servers.adoc
+++ b/modules/ROOT/pages/kb/docs/ide/team-servers.adoc
@@ -149,6 +149,6 @@
 
 For additional information on using NetBeans IDE in a collaborative environment, see the following resources.
 
-* xref:./subversion.adoc[+Guided Tour of Subversion+]
+* xref:kb/docs/ide/subversion.adoc[+Guided Tour of Subversion+]
 * xref:kb/docs/tools.adoc[+Integration with External Tools and Services Learning Trail+]
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG348[+Working in a Collaborative Environment+] in _Developing Applications with NetBeans IDE_
diff --git a/modules/ROOT/pages/kb/docs/index.adoc b/modules/ROOT/pages/kb/docs/index.adoc
index 5970441..1db5229 100644
--- a/modules/ROOT/pages/kb/docs/index.adoc
+++ b/modules/ROOT/pages/kb/docs/index.adoc
@@ -33,47 +33,47 @@
 
 [.card]
 .icon:graduation-cap[]
-xref:./cnd.adoc[C/C{pp} Application Learning Trail]
+xref:kb/docs/cnd.adoc[C/C{pp} Application Learning Trail]
 
 [.card]
 .icon:graduation-cap[]
-xref:./java-se.adoc[General Java Development Learning Trail]
+xref:kb/docs/java-se.adoc[General Java Development Learning Trail]
 
 [.card]
 .icon:graduation-cap[]
-xref:./intro-screencasts.adoc[Guided Video Tours of NetBeans IDE]
+xref:kb/docs/intro-screencasts.adoc[Guided Video Tours of NetBeans IDE]
 
 [.card]
 .icon:graduation-cap[]
-xref:./tools.adoc[Integration with External Tools and Services]
+xref:kb/docs/tools.adoc[Integration with External Tools and Services]
 
 [.card]
 .icon:graduation-cap[]
-xref:./java-ee.adoc[Java EE & Java Web Learning Trail]
+xref:kb/docs/java-ee.adoc[Java EE & Java Web Learning Trail]
 
 [.card]
 .icon:graduation-cap[]
-xref:./matisse.adoc[Java GUI Applications Learning Trail]
+xref:kb/docs/matisse.adoc[Java GUI Applications Learning Trail]
 
 [.card]
 .icon:graduation-cap[]
-xref:./mobility.adoc[Java ME Embedded and Java Card Application Technology Trail]
+xref:kb/docs/mobility.adoc[Java ME Embedded and Java Card Application Technology Trail]
 
 [.card]
 .icon:graduation-cap[]
-xref:./platform.adoc[NetBeans Platform Learning Trail]
+xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 
 [.card]
 .icon:graduation-cap[]
-xref:./index.adoc[NetBeans Tutorials]
+xref:kb/docs/index.adoc[NetBeans Tutorials]
 
 [.card]
 .icon:graduation-cap[]
-xref:./php.adoc[PHP and HTML5 Learning Trail]
+xref:kb/docs/php.adoc[PHP and HTML5 Learning Trail]
 
 [.card]
 .icon:graduation-cap[]
-xref:./web.adoc[Web Services Learning Trail]
+xref:kb/docs/web.adoc[Web Services Learning Trail]
 
 ****
 
diff --git a/modules/ROOT/pages/kb/docs/intro-screencasts.adoc b/modules/ROOT/pages/kb/docs/intro-screencasts.adoc
index 2146211..5f047f3 100644
--- a/modules/ROOT/pages/kb/docs/intro-screencasts.adoc
+++ b/modules/ROOT/pages/kb/docs/intro-screencasts.adoc
@@ -39,7 +39,7 @@
 == NetBeans IDE 8.0 Overview
 
 |===
-|xref:./java/jdk8-migration-screencast.adoc[Migration Screencast]image:./nb72-video-thumb.png[]
+|xref:kb/docs/java/jdk8-migration-screencast.adoc[Migration Screencast]image:./nb72-video-thumb.png[]
  |xref:front::download/index.adoc[NetBeans IDE 8.0] delivers full support for the latest Java 8 technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE also provides a range of new enhancements for Maven and Java EE with PrimeFaces; new tools for HTML5, in particular for AngularJS; and improvements to PHP and C/C++ support. 
 
 Watch the xref:kb/docs/ide/overview-screencast.adoc[NetBeans IDE 8.0 Overview Video] to find out what's new and noteworthy in this latest release.
@@ -62,7 +62,7 @@
 //link:http://bits.netbeans.org/media/smart-migration-java8.mp4[Download] [60 MB]
 
 !
-xref:./java/jdk8-migration-screencast.adoc[Smart Migration to JDK ]
+xref:kb/docs/java/jdk8-migration-screencast.adoc[Smart Migration to JDK ]
 
 This screencast is a guide to the key features of language enhancements in Java 8 and how you can use the IDE to help you migrate your code to Java 8.
 
@@ -79,7 +79,7 @@
 
 !
 
-xref:./javaee/maven-primefaces-screencast.adoc[PrimeFaces Development with NetBeans IDE 8]
+xref:kb/docs/javaee/maven-primefaces-screencast.adoc[PrimeFaces Development with NetBeans IDE 8]
 
 This screencast demonstrates how you can use NetBeans IDE 8.0 to create a complete CRUD application using Java EE 7, Maven, and PrimeFaces.
 
@@ -97,7 +97,7 @@
 
 !
 
-xref:./javame/nb_me8_screencast.adoc[NetBeans IDE Support for Java ME 8]
+xref:kb/docs/javame/nb_me8_screencast.adoc[NetBeans IDE Support for Java ME 8]
 
 This screencast demonstrates NetBeans IDE support for Oracle Java ME SDK 8 on the Windows operating system.
 
@@ -116,7 +116,7 @@
 
 !
 
-xref:./javame/nb_me_plugins_screencast.adoc[Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE]
+xref:kb/docs/javame/nb_me_plugins_screencast.adoc[Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE]
 
 This screencast demonstrates installation and usage of link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/default-303768.html[Oracle Java ME SDK 8.0 Plugins] in NetBeans IDE on the Windows operating system.
 
@@ -141,7 +141,7 @@
 //link:http://bits.netbeans.org/media/jdk8-gettingstarted.mp4[Download] [30 MB]
 
 !
-xref:./java/jdk8-nb74-screencast.adoc[JDK 8 in NetBeans IDE]
+xref:kb/docs/java/jdk8-nb74-screencast.adoc[JDK 8 in NetBeans IDE]
 
 This screencast demonstrates how to set up NetBeans IDE 7.4 to use JDK 8, together with how to use JDK 8 profile support and lambda expressions.
 
@@ -157,7 +157,7 @@
 //link:http://bits.netbeans.org/media/html5-gettingstarted-javaee-screencast.mp4[Download] [41 MB]
 
 ! 
-xref:./javaee/javaee-gettingstarted-js-screencast.adoc[JavaScript Client Development in Java EE]
+xref:kb/docs/javaee/javaee-gettingstarted-js-screencast.adoc[JavaScript Client Development in Java EE]
 
 This screencast shows that you can expose RESTful web service endpoints via a wizard that lets you create JavaScript Backbone.js clients in Java EE applications in NetBeans IDE 7.4.
 
@@ -189,7 +189,7 @@
 //link:http://bits.netbeans.org/media/javaee-html5-primefaces.mp4[Download] [63 MB]
 
 !
-xref:./javaee/javaee-gettingstarted-pf-screencast.adoc[Java EE Development with PrimeFaces]
+xref:kb/docs/javaee/javaee-gettingstarted-pf-screencast.adoc[Java EE Development with PrimeFaces]
 
 This screencast shows how easily PrimeFaces applications can be created with Maven and Java EE in NetBeans IDE 7.4.
 
@@ -205,7 +205,7 @@
 //link:http://bits.netbeans.org/media/netbeans_fx.mp4[Download] [19 MB]
 
 !
-xref:./java/nb_fx_screencast.adoc[JavaFX Support in NetBeans IDE]
+xref:kb/docs/java/nb_fx_screencast.adoc[JavaFX Support in NetBeans IDE]
 
 This screencast demonstrates JavaFX-related features that are implemented in NetBeans IDE 7.4, including the JavaFX runtime classpath, the alignment of JavaFX and Java SE projects and the JavaFX Maven project template.
 
@@ -221,7 +221,7 @@
 //link:http://bits.netbeans.org/media/nb_mesdk.mp4[Download] [6 MB]
 
 !
-xref:./javame/nb_me8_screencast.adoc[Setting up NetBeans IDE for Mobile Development on Windows]
+xref:kb/docs/javame/nb_me8_screencast.adoc[Setting up NetBeans IDE for Mobile Development on Windows]
 
 This screencast demonstrates the support for the Java ME SDK in NetBeans IDE. This screencast shows how to activate JavaME plugins and register the Java ME SDK in NetBeans IDE.
 
diff --git a/modules/ROOT/pages/kb/docs/java-ee.adoc b/modules/ROOT/pages/kb/docs/java-ee.adoc
index 1029759..dde7f5a 100644
--- a/modules/ROOT/pages/kb/docs/java-ee.adoc
+++ b/modules/ROOT/pages/kb/docs/java-ee.adoc
@@ -159,12 +159,12 @@
 
 == Sample Applications
 
-* xref:../samples/pet-catalog.adoc[+Pet Catalog - Java EE 6 Sample Application+]
-* xref:../samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
-* xref:../samples/jsfjpa.adoc[+User Authentication Web App Using Java EE+]
-* xref:../samples/webjpa.adoc[+Using the Java Persistence API in a Stand-Alone Web App+]
-* xref:../samples/javaee-crud.adoc[+JSF CRUD Web Application with Java Persistence API+]
-* xref:../samples/javaee-stateless.adoc[+Dependency Injection with Stateless Session Beans+]
+* xref:samples/pet-catalog.adoc[+Pet Catalog - Java EE 6 Sample Application+]
+* xref:samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
+* xref:samples/jsfjpa.adoc[+User Authentication Web App Using Java EE+]
+* xref:samples/webjpa.adoc[+Using the Java Persistence API in a Stand-Alone Web App+]
+* xref:samples/javaee-crud.adoc[+JSF CRUD Web Application with Java Persistence API+]
+* xref:samples/javaee-stateless.adoc[+Dependency Injection with Stateless Session Beans+]
 
 == Community-Contributed Docs
 
diff --git a/modules/ROOT/pages/kb/docs/java-se.adoc b/modules/ROOT/pages/kb/docs/java-se.adoc
index 9ee8f2a..2052270 100644
--- a/modules/ROOT/pages/kb/docs/java-se.adoc
+++ b/modules/ROOT/pages/kb/docs/java-se.adoc
@@ -69,20 +69,20 @@
 
 === Profiling Source Code
 
-- xref:./java/profiler-intro.adoc[+Introduction to Profiling Java Applications+]
-- xref:./java/profiler-profilingpoints.adoc[+Using Profiling Points+]
+- xref:kb/docs/java/profiler-intro.adoc[+Introduction to Profiling Java Applications+]
+- xref:kb/docs/java/profiler-profilingpoints.adoc[+Using Profiling Points+]
 - xref:front::community/magazine/html/04/profiler.adoc[+Advanced Profiling: Theory in Practice+]
 // - xref:front::competition/win-with-netbeans/case-study-nb-profiler.adoc[+Case Study of NetBeans Profiler+]
 
 === Scripting Languages
 
-- xref:./java/groovy-quickstart.adoc[+Introduction to Groovy+]
+- xref:kb/docs/java/groovy-quickstart.adoc[+Introduction to Groovy+]
 
 === JMX Monitoring and Management
 
-- xref:./java/jmx-getstart.adoc[+Getting Started with Java Management Extensions (JMX) Monitoring+]
-- xref:./java/jmx-tutorial.adoc[+Adding JMX Instrumentation to a Java Application+]
-- xref:./java/jmx-manager-tutorial.adoc[+Developing a JMX Manager and Connecting to a Remote JMX Agent+]
+- xref:kb/docs/java/jmx-getstart.adoc[+Getting Started with Java Management Extensions (JMX) Monitoring+]
+- xref:kb/docs/java/jmx-tutorial.adoc[+Adding JMX Instrumentation to a Java Application+]
+- xref:kb/docs/java/jmx-manager-tutorial.adoc[+Developing a JMX Manager and Connecting to a Remote JMX Agent+]
 
 === Community-Contributed Docs
 
diff --git a/modules/ROOT/pages/kb/docs/java/annotations-custom.adoc b/modules/ROOT/pages/kb/docs/java/annotations-custom.adoc
index ef02eb9..31c234e 100644
--- a/modules/ROOT/pages/kb/docs/java/annotations-custom.adoc
+++ b/modules/ROOT/pages/kb/docs/java/annotations-custom.adoc
@@ -33,7 +33,7 @@
 :imagesdir: ../../../../images
 endif::[]
 
-The previous part of the annotations tutorial (xref:./annotations-lombok.adoc[Part I: Using Lombok for Custom Annotations]) showed how custom annotations work within NetBeans.
+The previous part of the annotations tutorial (xref:kb/docs/java/annotations-lombok.adoc[Part I: Using Lombok for Custom Annotations]) showed how custom annotations work within NetBeans.
 
 In this section of the tutorial, you will learn how to add a self-written custom annotation processor to a project in the IDE. This tutorial does not teach you how to write an annotation processor. It explains how to add it to a NetBeans IDE project.
 
@@ -462,7 +462,7 @@
 
 See the following resources for more information about annotations in Java applications:
 
-* The previous part of the annotations tutorial: xref:./annotations-lombok.adoc[Part I: Using Lombok for Custom Annotations]).
+* The previous part of the annotations tutorial: xref:kb/docs/java/annotations-lombok.adoc[Part I: Using Lombok for Custom Annotations]).
 * Java SE Documentation - link:http://download.oracle.com/javase/6/docs/technotes/guides/language/annotations.html[+Annotations+]
 * Java SE Tutorial - link:http://download.oracle.com/javase/tutorial/java/javaOO/annotations.html[+Annotations+]
 * link:http://download.oracle.com/javase/6/docs/technotes/tools/windows/javac.html#processing[+Java Compiler: Annotation Processing Options+]
diff --git a/modules/ROOT/pages/kb/docs/java/annotations-lombok.adoc b/modules/ROOT/pages/kb/docs/java/annotations-lombok.adoc
index fb99836..2076634 100644
--- a/modules/ROOT/pages/kb/docs/java/annotations-lombok.adoc
+++ b/modules/ROOT/pages/kb/docs/java/annotations-lombok.adoc
@@ -246,7 +246,7 @@
 
 == Next Step
 
-* xref:./annotations-custom.adoc[+Part II: Using Own Custom Annotation Processor in the IDE+]
+* xref:kb/docs/java/annotations-custom.adoc[+Part II: Using Own Custom Annotation Processor in the IDE+]
 * Java SE Documentation - link:http://download.oracle.com/javase/6/docs/technotes/guides/language/annotations.html[+Annotations+]
 * Java SE Tutorial - link:http://download.oracle.com/javase/tutorial/java/javaOO/annotations.html[+Annotations+]
 
diff --git a/modules/ROOT/pages/kb/docs/java/annotations.adoc b/modules/ROOT/pages/kb/docs/java/annotations.adoc
index e1348e1..c4c9967 100644
--- a/modules/ROOT/pages/kb/docs/java/annotations.adoc
+++ b/modules/ROOT/pages/kb/docs/java/annotations.adoc
@@ -31,9 +31,9 @@
 
 This two-part tutorial demonstrates how you can attach annotation processors to a project and use them while working on your code in the IDE. NetBeans IDE includes built-in support for custom annotation processors. Now you can conveniently specify annotation processors to run with your project and see the results of annotation processing directly in the Java Editor through code completion and navigation.
 
-The xref:./annotations-lombok.adoc[+first part of the tutorial+] shows the use of the third-party annotation processor, link:http://projectlombok.org/[+Project Lombok+], in the NetBeans IDE.
+The xref:kb/docs/java/annotations-lombok.adoc[+first part of the tutorial+] shows the use of the third-party annotation processor, link:http://projectlombok.org/[+Project Lombok+], in the NetBeans IDE.
 
-The xref:./annotations-custom.adoc[+second part of the tutorial+] provides explanations of how to add a self-written annotation processor to a project. The sample code for this part of the tutorial is contributed by Jesse Glick.
+The xref:kb/docs/java/annotations-custom.adoc[+second part of the tutorial+] provides explanations of how to add a self-written annotation processor to a project. The sample code for this part of the tutorial is contributed by Jesse Glick.
 
 
 == Requirements
@@ -120,6 +120,6 @@
 
 Read the following parts of the tutorial to learn how to use annotations in the IDE.
 
-* xref:./annotations-lombok.adoc[+Part I: Using Project Lombok for Custom Annotations+]
-* xref:./annotations-custom.adoc[+Part II: Using Own Custom Annotation Processor in the IDE+]
+* xref:kb/docs/java/annotations-lombok.adoc[+Part I: Using Project Lombok for Custom Annotations+]
+* xref:kb/docs/java/annotations-custom.adoc[+Part II: Using Own Custom Annotation Processor in the IDE+]
 
diff --git a/modules/ROOT/pages/kb/docs/java/debug-deadlock-screencast.adoc b/modules/ROOT/pages/kb/docs/java/debug-deadlock-screencast.adoc
index b4cefd6..23e93b5 100644
--- a/modules/ROOT/pages/kb/docs/java/debug-deadlock-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/debug-deadlock-screencast.adoc
@@ -45,7 +45,7 @@
 
 == Related links
 
-* Demo: xref:./debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
-* Demo: xref:./debug-multithreaded-screencast.adoc[+Multithreaded Debugging with the NetBeans IDE+]
-* Demo: xref:./debug-evaluator-screencast.adoc[+Using the Code Snippet Evaluator in the NetBeans Debugger+]
-* xref:./debug-multithreaded.adoc[+Debugging Multithreaded Applications in NetBeans IDE+]
+* Demo: xref:kb/docs/java/debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-multithreaded-screencast.adoc[+Multithreaded Debugging with the NetBeans IDE+]
+* Demo: xref:kb/docs/java/debug-evaluator-screencast.adoc[+Using the Code Snippet Evaluator in the NetBeans Debugger+]
+* xref:kb/docs/java/debug-multithreaded.adoc[+Debugging Multithreaded Applications in NetBeans IDE+]
diff --git a/modules/ROOT/pages/kb/docs/java/debug-evaluator-screencast.adoc b/modules/ROOT/pages/kb/docs/java/debug-evaluator-screencast.adoc
index d7608f5..97b0641 100644
--- a/modules/ROOT/pages/kb/docs/java/debug-evaluator-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/debug-evaluator-screencast.adoc
@@ -45,7 +45,7 @@
 
 == Related links
 
-* Demo: xref:./debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
-* Demo: xref:./debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
-* Demo: xref:./debug-multithreaded-screencast.adoc[+Multithreaded Debugging with the NetBeans IDE+]
-* xref:./debug-multithreaded.adoc[+Debugging Multithreaded Applications in NetBeans IDE+]
+* Demo: xref:kb/docs/java/debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-multithreaded-screencast.adoc[+Multithreaded Debugging with the NetBeans IDE+]
+* xref:kb/docs/java/debug-multithreaded.adoc[+Debugging Multithreaded Applications in NetBeans IDE+]
diff --git a/modules/ROOT/pages/kb/docs/java/debug-multithreaded-screencast.adoc b/modules/ROOT/pages/kb/docs/java/debug-multithreaded-screencast.adoc
index 7ffe5e2..42aef7e 100644
--- a/modules/ROOT/pages/kb/docs/java/debug-multithreaded-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/debug-multithreaded-screencast.adoc
@@ -45,7 +45,7 @@
 
 == Related links
 
-* xref:./debug-multithreaded.adoc[+Debugging Multithreaded Applications in NetBeans IDE+]
-* Demo: xref:./debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
-* Demo: xref:./debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
-* Demo: xref:./debug-evaluator-screencast.adoc[+Using the Code Snippet Evaluator in the NetBeans Debugger+]
+* xref:kb/docs/java/debug-multithreaded.adoc[+Debugging Multithreaded Applications in NetBeans IDE+]
+* Demo: xref:kb/docs/java/debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-evaluator-screencast.adoc[+Using the Code Snippet Evaluator in the NetBeans Debugger+]
diff --git a/modules/ROOT/pages/kb/docs/java/debug-stepinto-screencast.adoc b/modules/ROOT/pages/kb/docs/java/debug-stepinto-screencast.adoc
index 4dce3a9..ef30f40 100644
--- a/modules/ROOT/pages/kb/docs/java/debug-stepinto-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/debug-stepinto-screencast.adoc
@@ -45,7 +45,7 @@
 
 == Related links
 
-* Demo: xref:./debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
-* Demo: xref:./debug-evaluator-screencast.adoc[+Using the Code Snippet Evaluator in the NetBeans Debugger+]
-* Demo: xref:./debug-multithreaded-screencast.adoc[+Multithreaded Debugging with the NetBeans IDE+]
-* xref:./debug-multithreaded.adoc[+Debugging Multithreaded Applications in NetBeans IDE+]
+* Demo: xref:kb/docs/java/debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-evaluator-screencast.adoc[+Using the Code Snippet Evaluator in the NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-multithreaded-screencast.adoc[+Multithreaded Debugging with the NetBeans IDE+]
+* xref:kb/docs/java/debug-multithreaded.adoc[+Debugging Multithreaded Applications in NetBeans IDE+]
diff --git a/modules/ROOT/pages/kb/docs/java/debug-visual-screencast.adoc b/modules/ROOT/pages/kb/docs/java/debug-visual-screencast.adoc
index 9788955..3499c95 100644
--- a/modules/ROOT/pages/kb/docs/java/debug-visual-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/debug-visual-screencast.adoc
@@ -45,8 +45,8 @@
 
 == Related links
 
-* xref:./gui-functionality.adoc[+Introduction to Java GUI Building+]
-* xref:./debug-visual.adoc[+Using the Visual Debugger+]
-* Demo: xref:./debug-multithreaded-screencast.adoc[+Debugging a Multithreaded Application in NetBeans IDE+]
-* Demo: xref:./debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
-* Demo: xref:./debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
+* xref:kb/docs/java/gui-functionality.adoc[+Introduction to Java GUI Building+]
+* xref:kb/docs/java/debug-visual.adoc[+Using the Visual Debugger+]
+* Demo: xref:kb/docs/java/debug-multithreaded-screencast.adoc[+Debugging a Multithreaded Application in NetBeans IDE+]
+* Demo: xref:kb/docs/java/debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
diff --git a/modules/ROOT/pages/kb/docs/java/gbcustomizer-advanced.adoc b/modules/ROOT/pages/kb/docs/java/gbcustomizer-advanced.adoc
index 4448adc..e0e49e0 100644
--- a/modules/ROOT/pages/kb/docs/java/gbcustomizer-advanced.adoc
+++ b/modules/ROOT/pages/kb/docs/java/gbcustomizer-advanced.adoc
@@ -38,10 +38,10 @@
 
 Each document in this series covers specific set of features.
 
-* Part 1: xref:./gbcustomizer-basic.adoc[+Designing a Basic Java Form Using the GridBag Customizer+]
+* Part 1: xref:kb/docs/java/gbcustomizer-basic.adoc[+Designing a Basic Java Form Using the GridBag Customizer+]
 * Part 2: Designing an Advanced Java Form Using the GridBag Customizer
 
-The xref:./gbcustomizer-basic.adoc[+first tutorial in the series+] demonstrated how to modify a simple Java form using the basic features of the NetBeans IDE GridBag Customizer. In this tutorial you will learn how to use the GridBag Customizer advanced features to change the existing form layout.
+The xref:kb/docs/java/gbcustomizer-basic.adoc[+first tutorial in the series+] demonstrated how to modify a simple Java form using the basic features of the NetBeans IDE GridBag Customizer. In this tutorial you will learn how to use the GridBag Customizer advanced features to change the existing form layout.
 
 
 *To follow this tutorial, you need the following software and resources.*
@@ -360,7 +360,7 @@
 
 In this tutorial, you modified an existing form by adding new components, inserting rows, etc. When designing the layout you learned how to use the advanced features of the GridBag Customizer to reorganize the layout of the form.
 
-Go to xref:./gbcustomizer-basic.adoc[+Designing a Basic Java Form Using the GridBag Customizer+]
+Go to xref:kb/docs/java/gbcustomizer-basic.adoc[+Designing a Basic Java Form Using the GridBag Customizer+]
 
 <<top,top>>
 
diff --git a/modules/ROOT/pages/kb/docs/java/gbcustomizer-basic.adoc b/modules/ROOT/pages/kb/docs/java/gbcustomizer-basic.adoc
index c186934..0e1a712 100644
--- a/modules/ROOT/pages/kb/docs/java/gbcustomizer-basic.adoc
+++ b/modules/ROOT/pages/kb/docs/java/gbcustomizer-basic.adoc
@@ -39,7 +39,7 @@
 Each document in this series covers specific set of features.
 
 * Part 1: Designing a Basic Java Form Using the GridBag Customizer
-* Part 2: xref:./gbcustomizer-advanced.adoc[+Designing an Advanced Java Form Using the GridBag Customizer+]
+* Part 2: xref:kb/docs/java/gbcustomizer-advanced.adoc[+Designing an Advanced Java Form Using the GridBag Customizer+]
 
 *To follow this tutorial, you need the software and resources listed below.*
 
@@ -279,7 +279,7 @@
 In this short tutorial, you designed a simple form. When editing the layout you learned how to use the basic features of the GridBag Customizer.
 You can now go to the second in a two-part series tutorial where you will modify the  ``ContactsAdvancedInitial``  form to get familiar with the GridBag Customizer advanced features.
 
-Go to xref:./gbcustomizer-advanced.adoc[+Designing an Advanced Java Form Using the GridBag Customizer+]
+Go to xref:kb/docs/java/gbcustomizer-advanced.adoc[+Designing an Advanced Java Form Using the GridBag Customizer+]
 
 <<top,top>>
 
diff --git a/modules/ROOT/pages/kb/docs/java/gui-automatic-i18n.adoc b/modules/ROOT/pages/kb/docs/java/gui-automatic-i18n.adoc
index 38868c7..1842e71 100644
--- a/modules/ROOT/pages/kb/docs/java/gui-automatic-i18n.adoc
+++ b/modules/ROOT/pages/kb/docs/java/gui-automatic-i18n.adoc
@@ -210,7 +210,7 @@
 
 == Internationalizing an Entire Project
 
-Generally, we have several files in the default locale and we are asked to adapt them in order to be translated to other languages. The Internationalization Wizard is the perfect tool for this task, as it can internationalize multiple files at once. We will show this feature on the GUI Form examples project, which contains the form created in the xref:./quickstart-gui.adoc[+Designing a Swing GUI+] tutorial.
+Generally, we have several files in the default locale and we are asked to adapt them in order to be translated to other languages. The Internationalization Wizard is the perfect tool for this task, as it can internationalize multiple files at once. We will show this feature on the GUI Form examples project, which contains the form created in the xref:kb/docs/java/quickstart-gui.adoc[+Designing a Swing GUI+] tutorial.
 
 
 === Creating a Sample Project
diff --git a/modules/ROOT/pages/kb/docs/java/gui-binding.adoc b/modules/ROOT/pages/kb/docs/java/gui-binding.adoc
index 7f762a9..2765fd2 100644
--- a/modules/ROOT/pages/kb/docs/java/gui-binding.adoc
+++ b/modules/ROOT/pages/kb/docs/java/gui-binding.adoc
@@ -470,7 +470,7 @@
 == See Also
 
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG2649[+Working with Database Applications and Beans Binding+] in _Developing Applications with NetBeans IDE_
-* xref:./gui-functionality.adoc[+Introduction to GUI Building+]
+* xref:kb/docs/java/gui-functionality.adoc[+Introduction to GUI Building+]
 * link:http://java.net/projects/beansbinding/[+Beans Binding - Java.net+]
 * link:http://docs.oracle.com/javase/tutorial/javabeans/index.html[+JavaBeans™ trail of the Java Tutorial+]
 * xref:wiki::wiki/NetBeansUserFAQ.adoc#GUI_Editor_.28Matisse.29[+GUI Editor FAQ+]
diff --git a/modules/ROOT/pages/kb/docs/java/gui-builder-screencast.adoc b/modules/ROOT/pages/kb/docs/java/gui-builder-screencast.adoc
index 5e96aec..900c955 100644
--- a/modules/ROOT/pages/kb/docs/java/gui-builder-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/gui-builder-screencast.adoc
@@ -29,7 +29,7 @@
 :description: Designing a Swing GUI in NetBeans IDE - Apache NetBeans
 :keywords: Apache NetBeans, Tutorials, Designing a Swing GUI in NetBeans IDE
 
-These screencasts walk you through designing a Swing GUI in the NetBeans IDE described in the xref:./quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+] tutorial.
+These screencasts walk you through designing a Swing GUI in the NetBeans IDE described in the xref:kb/docs/java/quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+] tutorial.
 
 In the screencasts, you will see how to add, insert, align, resize, and indent components to layout a GUI front-end that enables you to view and edit contact information of individuals included in an employee database. You will learn how to effectively use the capabilities of the IDE's GUI Builder.
 
diff --git a/modules/ROOT/pages/kb/docs/java/gui-filechooser.adoc b/modules/ROOT/pages/kb/docs/java/gui-filechooser.adoc
index fee6b0b..fb8cdd2 100644
--- a/modules/ROOT/pages/kb/docs/java/gui-filechooser.adoc
+++ b/modules/ROOT/pages/kb/docs/java/gui-filechooser.adoc
@@ -331,6 +331,6 @@
 == Next Steps
 
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG920[+Implementing Java GUIs+] in _Developing Applications with NetBeans IDE_
-* xref:./gui-binding.adoc[+Binding Beans and Data in a Java Application with NetBeans IDE+]
-* xref:./gui-automatic-i18n.adoc[+Internationalizing a GUI Form with NetBeans IDE+]
+* xref:kb/docs/java/gui-binding.adoc[+Binding Beans and Data in a Java Application with NetBeans IDE+]
+* xref:kb/docs/java/gui-automatic-i18n.adoc[+Internationalizing a GUI Form with NetBeans IDE+]
 * link:http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html[+Java Tutorial: How to use File Choosers+]
diff --git a/modules/ROOT/pages/kb/docs/java/gui-functionality.adoc b/modules/ROOT/pages/kb/docs/java/gui-functionality.adoc
index 82b709e..98fcc82 100644
--- a/modules/ROOT/pages/kb/docs/java/gui-functionality.adoc
+++ b/modules/ROOT/pages/kb/docs/java/gui-functionality.adoc
@@ -39,7 +39,7 @@
 
 We will work through the layout and design of a GUI and add a few buttons and text fields. The text fields will be used for receiving user input and also for displaying the program output. The button will initiate the functionality built into the front end. The application we create will be a simple but functional calculator.
 
-For a more comprehensive guide to the GUI Builder's design features, including video demonstrations of the various design features, see xref:./quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+].
+For a more comprehensive guide to the GUI Builder's design features, including video demonstrations of the various design features, see xref:kb/docs/java/quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+].
 
 [[Exercise_1]]
 == Exercise 1: Creating a Project
@@ -72,7 +72,7 @@
 
 === Adding Components: Making the Front End
 
-Next we will use the Palette to populate our application's front end with a JPanel. Then we will add three JLabels, three JTextFields, and three JButtons. If you have not used the GUI Builder before, you might find information in the xref:./quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+] tutorial on positioning components useful.
+Next we will use the Palette to populate our application's front end with a JPanel. Then we will add three JLabels, three JTextFields, and three JButtons. If you have not used the GUI Builder before, you might find information in the xref:kb/docs/java/quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+] tutorial on positioning components useful.
 
 Once you are done dragging and positioning the aforementioned components, the JFrame should look something like the following screenshot.
 
@@ -212,7 +212,7 @@
 
 After a few seconds, the application should start.
 
-NOTE: If double-clicking the JAR file does not launch the application, see xref:./javase-deploy.adoc#troubleshooting[+this article+] for information on setting JAR file associations in your operating system.
+NOTE: If double-clicking the JAR file does not launch the application, see xref:kb/docs/java/javase-deploy.adoc#troubleshooting[+this article+] for information on setting JAR file associations in your operating system.
 
 You can also launch the application from the command line.
 
diff --git a/modules/ROOT/pages/kb/docs/java/hibernate-java-se.adoc b/modules/ROOT/pages/kb/docs/java/hibernate-java-se.adoc
index ae158c3..3fa5513 100644
--- a/modules/ROOT/pages/kb/docs/java/hibernate-java-se.adoc
+++ b/modules/ROOT/pages/kb/docs/java/hibernate-java-se.adoc
@@ -42,10 +42,10 @@
 Before starting this tutorial you may want to familiarize yourself with the following documentation.
 
 * Hibernate documentation at link:http://www.hibernate.org/[+hibernate.org+].
-* xref:./gui-functionality.adoc[+Introduction to GUI Building+]
+* xref:kb/docs/java/gui-functionality.adoc[+Introduction to GUI Building+]
 * xref:kb/docs/ide/mysql.adoc[+Connecting to a MySQL Database+] tutorial.
 
-To build this application using Maven, see xref:./maven-hib-java-se.adoc[+Creating a Maven Swing Application Using Hibernate+].
+To build this application using Maven, see xref:kb/docs/java/maven-hib-java-se.adoc[+Creating a Maven Swing Application Using Hibernate+].
 
 
 image::kb/docs/java/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
@@ -249,7 +249,7 @@
 
 In this exercise you will create a simple JFrame Form with some fields for entering and displaying data. You will also add a button that will trigger a database query to retrieve the data.
 
-If you are not familiar with using the GUI builder to create forms, you might want to review the xref:./gui-functionality.adoc[+Introduction to GUI Building+] tutorial.
+If you are not familiar with using the GUI builder to create forms, you might want to review the xref:kb/docs/java/gui-functionality.adoc[+Introduction to GUI Building+] tutorial.
 
 
 === Creating the JFrame Form
@@ -629,6 +629,6 @@
 
 For additional information on creating Swing GUI applications, see the following tutorials.
 
-* xref:./quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+]
-* xref:./gui-functionality.adoc[+Introduction to GUI Building+]
+* xref:kb/docs/java/quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+]
+* xref:kb/docs/java/gui-functionality.adoc[+Introduction to GUI Building+]
 * xref:kb/docs/matisse.adoc[+Java GUI Applications Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/java/index.adoc b/modules/ROOT/pages/kb/docs/java/index.adoc
index 8842c41..ddf95b9 100644
--- a/modules/ROOT/pages/kb/docs/java/index.adoc
+++ b/modules/ROOT/pages/kb/docs/java/index.adoc
@@ -33,36 +33,36 @@
 
 == Getting Started
 
-- xref:./quickstart.adoc[Java Quick Start Tutorial]
-- xref:./editor-codereference.adoc[ Code Assistance in the NetBeans IDE Java Editor: A Reference Guide]
+- xref:kb/docs/java/quickstart.adoc[Java Quick Start Tutorial]
+- xref:kb/docs/java/editor-codereference.adoc[ Code Assistance in the NetBeans IDE Java Editor: A Reference Guide]
 
 == Developing Java Applications
 
-- xref:./javase-intro.adoc[Developing General Java Applications]
-- xref:./code-inspect.adoc[Static Code Analysis in the NetBeans IDE Java Editor]
-- xref:./editor-inspect-transform.adoc[Refactoring with Inspect and Transform in the NetBeans IDE Java Editor]
-- xref:./javase-embedded.adoc[Using Oracle Java SE Embedded Support in NetBeans IDE]
-- xref:./javase-deploy.adoc[Packaging and Distributing Java Desktop Applications]
+- xref:kb/docs/java/javase-intro.adoc[Developing General Java Applications]
+- xref:kb/docs/java/code-inspect.adoc[Static Code Analysis in the NetBeans IDE Java Editor]
+- xref:kb/docs/java/editor-inspect-transform.adoc[Refactoring with Inspect and Transform in the NetBeans IDE Java Editor]
+- xref:kb/docs/java/javase-embedded.adoc[Using Oracle Java SE Embedded Support in NetBeans IDE]
+- xref:kb/docs/java/javase-deploy.adoc[Packaging and Distributing Java Desktop Applications]
 
 == Building, Debugging, and Testing
 
-- xref:./debug-visual.adoc[Using the Visual Debugger in NetBeans IDE]
-- xref:./junit-intro.adoc[Writing JUnit Tests in NetBeans IDE]
-- xref:./debug-multithreaded.adoc[Debugging Multi-threaded Applications in NetBeans IDE]
+- xref:kb/docs/java/debug-visual.adoc[Using the Visual Debugger in NetBeans IDE]
+- xref:kb/docs/java/junit-intro.adoc[Writing JUnit Tests in NetBeans IDE]
+- xref:kb/docs/java/debug-multithreaded.adoc[Debugging Multi-threaded Applications in NetBeans IDE]
 
 == Maven
 
 - xref:wiki::wiki/MavenBestPractices.adoc[Maven Best Practices]
-- xref:./maven-hib-java-se.adoc[Creating a Maven Swing Application Using Hibernate - NetBeans IDE Tutorial]
+- xref:kb/docs/java/maven-hib-java-se.adoc[Creating a Maven Swing Application Using Hibernate - NetBeans IDE Tutorial]
 
 == Profiling Source Code
 
-- xref:./profiler-intro.adoc[Introduction to Profiling Java Applications in NetBeans IDE]
-- xref:./profiler-profilingpoints.adoc[Using Profiling Points in NetBeans IDE]
+- xref:kb/docs/java/profiler-intro.adoc[Introduction to Profiling Java Applications in NetBeans IDE]
+- xref:kb/docs/java/profiler-profilingpoints.adoc[Using Profiling Points in NetBeans IDE]
 
 == Scripting Languages
 
-- xref:./groovy-quickstart.adoc[Introduction to Groovy]
+- xref:kb/docs/java/groovy-quickstart.adoc[Introduction to Groovy]
 
 == JavaFX
 
@@ -74,13 +74,13 @@
 
 == Java Swing
 
-- xref:./gui-functionality.adoc[Introduction to GUI Building]
-- xref:./native_pkg.adoc[Native Packaging in NetBeans IDE]
-- xref:./quickstart-gui-legend.adoc[GUI Builder Visual Feedback Legend]
-- xref:./gui-image-display.adoc[Handling Images in a Java GUI Application]
-- xref:./quickstart-gui.adoc[Designing a Swing GUI in NetBeans IDE]
-- xref:./gui-gaps.adoc[Gap Editing Support in the NetBeans GUI Builder]
-- xref:./gui-automatic-i18n.adoc[Internationalizing a GUI Form]
-- xref:./gbcustomizer-basic.adoc[Designing a Basic Java Form Using the GridBag Customizer]
-- xref:./gbcustomizer-advanced.adoc[Designing an Advanced Java Form Using the GridBag Customizer]
-- xref:./hibernate-java-se.adoc[Using Hibernate in a Java Swing Application]
+- xref:kb/docs/java/gui-functionality.adoc[Introduction to GUI Building]
+- xref:kb/docs/java/native_pkg.adoc[Native Packaging in NetBeans IDE]
+- xref:kb/docs/java/quickstart-gui-legend.adoc[GUI Builder Visual Feedback Legend]
+- xref:kb/docs/java/gui-image-display.adoc[Handling Images in a Java GUI Application]
+- xref:kb/docs/java/quickstart-gui.adoc[Designing a Swing GUI in NetBeans IDE]
+- xref:kb/docs/java/gui-gaps.adoc[Gap Editing Support in the NetBeans GUI Builder]
+- xref:kb/docs/java/gui-automatic-i18n.adoc[Internationalizing a GUI Form]
+- xref:kb/docs/java/gbcustomizer-basic.adoc[Designing a Basic Java Form Using the GridBag Customizer]
+- xref:kb/docs/java/gbcustomizer-advanced.adoc[Designing an Advanced Java Form Using the GridBag Customizer]
+- xref:kb/docs/java/hibernate-java-se.adoc[Using Hibernate in a Java Swing Application]
diff --git a/modules/ROOT/pages/kb/docs/java/introduce-refactoring-screencast.adoc b/modules/ROOT/pages/kb/docs/java/introduce-refactoring-screencast.adoc
index 152e7ae..43b462d 100644
--- a/modules/ROOT/pages/kb/docs/java/introduce-refactoring-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/introduce-refactoring-screencast.adoc
@@ -54,6 +54,6 @@
 
 == Related links
 
-* xref:./editor-inspect-transform.adoc[+Refactoring with Inspect and Transform in the NetBeans IDE Java Editor+]
-* xref:./editor-codereference.adoc[+Code Assistance in the NetBeans IDE Java Editor: A Reference Guide+]
+* xref:kb/docs/java/editor-inspect-transform.adoc[+Refactoring with Inspect and Transform in the NetBeans IDE Java Editor+]
+* xref:kb/docs/java/editor-codereference.adoc[+Code Assistance in the NetBeans IDE Java Editor: A Reference Guide+]
 * xref:wiki::wiki/Refactoring.adoc[+Refactoring Simplified+]
diff --git a/modules/ROOT/pages/kb/docs/java/javase-intro.adoc b/modules/ROOT/pages/kb/docs/java/javase-intro.adoc
index 4a9c66d..d3ea78b 100644
--- a/modules/ROOT/pages/kb/docs/java/javase-intro.adoc
+++ b/modules/ROOT/pages/kb/docs/java/javase-intro.adoc
@@ -45,7 +45,7 @@
 
 You will create an application that converts several words into a single word that contains one letter from each of the other words. The resulting word is called an _acrostic_.
 
-This tutorial takes approximately 30 minutes to complete. If you would like to do a quicker *Hello World* tutorial, see the xref:./quickstart.adoc[+NetBeans IDE Java Quick Start Tutorial+].
+This tutorial takes approximately 30 minutes to complete. If you would like to do a quicker *Hello World* tutorial, see the xref:kb/docs/java/quickstart.adoc[+NetBeans IDE Java Quick Start Tutorial+].
 
 //=============================================================== Preamble (End)
 
@@ -347,7 +347,7 @@
 
 When the program reaches the end, the debugger windows close.
 
-For more information, see xref:./junit-intro.adoc[+Writing JUnit Tests in NetBeans IDE+].
+For more information, see xref:kb/docs/java/junit-intro.adoc[+Writing JUnit Tests in NetBeans IDE+].
 
 //================================== Testing and Debugging the Application (End)
 
diff --git a/modules/ROOT/pages/kb/docs/java/javase-jdk7.adoc b/modules/ROOT/pages/kb/docs/java/javase-jdk7.adoc
index dd02594..ef89ca4 100644
--- a/modules/ROOT/pages/kb/docs/java/javase-jdk7.adoc
+++ b/modules/ROOT/pages/kb/docs/java/javase-jdk7.adoc
@@ -292,6 +292,6 @@
 
 For more information about developing Java applications in the NetBeans IDE, see:
 
-* xref:./javase-intro.adoc[+Developing General Java Applications+]
+* xref:kb/docs/java/javase-intro.adoc[+Developing General Java Applications+]
 * xref:kb/docs/java-se.adoc[+General Java Development Learning Trail+]
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG366[+Creating Java Projects+] in _Developing Applications with NetBeans IDE_
diff --git a/modules/ROOT/pages/kb/docs/java/javase-jdk8.adoc b/modules/ROOT/pages/kb/docs/java/javase-jdk8.adoc
index 9fb32da..cdcfc7a 100644
--- a/modules/ROOT/pages/kb/docs/java/javase-jdk8.adoc
+++ b/modules/ROOT/pages/kb/docs/java/javase-jdk8.adoc
@@ -330,5 +330,5 @@
 For more information about developing Java applications in the NetBeans IDE, see:
 
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG366[+Creating Java Projects+] in _Developing Applications with NetBeans IDE_
-* xref:./javase-intro.adoc[+Developing General Java Applications+]
+* xref:kb/docs/java/javase-intro.adoc[+Developing General Java Applications+]
 * xref:kb/docs/java-se.adoc[+General Java Development Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/java/jdk7-nb70-screencast.adoc b/modules/ROOT/pages/kb/docs/java/jdk7-nb70-screencast.adoc
index ea360eb..68daf41 100644
--- a/modules/ROOT/pages/kb/docs/java/jdk7-nb70-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/jdk7-nb70-screencast.adoc
@@ -45,4 +45,4 @@
 
 == Related links
 
-* xref:./javase-jdk7.adoc[+Overview of JDK 7 Support in NetBeans IDE+]
+* xref:kb/docs/java/javase-jdk7.adoc[+Overview of JDK 7 Support in NetBeans IDE+]
diff --git a/modules/ROOT/pages/kb/docs/java/jdk8-migration-screencast.adoc b/modules/ROOT/pages/kb/docs/java/jdk8-migration-screencast.adoc
index 823855f..0500d06 100644
--- a/modules/ROOT/pages/kb/docs/java/jdk8-migration-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/jdk8-migration-screencast.adoc
@@ -47,7 +47,7 @@
 == Related links
 
 * link:https://openjdk.org/projects/jdk8/[+JDK 8 Project Page+]
-* xref:./javase-jdk8.adoc[+Overview of JDK 8 Support in NetBeans IDE+]
+* xref:kb/docs/java/javase-jdk8.adoc[+Overview of JDK 8 Support in NetBeans IDE+]
 // * xref:kb/docs/java/index.adoc[+NetBeans Feature Pages: Java+]
 * xref:kb/docs/java-se.adoc[+General Java Development NetBeans Learning Trail+]
 * link:http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html[+The Java Tutorials: Lambda Expressions+]
diff --git a/modules/ROOT/pages/kb/docs/java/jdk8-nb74-screencast.adoc b/modules/ROOT/pages/kb/docs/java/jdk8-nb74-screencast.adoc
index e057031..0bc8bfb 100644
--- a/modules/ROOT/pages/kb/docs/java/jdk8-nb74-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/jdk8-nb74-screencast.adoc
@@ -48,7 +48,7 @@
 == Related links
 
 * link:https://openjdk.org/projects/jdk8/[JDK 8 Project Page]
-* xref:./javase-jdk8.adoc[Overview of JDK 8 Support in NetBeans IDE]
+* xref:kb/docs/java/javase-jdk8.adoc[Overview of JDK 8 Support in NetBeans IDE]
 * xref:index.adoc[NetBeans Feature Pages: Java]
 * xref:kb/docs/java-se.adoc[General Java Development NetBeans Learning Trail]
 * link:https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html[+The Java Tutorials: Lambda Expressions+]
diff --git a/modules/ROOT/pages/kb/docs/java/jmx-getstart.adoc b/modules/ROOT/pages/kb/docs/java/jmx-getstart.adoc
index 532421b..4634294 100644
--- a/modules/ROOT/pages/kb/docs/java/jmx-getstart.adoc
+++ b/modules/ROOT/pages/kb/docs/java/jmx-getstart.adoc
@@ -37,7 +37,7 @@
 
 This document has been updated for the JMX Wizard module version 3.0, for NetBeans IDE 6.5 and newer, and running on top of JDK 6 or JDK 7. You can download the JMX module from the Update Center.
 
-NOTE: This document is a short and quick introduction to the JMX module for NetBeans IDE. For more detailed information, complete the JMX Module Tutorial xref:./jmx-tutorial.adoc[+Adding JMX Instrumentation to a Java Application+].
+NOTE: This document is a short and quick introduction to the JMX module for NetBeans IDE. For more detailed information, complete the JMX Module Tutorial xref:kb/docs/java/jmx-tutorial.adoc[+Adding JMX Instrumentation to a Java Application+].
 
 This getting started document gives you an overview of the JMX module features:
 
@@ -52,7 +52,7 @@
 * Sample application based on the Anagram game that shows you how to add JMX power to your application.
 * Wizard to generate a management properties file, that allows you to launch a secure manageable JVM.
 * Online help.
-* Tutorials accessible from the xref:../../index.adoc[+netbeans.org+] site.
+* Tutorials accessible from the xref:front::index.adoc[+netbeans.org+] site.
 
 
 == Prerequisites
@@ -102,7 +102,7 @@
 
 To update an MBean, either select the MBean class Java file in the Project tree and access the JMX popup menu by right-clicking on the node, or simply right-click in the editor's window where your MBean class Java file is opened and access the JMX popup menu.
 
-These actions are demonstrated in Exercise 3 of the xref:./jmx-tutorial.adoc#Exercise_3[+ Adding JMX Instrumentation to a Java Application+] tutorial.
+These actions are demonstrated in Exercise 3 of the xref:kb/docs/java/jmx-tutorial.adoc#Exercise_3[+ Adding JMX Instrumentation to a Java Application+] tutorial.
 
 
 == Registering MBeans
@@ -115,7 +115,7 @@
 
 Depending on its logic, determine where in your application code you want your MBeans to be registered, typically in the initialization phase of your Main class. Right-Click in your editor's window at the location where you want the MBean's registration code to be generated, select the JMX submenu and then the "Generate MBean Registration..." action.
 
-This action is demonstrated in Exercise 5 of the xref:./jmx-tutorial.adoc#Exercise_5[+ Adding JMX Instrumentation to a Java Application+] tutorial.
+This action is demonstrated in Exercise 5 of the xref:kb/docs/java/jmx-tutorial.adoc#Exercise_5[+ Adding JMX Instrumentation to a Java Application+] tutorial.
 
 
 == Implementing and Executing Manageable Applications
@@ -202,4 +202,4 @@
 
 This document was a short and quick introduction to the JMX module for NetBeans IDE. For more detailed information, see the following JMX module tutorial:
 
-* xref:./jmx-tutorial.adoc[+Adding JMX Instrumentation to a Java Application+]
+* xref:kb/docs/java/jmx-tutorial.adoc[+Adding JMX Instrumentation to a Java Application+]
diff --git a/modules/ROOT/pages/kb/docs/java/jmx-manager-tutorial.adoc b/modules/ROOT/pages/kb/docs/java/jmx-manager-tutorial.adoc
index 923811c..f2c692e 100644
--- a/modules/ROOT/pages/kb/docs/java/jmx-manager-tutorial.adoc
+++ b/modules/ROOT/pages/kb/docs/java/jmx-manager-tutorial.adoc
@@ -291,5 +291,5 @@
 
 For more information, see the following:
 
-* xref:./jmx-getstart.adoc[+Getting Started with JMX Monitoring in NetBeans IDE+]
-* xref:./jmx-tutorial.adoc[+Adding Java Management Extensions (JMX) Instrumentation to a Java Application+]
+* xref:kb/docs/java/jmx-getstart.adoc[+Getting Started with JMX Monitoring in NetBeans IDE+]
+* xref:kb/docs/java/jmx-tutorial.adoc[+Adding Java Management Extensions (JMX) Instrumentation to a Java Application+]
diff --git a/modules/ROOT/pages/kb/docs/java/jmx-tutorial.adoc b/modules/ROOT/pages/kb/docs/java/jmx-tutorial.adoc
index 87d4f1a..2c492dd 100644
--- a/modules/ROOT/pages/kb/docs/java/jmx-tutorial.adoc
+++ b/modules/ROOT/pages/kb/docs/java/jmx-tutorial.adoc
@@ -580,4 +580,4 @@
 
 For more information, see the following:
 
-* xref:./jmx-getstart.adoc[+Getting Started with JMX Monitoring in NetBeans IDE+]
+* xref:kb/docs/java/jmx-getstart.adoc[+Getting Started with JMX Monitoring in NetBeans IDE+]
diff --git a/modules/ROOT/pages/kb/docs/java/maven-hib-java-se.adoc b/modules/ROOT/pages/kb/docs/java/maven-hib-java-se.adoc
index 7e73b5b..3eec134 100644
--- a/modules/ROOT/pages/kb/docs/java/maven-hib-java-se.adoc
+++ b/modules/ROOT/pages/kb/docs/java/maven-hib-java-se.adoc
@@ -37,7 +37,7 @@
 
 Support for Maven is fully integrated in NetBeans IDE and Maven 3 is bundled with the IDE. You can create applications from the bundled Maven archetypes or from archetypes in remote repositories in the New Project wizard. The Maven Repository Browser enables you to explore your local and remote Maven repositories, examine artifacts and add project dependencies to the project's POM.
 
-To build this application using Ant, see xref:./hibernate-java-se.adoc[+Using Hibernate in a Java Swing Application+].
+To build this application using Ant, see xref:kb/docs/java/hibernate-java-se.adoc[+Using Hibernate in a Java Swing Application+].
 
 To build a Maven Java EE application, see xref:kb/docs/javaee/maven-entapp.adoc[+Creating an Enterprise Application Using Maven+].
 
@@ -302,7 +302,7 @@
 
 In this exercise you will create a simple JFrame Form with some fields for entering and displaying data. You will also add a button that will trigger a database query to retrieve the data.
 
-If you are not familiar with using the GUI builder to create forms, you might want to review the xref:./gui-functionality.adoc[+Introduction to GUI Building+] tutorial.
+If you are not familiar with using the GUI builder to create forms, you might want to review the xref:kb/docs/java/gui-functionality.adoc[+Introduction to GUI Building+] tutorial.
 
 === Creating the JFrame Form
 
diff --git a/modules/ROOT/pages/kb/docs/java/profile-loadgenerator.adoc b/modules/ROOT/pages/kb/docs/java/profile-loadgenerator.adoc
index 14c41bd..548f177 100644
--- a/modules/ROOT/pages/kb/docs/java/profile-loadgenerator.adoc
+++ b/modules/ROOT/pages/kb/docs/java/profile-loadgenerator.adoc
@@ -161,5 +161,5 @@
 == See Also
 
 * xref:kb/docs/web/quickstart-webapps.adoc[+Introduction to Developing Web Applications+]
-* xref:./profiler-intro.adoc[+Introduction to Profiling Java Applications+]
+* xref:kb/docs/java/profiler-intro.adoc[+Introduction to Profiling Java Applications+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/java/profiler-intro.adoc b/modules/ROOT/pages/kb/docs/java/profiler-intro.adoc
index f02eb5d..a034218 100644
--- a/modules/ROOT/pages/kb/docs/java/profiler-intro.adoc
+++ b/modules/ROOT/pages/kb/docs/java/profiler-intro.adoc
@@ -299,7 +299,7 @@
 
 The snapshot comparison looks similar to a memory snapshot but only displays the differences between the two compared snapshots. When you look at the numbers in the columns you can see that a plus sign ( + ) indicates that the value increased and a minus sign ( - ) indicates that the value decreased. In the Live Bytes column a graphical bar enables you to easily see the difference in the bytes allocated. If the left half of the cell in that column is green it means that the number of allocated bytes for that object is lower when the second snapshot was taken than it was when the first was taken. If the right half of the cell is red it means that the number of allocated bytes is higher in the second snapshot than in the first.
 
-*Note.* You can also set Take Snapshot profiling points for more precise control over when snapshots are taken. For more on how to take snapshots using profiling points, see xref:./profiler-profilingpoints.adoc[+Using Profiling Points in NetBeans IDE+].
+*Note.* You can also set Take Snapshot profiling points for more precise control over when snapshots are taken. For more on how to take snapshots using profiling points, see xref:kb/docs/java/profiler-profilingpoints.adoc[+Using Profiling Points in NetBeans IDE+].
 
 == Conclusion
 
diff --git a/modules/ROOT/pages/kb/docs/java/profiler-profilingpoints.adoc b/modules/ROOT/pages/kb/docs/java/profiler-profilingpoints.adoc
index a73f8af..97b8a3b 100644
--- a/modules/ROOT/pages/kb/docs/java/profiler-profilingpoints.adoc
+++ b/modules/ROOT/pages/kb/docs/java/profiler-profilingpoints.adoc
@@ -48,7 +48,7 @@
 
 Before starting this tutorial you may want to familiarize yourself with using the profiling tool by reading the following documentation.
 
-* xref:./profiler-intro.adoc[+Introduction to Profiling Java Applications in NetBeans IDE+]
+* xref:kb/docs/java/profiler-intro.adoc[+Introduction to Profiling Java Applications in NetBeans IDE+]
 
 == Profiling Point Basics
 
@@ -186,7 +186,7 @@
 
 image::kb/docs/java/ppoints-result-stopwatch.png[title="Screenshot of report of results for Stopwatch profiling point"]
 
-*Note.* If this is the first time that you are profiling a project, see xref:./profiler-intro.adoc[+Introduction to Profiling Java Applications in NetBeans IDE+] for details on calibration and profiler integration.
+*Note.* If this is the first time that you are profiling a project, see xref:kb/docs/java/profiler-intro.adoc[+Introduction to Profiling Java Applications in NetBeans IDE+] for details on calibration and profiler integration.
 
 === Taking a Snapshot or Heap Dump
 
@@ -228,7 +228,7 @@
 
 For more about working with snapshots and heap dumps, see the following documents.
 
-* See the Taking Snapshots section of the xref:./profiler-intro.adoc[+Introduction to Profiling+] tutorial for more about viewing and comparing snapshots.
+* See the Taking Snapshots section of the xref:kb/docs/java/profiler-intro.adoc[+Introduction to Profiling+] tutorial for more about viewing and comparing snapshots.
 
 === Resetting Profiling Results
 
diff --git a/modules/ROOT/pages/kb/docs/java/quickstart-gui-legend.adoc b/modules/ROOT/pages/kb/docs/java/quickstart-gui-legend.adoc
index 811d0d3..add7302 100644
--- a/modules/ROOT/pages/kb/docs/java/quickstart-gui-legend.adoc
+++ b/modules/ROOT/pages/kb/docs/java/quickstart-gui-legend.adoc
@@ -122,4 +122,4 @@
 == See Also
 
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG920[+Implementing Java GUIs+] in _Developing Applications with NetBeans IDE_
-* xref:../index.adoc[+General Java Development Learning Trail+]
+* xref:kb/docs/java-se.adoc[+General Java Development Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/java/quickstart-gui.adoc b/modules/ROOT/pages/kb/docs/java/quickstart-gui.adoc
index ba715e1..9f7b2d8 100644
--- a/modules/ROOT/pages/kb/docs/java/quickstart-gui.adoc
+++ b/modules/ROOT/pages/kb/docs/java/quickstart-gui.adoc
@@ -41,7 +41,7 @@
 
 The IDE's GUI Builder makes it possible to build professional-looking GUIs without an intimate understanding of layout managers. You can lay out your forms by simply placing components where you want them.
 
-For descriptions of the GUI Builder's visual feedback, you can use the xref:./quickstart-gui-legend.adoc[+GUI Builder Visual Feedback Legend+].
+For descriptions of the GUI Builder's visual feedback, you can use the xref:kb/docs/java/quickstart-gui-legend.adoc[+GUI Builder Visual Feedback Legend+].
 
 === Creating a Project
 
diff --git a/modules/ROOT/pages/kb/docs/java/quickstart.adoc b/modules/ROOT/pages/kb/docs/java/quickstart.adoc
index bf9b9e2..9fa4bb7 100644
--- a/modules/ROOT/pages/kb/docs/java/quickstart.adoc
+++ b/modules/ROOT/pages/kb/docs/java/quickstart.adoc
@@ -145,7 +145,7 @@
 
 --
 
-For a full description of editor assistance features, see xref:./editor-codereference.adoc[Code Assistance in the NetBeans IDE Java Editor: A Reference Guide].
+For a full description of editor assistance features, see xref:kb/docs/java/editor-codereference.adoc[Code Assistance in the NetBeans IDE Java Editor: A Reference Guide].
 
 == Running the Application
 
@@ -159,4 +159,4 @@
 
 You can view the build output by opening the Files window (from the Window menu) and expanding the `target` node.
 
-You now know how to accomplish the most common Java development tasks. To learn the complete Java development workflow, including testing and debugging, see xref:./javase-intro.adoc[Developing General Java Applications].
+You now know how to accomplish the most common Java development tasks. To learn the complete Java development workflow, including testing and debugging, see xref:kb/docs/java/javase-intro.adoc[Developing General Java Applications].
diff --git a/modules/ROOT/pages/kb/docs/java/refactoring-nb71-screencast.adoc b/modules/ROOT/pages/kb/docs/java/refactoring-nb71-screencast.adoc
index a67b6ac..387d888 100644
--- a/modules/ROOT/pages/kb/docs/java/refactoring-nb71-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/refactoring-nb71-screencast.adoc
@@ -45,6 +45,6 @@
 
 == Related links
 
-* xref:./editor-inspect-transform.adoc[+Refactoring with Inspect and Transform in the NetBeans IDE Java Editor+]
+* xref:kb/docs/java/editor-inspect-transform.adoc[+Refactoring with Inspect and Transform in the NetBeans IDE Java Editor+]
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG478[+Working with Java Code+] in _Developing Applications with NetBeans IDE_
 * xref:wiki::wiki/Refactoring.adoc[+Refactoring Simplified+]
diff --git a/modules/ROOT/pages/kb/docs/java/testng-screencast.adoc b/modules/ROOT/pages/kb/docs/java/testng-screencast.adoc
index fbc4f4a..d43a32c 100644
--- a/modules/ROOT/pages/kb/docs/java/testng-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/java/testng-screencast.adoc
@@ -45,8 +45,8 @@
 
 == Related links
 
-* xref:./junit-intro.adoc[+Writing JUnit Tests in NetBeans IDE+]
-* xref:./debug-visual.adoc[+Using the Visual Debugger+]
-* Demo: xref:./debug-multithreaded-screencast.adoc[+Debugging a Multithreaded Application in NetBeans IDE+]
-* Demo: xref:./debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
-* Demo: xref:./debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
+* xref:kb/docs/java/junit-intro.adoc[+Writing JUnit Tests in NetBeans IDE+]
+* xref:kb/docs/java/debug-visual.adoc[+Using the Visual Debugger+]
+* Demo: xref:kb/docs/java/debug-multithreaded-screencast.adoc[+Debugging a Multithreaded Application in NetBeans IDE+]
+* Demo: xref:kb/docs/java/debug-stepinto-screencast.adoc[+Visual Step Into Action in NetBeans Debugger+]
+* Demo: xref:kb/docs/java/debug-deadlock-screencast.adoc[+Deadlock Detection Using the NetBeans Debugger+]
diff --git a/modules/ROOT/pages/kb/docs/javaee/cdi-events.adoc b/modules/ROOT/pages/kb/docs/javaee/cdi-events.adoc
index 4e55f3b..5e0c5c3 100644
--- a/modules/ROOT/pages/kb/docs/javaee/cdi-events.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/cdi-events.adoc
@@ -38,13 +38,13 @@
 
 == Contexts and Dependency Injection
 
-1. xref:./cdi-intro.adoc[+Getting Started with CDI and JSF 2.0+]
+1. xref:kb/docs/javaee/cdi-intro.adoc[+Getting Started with CDI and JSF 2.0+]
 
 
-. xref:./cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
+. xref:kb/docs/javaee/cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
 
 
-. xref:./cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
+. xref:kb/docs/javaee/cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
 
 
 . *Working with Events in CDI*
@@ -83,9 +83,9 @@
 [[event]]
 == Utilizing Events
 
-In the previous tutorial, xref:./cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+], we had an application that obtained a list of items, validated them and took a specific action when an invalid item was found. Let's say in the future we want to expand our system to handle all sorts of things happening when we find an invalid item. This could range from an email being sent, changes made to other data such as an order being canceled, or storing a list of rejections in a file or database table. To completely decouple the implementation we can use _events_ in Java EE. Events are raised by the event _producer_ and subscribed to by event _observers_. Like most of CDI, event production and subscription is type-safe and allows qualifiers to determine which events observers will be observing.
+In the previous tutorial, xref:kb/docs/javaee/cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+], we had an application that obtained a list of items, validated them and took a specific action when an invalid item was found. Let's say in the future we want to expand our system to handle all sorts of things happening when we find an invalid item. This could range from an email being sent, changes made to other data such as an order being canceled, or storing a list of rejections in a file or database table. To completely decouple the implementation we can use _events_ in Java EE. Events are raised by the event _producer_ and subscribed to by event _observers_. Like most of CDI, event production and subscription is type-safe and allows qualifiers to determine which events observers will be observing.
 
-Using the application we've been building from the previous tutorials in the series, we don't require many changes to implement this. We can just provide another implementation of `ItemErrorHandler` (created in xref:./cdi-validate.adoc[+the previous tutorial+]), which raises an event each time it handles an item. We'll name this class `EventItemHandler`, inject it into the `ItemProcessor`, and use a `Notify` qualifier to select it for injection.
+Using the application we've been building from the previous tutorials in the series, we don't require many changes to implement this. We can just provide another implementation of `ItemErrorHandler` (created in xref:kb/docs/javaee/cdi-validate.adoc[+the previous tutorial+]), which raises an event each time it handles an item. We'll name this class `EventItemHandler`, inject it into the `ItemProcessor`, and use a `Notify` qualifier to select it for injection.
 
 image::kb/docs/javaee/cdi-diagram-events.png[title="Use CDI injection to loosely couple classes in your application"]
 
@@ -124,7 +124,7 @@
 
 
 
-. Create a qualifier named `Notify`. (Qualifiers were discussed in xref:./cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+].)
+. Create a qualifier named `Notify`. (Qualifiers were discussed in xref:kb/docs/javaee/cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+].)
 
 
 . Click the New File ( images:./new-file-btn.png[] ) button or press Ctrl-N (⌘-N on Mac) to open the File wizard.
@@ -201,7 +201,7 @@
 
 image::kb/docs/javaee/output-window.png[title="View the GlassFish server log displayed in Output window"] 
 
-Currently though, we don't have anything observing the event. We can fix this by creating an _observer_ method using the `@Observes` annotation. This is the only thing needed to observe an event. To demonstrate, we can modify the `FileErrorReporter` (created in the xref:./cdi-validate.adoc[+previous tutorial+]) to respond to fired events by adding an observer method that calls its `handleItem()` method.
+Currently though, we don't have anything observing the event. We can fix this by creating an _observer_ method using the `@Observes` annotation. This is the only thing needed to observe an event. To demonstrate, we can modify the `FileErrorReporter` (created in the xref:kb/docs/javaee/cdi-validate.adoc[+previous tutorial+]) to respond to fired events by adding an observer method that calls its `handleItem()` method.
 
 
 . To make our `FileErrorReporter` respond to the event, add the following method to the class.
@@ -225,7 +225,7 @@
 
 image::kb/docs/javaee/output-window2.png[title="View the GlassFish server log displayed in Output window"] 
 
-You see that the events are fired on the invalid objects as they were previously, but now the item information is being saved when each event is fired. You can also note that the lifecycle events are being observed, since a `FileErrorReporter` bean is created and closed for each fired event. (See xref:./cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+] for a discussion of lifecycle annotations, e.g., `@PostConstruct` and `@PreDestroy`.)
+You see that the events are fired on the invalid objects as they were previously, but now the item information is being saved when each event is fired. You can also note that the lifecycle events are being observed, since a `FileErrorReporter` bean is created and closed for each fired event. (See xref:kb/docs/javaee/cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+] for a discussion of lifecycle annotations, e.g., `@PostConstruct` and `@PreDestroy`.)
 
 As shown in the above steps, the `@Observes` annotation provides an easy way to observe an event.
 
@@ -289,10 +289,10 @@
 
 === NetBeans Resources
 
-* xref:./cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+]
-* xref:./cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
-* xref:./cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+]
+* xref:kb/docs/javaee/cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
+* xref:kb/docs/javaee/cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.0+]
 
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/cdi-inject.adoc b/modules/ROOT/pages/kb/docs/javaee/cdi-inject.adoc
index f98030c..d9ddc01 100644
--- a/modules/ROOT/pages/kb/docs/javaee/cdi-inject.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/cdi-inject.adoc
@@ -38,7 +38,7 @@
 
 == Contexts and Dependency Injection
 
-1. xref:./cdi-intro.adoc[+Getting Started with CDI and JSF 2.0+]
+1. xref:kb/docs/javaee/cdi-intro.adoc[+Getting Started with CDI and JSF 2.0+]
 2. *Working with Injection and Qualifiers in CDI*
 * <<inject,Injection: the 'I' in CDI>>
 * <<qualifier,Working with Qualifiers>>
@@ -46,10 +46,10 @@
 * <<seealso,See Also>>
 
 
-. xref:./cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
+. xref:kb/docs/javaee/cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
 
 
-. xref:./cdi-events.adoc[+Working with Events in CDI+]
+. xref:kb/docs/javaee/cdi-events.adoc[+Working with Events in CDI+]
 
 Contexts and Dependency Injection (CDI), specified by link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], is an integral part of Java EE 6 and provides an architecture that allows Java EE components such as servlets, enterprise beans, and JavaBeans to exist within the lifecycle of an application with well-defined scopes. In addition, CDI services allow Java EE components such as EJB session beans and JavaServer Faces (JSF) managed beans to be injected and to interact in a loosely coupled way by firing and observing events.
 
@@ -83,7 +83,7 @@
 [[inject]]
 == Injection: the 'I' in CDI
 
-CDI is an API for injecting contexts and dependencies. In Seam and Spring, dependencies work mostly by naming beans and binding them to their injection points by their names. If you are following this tutorial after having completed xref:./cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+], you have so far only referenced a managed bean by name from the JSF page when we defined the name for the bean using the `@Named` annotation. The primary role of the `@Named` annotation is to define the bean for the purpose of resolving EL statements within the application, usually through the JSF EL resolvers. Injection _could_ be performed by using names, but this was not how injection in CDI was meant to work since CDI gives us a much richer way to express injection points and the beans to be injected into them.
+CDI is an API for injecting contexts and dependencies. In Seam and Spring, dependencies work mostly by naming beans and binding them to their injection points by their names. If you are following this tutorial after having completed xref:kb/docs/javaee/cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+], you have so far only referenced a managed bean by name from the JSF page when we defined the name for the bean using the `@Named` annotation. The primary role of the `@Named` annotation is to define the bean for the purpose of resolving EL statements within the application, usually through the JSF EL resolvers. Injection _could_ be performed by using names, but this was not how injection in CDI was meant to work since CDI gives us a much richer way to express injection points and the beans to be injected into them.
 
 In the following example, you create an `ItemProcessor` that takes a list of items from a class that implements the `ItemDao` interface. You take advantage of CDI's `@Inject` annotation to demonstrate how it is possible to _inject_ a bean into another class. The following diagram depicts the scenario you construct in this exercise.
 
@@ -641,12 +641,12 @@
 
 Continue to the next installment of this series on Contexts and Dependency Injection:
 
-* xref:./cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
+* xref:kb/docs/javaee/cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
 
 For more information about CDI and Java EE, see the following resources.
 
-* xref:./cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * link:http://blogs.oracle.com/enterprisetechtips/entry/using_cdi_and_dependency_injection[+Enterprise Tech Tip: Using CDI and Dependency Injection for Java in a JSF 2.0 Application+]
 * link:http://download.oracle.com/javaee/6/tutorial/doc/gjbnr.html[+The Java EE 6 Tutorial, Part V: Contexts and Dependency Injection for the Java EE Platform+]
 * link:http://jcp.org/en/jsr/detail?id=299[+JSR 299: Specification for Contexts and Dependency Injection+]
diff --git a/modules/ROOT/pages/kb/docs/javaee/cdi-intro.adoc b/modules/ROOT/pages/kb/docs/javaee/cdi-intro.adoc
index e5f94e7..a175558 100644
--- a/modules/ROOT/pages/kb/docs/javaee/cdi-intro.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/cdi-intro.adoc
@@ -44,13 +44,13 @@
 * <<seealso,See Also>>
 
 
-. xref:./cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
+. xref:kb/docs/javaee/cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
 
 
-. xref:./cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
+. xref:kb/docs/javaee/cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
 
 
-. xref:./cdi-events.adoc[+Working with Events in CDI+]
+. xref:kb/docs/javaee/cdi-events.adoc[+Working with Events in CDI+]
 
 Contexts and Dependency Injection (CDI), specified by link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], is an integral part of Java EE 6 and provides an architecture that allows Java EE components such as servlets, enterprise beans, and JavaBeans to exist within the lifecycle of an application with well-defined scopes. In addition, CDI services allow Java EE components such as EJB session beans and JavaServer Faces (JSF) managed beans to be injected and to interact in a loosely coupled way by firing and observing events.
 
@@ -250,15 +250,15 @@
 
 The next installment of this series focuses on CDI injection, and provides a closer look at using CDI for managing dependencies in a Java EE environment.
 
-* xref:./cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
+* xref:kb/docs/javaee/cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
 
 For more information about CDI and JSF 2.0, see the following resources.
 
 
 === Contexts and Dependency Injection
 
-* xref:./cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
-* xref:./cdi-events.adoc[+Working with Events in CDI+]
+* xref:kb/docs/javaee/cdi-validate.adoc[+Applying @Alternative Beans and Lifecycle Annotations+]
+* xref:kb/docs/javaee/cdi-events.adoc[+Working with Events in CDI+]
 * link:http://blogs.oracle.com/enterprisetechtips/entry/using_cdi_and_dependency_injection[+Enterprise Tech Tip: Using CDI and Dependency Injection for Java in a JSF 2.0 Application+]
 * link:http://docs.oracle.com/javaee/7/tutorial/doc/cdi-basic.htm[+The Java EE 6 Tutorial: Introduction to Contexts and Dependency Injection for Java EE+]
 * link:http://jcp.org/en/jsr/detail?id=299[+JSR 299: Specification for Contexts and Dependency Injection+]
@@ -268,7 +268,7 @@
 
 * xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x+]
 * xref:kb/docs/web/jsf20-crud.adoc[+Generating a JavaServer Faces 2.x CRUD Application from a Database+]
-* xref:../../samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
+* xref:samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
 * link:http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html[+JavaServer Faces Technology+] (Official homepage)
 * link:http://docs.oracle.com/javaee/7/tutorial/doc/jsf-page.htm[+The Java EE 7 Tutorial: Using JavaServer Faces Technology in Web Pages+]
 * link:http://jcp.org/en/jsr/summary?id=314[+JSR 314: Specification for JavaServer Faces 2.0+]
diff --git a/modules/ROOT/pages/kb/docs/javaee/cdi-validate.adoc b/modules/ROOT/pages/kb/docs/javaee/cdi-validate.adoc
index 5f49be4..6bd0c7c 100644
--- a/modules/ROOT/pages/kb/docs/javaee/cdi-validate.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/cdi-validate.adoc
@@ -37,15 +37,15 @@
 
 == Contexts and Dependency Injection
 
-1. xref:./cdi-intro.adoc[+Getting Started with CDI and JSF 2.0+]
-2. xref:./cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
+1. xref:kb/docs/javaee/cdi-intro.adoc[+Getting Started with CDI and JSF 2.0+]
+2. xref:kb/docs/javaee/cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
 3. *Applying @Alternative Beans and Lifecycle Annotations*
 * <<alternative,Handling Multiple Deployments>>
 * <<lifecycle,Applying Lifecycle Annotations to Managed Beans>>
 * <<seealso,See Also>>
 
 
-. xref:./cdi-events.adoc[+Working with Events in CDI+]
+. xref:kb/docs/javaee/cdi-events.adoc[+Working with Events in CDI+]
 
 Contexts and Dependency Injection (CDI), specified by link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], is an integral part of Java EE 6 and provides an architecture that allows Java EE components such as servlets, enterprise beans, and JavaBeans to exist within the lifecycle of an application with well-defined scopes. In addition, CDI services allow Java EE components such as EJB session beans and JavaServer Faces (JSF) managed beans to be injected and to interact in a loosely coupled way by firing and observing events.
 
@@ -450,13 +450,13 @@
 
 Different application deployments might use different rules for handling invalid items, such as rejecting an item, sending notifications to individuals, flagging them, or just listing them in an output file. In addition, we may want to do a combination of these (e.g., reject an order, send an email to a sales representative, and list the order in a file). One great way to handle this kind of multi-faceted problem is by using _events_. CDI events are the subject of the final installment of this series:
 
-* xref:./cdi-events.adoc[+Working with Events in CDI+]
+* xref:kb/docs/javaee/cdi-events.adoc[+Working with Events in CDI+]
 
 For more information about CDI and Java EE, see the following resources.
 
-* xref:./cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+]
-* xref:./cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+]
+* xref:kb/docs/javaee/cdi-inject.adoc[+Working with Injection and Qualifiers in CDI+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * link:http://blogs.oracle.com/enterprisetechtips/entry/using_cdi_and_dependency_injection[+Enterprise Tech Tip: Using CDI and Dependency Injection for Java in a JSF 2.0 Application+]
 * link:http://download.oracle.com/javaee/6/tutorial/doc/gjbnr.html[+The Java EE 6 Tutorial, Part V: Contexts and Dependency Injection for the Java EE Platform+]
 * link:http://jcp.org/en/jsr/detail?id=299[+JSR 299: Specification for Contexts and Dependency Injection+]
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/conclusion.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/conclusion.adoc
index a1c0425..4991997 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/conclusion.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/conclusion.adoc
@@ -35,18 +35,18 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
-3. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
-4. xref:./data-model.adoc[+Designing the Data Model+]
-5. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
-6. xref:./connect-db.adoc[+Connecting the Application to the Database+]
-7. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
-8. xref:./manage-sessions.adoc[+Managing Sessions+]
-9. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
-10. xref:./language.adoc[+Adding Language Support+]
-11. xref:./security.adoc[+Securing the Application+]
-12. xref:./test-profile.adoc[+Testing and Profiling+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
+3. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
+4. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
+5. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+6. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
+7. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
+8. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
+9. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
+10. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
+11. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
+12. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
 13. *Conclusion*
 * <<deliver,Delivering your Work>>
 * <<framework,Using the JavaServer Faces Framework>>
@@ -57,7 +57,7 @@
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
-Congratulations! You have now finished developing the `AffableBean` application. By following this tutorial, you incrementally built a simple e-commerce application using Java-based technologies. In the process, you became familiar with the NetBeans IDE, and have learned how to use it for the development of Java EE and web projects. Referring back to the xref:./design.adoc#requirements[+customer requirements+], you can confirm that each requirement has been fully implemented, and through continuous feedback from the Affable Bean staff, you are confident that they'll be satisfied with the final product. At this stage however, you may ask, "What specifically needs to be delivered to the customer?" and "How can the application become deployed to the customer's production server so that it functions online?" This tutorial unit briefly discusses next steps in terms of handing off deliverables, and concludes with a discussion on how using a framework such as JavaServer Faces could improve the application and benefit your experience when developing future projects.
+Congratulations! You have now finished developing the `AffableBean` application. By following this tutorial, you incrementally built a simple e-commerce application using Java-based technologies. In the process, you became familiar with the NetBeans IDE, and have learned how to use it for the development of Java EE and web projects. Referring back to the xref:kb/docs/javaee/ecommerce/design.adoc#requirements[+customer requirements+], you can confirm that each requirement has been fully implemented, and through continuous feedback from the Affable Bean staff, you are confident that they'll be satisfied with the final product. At this stage however, you may ask, "What specifically needs to be delivered to the customer?" and "How can the application become deployed to the customer's production server so that it functions online?" This tutorial unit briefly discusses next steps in terms of handing off deliverables, and concludes with a discussion on how using a framework such as JavaServer Faces could improve the application and benefit your experience when developing future projects.
 
 You can view a live demo of the `AffableBean` application: link:http://services.netbeans.org/AffableBean/[+NetBeans E-commerce Tutorial Demo Application+].
 
@@ -70,14 +70,14 @@
 
 When delivering your work, you should prepare both a WAR (web archive) file, which is a compiled, ready-to-deploy version of your project, and a source distribution, which contains all the source files you created during the development phase.
 
-1. *WAR File Distribution:* A WAR file is basically a compressed collection of classes, files and other artifacts that constitute the web application. You can create a WAR file for your project using the IDE. In the Projects window, right-click your project node and choose Clean and Build. When your project is built, a WAR file is generated and placed in a `dist` folder in your project. You can verify this by examining your project in the Files window (Ctrl-2; ⌘-2 on Mac). (Refer back to xref:./setup-dev-environ.adoc#run[+Setting up the Development Environment+]).
+1. *WAR File Distribution:* A WAR file is basically a compressed collection of classes, files and other artifacts that constitute the web application. You can create a WAR file for your project using the IDE. In the Projects window, right-click your project node and choose Clean and Build. When your project is built, a WAR file is generated and placed in a `dist` folder in your project. You can verify this by examining your project in the Files window (Ctrl-2; ⌘-2 on Mac). (Refer back to xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc#run[+Setting up the Development Environment+]).
 2. *Source Distribution:* A package containing all source and configuration files, typically in an archive file format (e.g., ZIP, TAR). You can use your NetBeans project as part of your source distribution. Before compressing your project, make sure to clean it (In the Projects window, right-click the project node and choose Clean) in order to delete `build` and `dist` folders, if they exist. You should also remove any of your environment-specific details included in the project. To do so, navigate to the project on your computer's file system, then expand the project's `nbproject` folder and delete the `private` folder contained therein. (When the project is opened again in the IDE, the `private` folder and its files are regenerated according to the current environment.)
 
-As part of your source distribution, you would need to also provide any scripts or artifacts that are necessary for setup, configuration, and population of the database. In this scenario, that would include the MySQL Workbench project from Unit 4, xref:./data-model.adoc[+Designing the Data Model+], the DDL script that creates the `affablebean` database schema, and possibly a separate script that populates the `category` and `product` tables with business data.
+As part of your source distribution, you would need to also provide any scripts or artifacts that are necessary for setup, configuration, and population of the database. In this scenario, that would include the MySQL Workbench project from Unit 4, xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+], the DDL script that creates the `affablebean` database schema, and possibly a separate script that populates the `category` and `product` tables with business data.
 
-As was indicated in the tutorial xref:./design.adoc#scenario[+Scenario+], a "technically-oriented staff member is able to deploy the application to the production server once it is ready." Aside from necessary performance tuning (GlassFish tuning is discussed in Unit 12 xref:./test-profile.adoc#glassFishTune[+Testing and Profiling+]) the person responsible for this would need to ensure that the database driver is accessible to the server (i.e., place the driver JAR file in the server's library folder). He or she would also need to know the JNDI name of the data source used by the application to interact with the database. This is found in the persistence unit (`persistence.xml` file) and, as you may recall, is: `jdbc/affablebean`. This is the only "link" between the application itself and the back-end database server.
+As was indicated in the tutorial xref:kb/docs/javaee/ecommerce/design.adoc#scenario[+Scenario+], a "technically-oriented staff member is able to deploy the application to the production server once it is ready." Aside from necessary performance tuning (GlassFish tuning is discussed in Unit 12 xref:kb/docs/javaee/ecommerce/test-profile.adoc#glassFishTune[+Testing and Profiling+]) the person responsible for this would need to ensure that the database driver is accessible to the server (i.e., place the driver JAR file in the server's library folder). He or she would also need to know the JNDI name of the data source used by the application to interact with the database. This is found in the persistence unit (`persistence.xml` file) and, as you may recall, is: `jdbc/affablebean`. This is the only "link" between the application itself and the back-end database server.
 
-*Note:* Recall that the `sun-resources.xml` file, which you created in Unit 6, xref:./connect-db.adoc#createConnPoolDataSource[+Connecting the Application to the Database+] contains entries that instruct the GlassFish server to create the JDBC resource and connection pool when the application is deployed. The `sun-resources.xml` file is a deployment descriptor specific to the GlassFish server only. Therefore, if the customer isn't using GlassFish as the production server, the file should be deleted before the application is deployed. If the `sun-resources.xml` file isn't removed from the WAR distribution however, it would simply be ignored by the server it is deployed to.
+*Note:* Recall that the `sun-resources.xml` file, which you created in Unit 6, xref:kb/docs/javaee/ecommerce/connect-db.adoc#createConnPoolDataSource[+Connecting the Application to the Database+] contains entries that instruct the GlassFish server to create the JDBC resource and connection pool when the application is deployed. The `sun-resources.xml` file is a deployment descriptor specific to the GlassFish server only. Therefore, if the customer isn't using GlassFish as the production server, the file should be deleted before the application is deployed. If the `sun-resources.xml` file isn't removed from the WAR distribution however, it would simply be ignored by the server it is deployed to.
 
 In terms of security, it would be necessary to set up a _user_ and _group_ on the production server, so that the server can authenticate persons wanting to log into the administration console. Also, SSL support for the production server would need to be enabled, and you would need to acquire a certificate signed by a trusted third-party Certificate Authority (CA), such as link:http://www.verisign.com[+VeriSign+] or link:http://www.thawte.com/[+Thawte+].
 
@@ -85,7 +85,7 @@
 
 The GlassFish plugin support in NetBeans also enables you to connect to a remote instance of GlassFish. You can therefore work with a GlassFish production server from the IDE for monitoring, profiling, and debugging tasks. If you are interested in using GlassFish as a production server, refer to the <<seeAlso,See Also>> section below for a list of web hosting solutions.
 
-_Portability_ is among the key benefits of Java EE. As your application adheres to the technology specifications, it can theoretically be deployed to any server that supports the same specifications. Recall that the xref:./intro.adoc#jcp[+Introduction+] lists the specifications that you have used in this tutorial. All of these specifications are part of the Java EE 6 platform specification (link:http://jcp.org/en/jsr/summary?id=316[+JSR 316+]). Therefore, any server that is Java EE 6-compliant would be a candidate for running the `AffableBean` application.
+_Portability_ is among the key benefits of Java EE. As your application adheres to the technology specifications, it can theoretically be deployed to any server that supports the same specifications. Recall that the xref:kb/docs/javaee/ecommerce/intro.adoc#jcp[+Introduction+] lists the specifications that you have used in this tutorial. All of these specifications are part of the Java EE 6 platform specification (link:http://jcp.org/en/jsr/summary?id=316[+JSR 316+]). Therefore, any server that is Java EE 6-compliant would be a candidate for running the `AffableBean` application.
 
 
 
@@ -259,7 +259,7 @@
 * xref:kb/docs/web/jsf20-support.adoc[+JSF 2.0 Support in NetBeans IDE+]
 * xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.0+]
 * xref:kb/docs/web/jsf20-crud.adoc[+Generating a JavaServer Faces 2.0 CRUD Application from a Database+]
-* xref:../../../samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
+* xref:samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
 
 *Contexts and Dependency Injection*
 
@@ -311,8 +311,8 @@
 * Ed Burns, who was my SEED mentor, for his patience and guidance, and his willingness to share his technical expertise in our numerous discussions concerning Java web technologies.
 * My managers, Patrick Keegan, for originally approving this project, and David Lindt, who showed continuous support.
 * David Konecny and Andrei Badea for their invaluable help and advice, especially in regard Java Persistence, working with EclipseLink, and integrating EE 6 technologies.
-* Don McKinney for providing the three beautiful diagrams used in xref:./design.adoc[+Designing the Application+].
-* Eric Jendrock and the Java EE Tutorial team, for granting permission to adapt and reproduce diagrams from the Java EE 5 Tutorial. Diagrams were used in xref:./security.adoc[+Securing the Application+], and are based on link:http://download.oracle.com/javaee/5/tutorial/doc/bnbxj.html#bnbxl[+Figure 28-6: Mapping Roles to Users and Groups+] and link:http://download.oracle.com/javaee/5/tutorial/doc/bncbe.html#gexfa[+Figure 30-3: Form-Based Authentication+].
+* Don McKinney for providing the three beautiful diagrams used in xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+].
+* Eric Jendrock and the Java EE Tutorial team, for granting permission to adapt and reproduce diagrams from the Java EE 5 Tutorial. Diagrams were used in xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+], and are based on link:http://download.oracle.com/javaee/5/tutorial/doc/bnbxj.html#bnbxl[+Figure 28-6: Mapping Roles to Users and Groups+] and link:http://download.oracle.com/javaee/5/tutorial/doc/bncbe.html#gexfa[+Figure 30-3: Form-Based Authentication+].
 * Jan Pirek, for coordinating and setting up necessary resources to make the link:http://services.netbeans.org/AffableBean/[+live demo+] a reality.
 * Ondrej Panek for providing a Czech translation of text used in the sample application.
 * Also, special thanks to link:http://www.flickr.com/photos/cobalt/[+cobalt123+] for graciously permitting usage of several photos, including link:http://www.flickr.com/photos/cobalt/46523149/[+Fresh Picks+] and link:http://www.flickr.com/photos/cobalt/1441879742/[+Give Us Our Daily Bread #1+].
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/connect-db.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/connect-db.adoc
index d07fe85..6e2e27b 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/connect-db.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/connect-db.adoc
@@ -35,7 +35,7 @@
 
 This tutorial unit focuses on communication between the database and the application. You begin by adding sample data to the database and explore some of the features provided by the IDE's SQL editor. You set up a data source and connection pool on the GlassFish server, and proceed by creating a JSP page that tests the data source by performing a simple query on the database.
 
-This unit also addresses how the application retrieves and displays images necessary for web presentation, and how to set context parameters and retrieve their values from web pages. Once you are certain the data source is working correctly, you apply JSTL's `core` and `sql` tag libraries to retrieve and display category and product images for the xref:./design.adoc#index[+index+] and xref:./design.adoc#category[+category+] pages.
+This unit also addresses how the application retrieves and displays images necessary for web presentation, and how to set context parameters and retrieve their values from web pages. Once you are certain the data source is working correctly, you apply JSTL's `core` and `sql` tag libraries to retrieve and display category and product images for the xref:kb/docs/javaee/ecommerce/design.adoc#index[+index+] and xref:kb/docs/javaee/ecommerce/design.adoc#category[+category+] pages.
 
 You can view a live demo of the application that you build in this tutorial: link:http://services.netbeans.org/AffableBean/[+NetBeans E-commerce Tutorial Demo Application+].
 
@@ -63,7 +63,7 @@
 * The NetBeans IDE Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
 * The NetBeans IDE Java Bundle also includes the GlassFish server, which you require for this tutorial. You could link:http://glassfish.dev.java.net/public/downloadsindex.html[+download the GlassFish server independently+], but the version provided with the NetBeans download has the added benefit of being automatically registered with the IDE.
 * You can follow this tutorial unit without having completed previous units. To do so, perform the following three steps:
-1. *Set up your MySQL database server.* Follow the steps outlined in: xref:./setup-dev-environ.adoc#communicate[+Communicating with the Database Server+].
+1. *Set up your MySQL database server.* Follow the steps outlined in: xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc#communicate[+Communicating with the Database Server+].
 2. *Create the `affablebean` schema on the database server.*
 .. Click on link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252Faffablebean_schema_creation.sql[+affablebean_schema_creation.sql+] and copy (Ctrl-C; ⌘-C on Mac) the entire contents of the file.
 .. Open the IDE's SQL editor. In the Services window (Ctrl-5; ⌘-5 on Mac), right-click the `affablebean` database connection ( image:kb/docs/javaee/ecommerce/db-connection-node.png[] ) node and choose Execute Command. The IDE's SQL editor opens.
@@ -193,7 +193,7 @@
 [[createConnPoolDataSource]]
 == Creating a Connection Pool and Data Source
 
-From this point onward, you establish connectivity between the MySQL database and the `affablebean` application through the GlassFish server which it is deployed to. This communication is made possible with the Java Database Connectivity (link:http://java.sun.com/products/jdbc/overview.html[+JDBC+]) API. The JDBC API is an integration library contained in the JDK (refer back to the component diagram displayed in the tutorial xref:./intro.adoc#platform[+Introduction+]). Although this tutorial does not work directly with JDBC programming, the application that we are building does utilize the JDBC API whenever communication is required between the SQL and Java languages. For example, you start by creating a _connection pool_ on the GlassFish server. In order for the server to communicate directly with the the MySQL database, it requires the link:http://www.mysql.com/downloads/connector/j/[+Connector/J+] JDBC driver which converts JDBC calls directly into a MySQL-specific protocol. Later in this tutorial unit, when you apply JSTL's link:http://download.oracle.com/docs/cd/E17802_01/products/products/jsp/jstl/1.1/docs/tlddocs/sql/query.html[+`<sql:query>`+] tags to query the `affablebean` database, the tags are translated into JDBC link:http://download-llnw.oracle.com/javase/6/docs/api/java/sql/Statement.html[+`Statement`+]s.
+From this point onward, you establish connectivity between the MySQL database and the `affablebean` application through the GlassFish server which it is deployed to. This communication is made possible with the Java Database Connectivity (link:http://java.sun.com/products/jdbc/overview.html[+JDBC+]) API. The JDBC API is an integration library contained in the JDK (refer back to the component diagram displayed in the tutorial xref:kb/docs/javaee/ecommerce/intro.adoc#platform[+Introduction+]). Although this tutorial does not work directly with JDBC programming, the application that we are building does utilize the JDBC API whenever communication is required between the SQL and Java languages. For example, you start by creating a _connection pool_ on the GlassFish server. In order for the server to communicate directly with the the MySQL database, it requires the link:http://www.mysql.com/downloads/connector/j/[+Connector/J+] JDBC driver which converts JDBC calls directly into a MySQL-specific protocol. Later in this tutorial unit, when you apply JSTL's link:http://download.oracle.com/docs/cd/E17802_01/products/products/jsp/jstl/1.1/docs/tlddocs/sql/query.html[+`<sql:query>`+] tags to query the `affablebean` database, the tags are translated into JDBC link:http://download-llnw.oracle.com/javase/6/docs/api/java/sql/Statement.html[+`Statement`+]s.
 
 A connection pool contains a group of reusable connections for a particular database. Because creating each new physical connection is time-consuming, the server maintains a pool of available connections to increase performance. When an application requests a connection, it obtains one from the pool. When an application closes a connection, the connection is returned to the pool. Connection pools use a JDBC driver to create physical database connections.
 
@@ -203,7 +203,7 @@
 
 *Note:* You can also create connection pools and data sources directly on the GlassFish server using the GlassFish Administration Console. However, creating these resources in this manner requires that you manually enter database connection details (i.e., username, password and URL). The benefit of using the NetBeans wizard is that it extracts any connection details directly from an existing database connection, thus eliminating potential connectivity problems.
 
-To access the console from the IDE, in the Services window right-click the Servers > GlassFish node and choose View Admin Console. The default username / password is: `admin` / `adminadmin`. If you'd like to set up the connection pool and data source using the GlassFish Administration console, follow steps 3-15 of the xref:./setup.adoc[+NetBeans E-commerce Tutorial Setup Instructions+]. The setup instructions are provided for later tutorial units.
+To access the console from the IDE, in the Services window right-click the Servers > GlassFish node and choose View Admin Console. The default username / password is: `admin` / `adminadmin`. If you'd like to set up the connection pool and data source using the GlassFish Administration console, follow steps 3-15 of the xref:kb/docs/javaee/ecommerce/setup.adoc[+NetBeans E-commerce Tutorial Setup Instructions+]. The setup instructions are provided for later tutorial units.
 
 1. Click the New File ( image:kb/docs/javaee/ecommerce/new-file-btn.png[] ) button in the IDE's toolbar. (Alternatively, press Ctrl-N; ⌘-N on Mac.)
 2. Select the *GlassFish* category, then select *JDBC Resource* and click Next.
@@ -480,7 +480,7 @@
 
 image::kb/docs/javaee/ecommerce/projects-win-img-folder.png[title="Import the 'img' folder into the AffableBean project"] 
 
-The `categories` and `products` folders contain the images that will be displayed in the xref:./design.adoc#index[+index+] and xref:./design.adoc#category[+category+] pages, respectively.
+The `categories` and `products` folders contain the images that will be displayed in the xref:kb/docs/javaee/ecommerce/design.adoc#index[+index+] and xref:kb/docs/javaee/ecommerce/design.adoc#category[+category+] pages, respectively.
 
 [start=3]
 . Open the project's web deployment descriptor. In the Projects window, expand the Configuration Files node and double-click `web.xml`.
@@ -739,7 +739,7 @@
 * `/AffableBean`: The context root of your deployed application
 * `/category`: The path to the request
 
-Recall that in xref:./page-views-controller.adoc#controller[+Preparing the Page Views and Controller Servlet+], you mapped a request for `/category` to the `ControllerServlet`. Currently, the `ControllerServlet` internally forwards the request to `/WEB-INF/view/category.jsp`, which is why the category page displays upon clicking an image link.
+Recall that in xref:kb/docs/javaee/ecommerce/page-views-controller.adoc#controller[+Preparing the Page Views and Controller Servlet+], you mapped a request for `/category` to the `ControllerServlet`. Currently, the `ControllerServlet` internally forwards the request to `/WEB-INF/view/category.jsp`, which is why the category page displays upon clicking an image link.
 
 You can verify the application's context root by expanding the Configuration Files node in the Projects window, and opening the `sun-web.xml` file. The `sun-web.xml` file is a deployment descriptor specific to GlassFish.
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/data-model.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/data-model.adoc
index 9b15ade..417620b 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/data-model.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/data-model.adoc
@@ -69,7 +69,7 @@
 
 In the real world, you may not have the luxury of designing the data model for your application. For example, your task may be to develop an application on top of an existing database system. Provided you do not have a data model to base your application on, creating one should be one of the first design steps you take before embarking on development. Creating a data model involves identifying the objects, or _entities_, required by your system and defining the relationships between them.
 
-To begin identifying the entities we need for the data model, re-examine the use-case presented in xref:./design.adoc#mockups[+Designing the Application+]. Search for commonly-occurring nouns. For example:
+To begin identifying the entities we need for the data model, re-examine the use-case presented in xref:kb/docs/javaee/ecommerce/design.adoc#mockups[+Designing the Application+]. Search for commonly-occurring nouns. For example:
 
 
 === Use-Case
@@ -78,7 +78,7 @@
 
 
 
-The text highlighted above in *bold* indicates the candidates that we can consider for the data model. Upon closer inspection, you may deduce that the shopping cart does not need to be included, since the data it provides (i.e., products and their quantities) is equally offered by a customer order once it is processed. In fact, as will be demonstrated in Unit 8, xref:./manage-sessions.adoc[+Managing Sessions+], the shopping cart merely serves as a mechanism that retains a user session temporarily while the customer shops online. We can therefore settle on the following list:
+The text highlighted above in *bold* indicates the candidates that we can consider for the data model. Upon closer inspection, you may deduce that the shopping cart does not need to be included, since the data it provides (i.e., products and their quantities) is equally offered by a customer order once it is processed. In fact, as will be demonstrated in Unit 8, xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+], the shopping cart merely serves as a mechanism that retains a user session temporarily while the customer shops online. We can therefore settle on the following list:
 
 * *customer*
 * *category*
@@ -87,7 +87,7 @@
 
 With these four entities, we can begin constructing an entity-relationship diagram (ERD).
 
-*Note:* In this tutorial, we create a database schema from the ERD, then use the IDE's EclipseLink support to generate JPA entity classes from the existing database. (EclipseLink and the Java Persistence API (JPA) are covered in Unit 7, xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+].) This approach is described as _bottom up_ development. An equally viable alternative is the _top down_ approach.
+*Note:* In this tutorial, we create a database schema from the ERD, then use the IDE's EclipseLink support to generate JPA entity classes from the existing database. (EclipseLink and the Java Persistence API (JPA) are covered in Unit 7, xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+].) This approach is described as _bottom up_ development. An equally viable alternative is the _top down_ approach.
 
 * *Top down:* In _top down_ development, you start with an existing Java implementation of the domain model, and have complete freedom with respect to the design of the database schema. You must create mapping metadata (i.e., annotations used in JPA entity classes), and can optionally use a persistence tool to automatically generate the schema.
 * *Bottom up:* _Bottom up_ development begins with an existing database schema. In this case, the easiest way to proceed is to use forward-engineering tools to extract metadata from the schema and generate annotated Java source code (JPA entity classes).
@@ -204,7 +204,7 @@
 [[addProperties]]
 === Adding Entity Properties
 
-Now that you've added entities to the canvas, you need to specify their properties. Entity properties correspond to the columns defined in a database table. For example, consider the `customer` entity. In regard to the `AffableBean` application, what aspects of a customer would need to be persisted to the database? These would likely be all of the information gathered in the xref:./design.adoc#checkout[+checkout page+]'s customer details form, as well as some association to the processed order.
+Now that you've added entities to the canvas, you need to specify their properties. Entity properties correspond to the columns defined in a database table. For example, consider the `customer` entity. In regard to the `AffableBean` application, what aspects of a customer would need to be persisted to the database? These would likely be all of the information gathered in the xref:kb/docs/javaee/ecommerce/design.adoc#checkout[+checkout page+]'s customer details form, as well as some association to the processed order.
 
 When adding properties, you need to determine the most appropriate data type for each property. MySQL supports a number of data types in several categories: numeric types, date and time types, and string (character) types. Refer to the official manual for a summary of data types within each category: link:http://dev.mysql.com/doc/refman/5.1/en/data-type-overview.html[+10.1. Data Type Overview+]. In this tutorial, the data types have been chosen for you. Choosing the appropriate data type plays a significant role in optimizing storage on your database server. For more information see:
 
@@ -431,7 +431,7 @@
 
 To incorporate the data model you created into the MySQL database, you can employ WorkBench to forward-engineer the diagram into an SQL script (more precisely, a DDL script) to generate the schema. The wizard that you use also enables you to immediately run the script on your database server.
 
-*Important:* Make sure your MySQL database server is running. Steps describing how to setup and run the database are provided in xref:./setup-dev-environ.adoc#communicate[+Setting up the Development Environment: Communicating with the Database Server+].
+*Important:* Make sure your MySQL database server is running. Steps describing how to setup and run the database are provided in xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc#communicate[+Setting up the Development Environment: Communicating with the Database Server+].
 
 1. Set the default storage engine used in Workbench to InnoDB. Choose Tools > Options (MySQLWorkbench > Preferences on Mac) to open the Workbench Preferences window. Click the MySQL tab, then select InnoDB as the default storage engine. 
 
@@ -478,7 +478,7 @@
 * *Port:* `3306`
 * *Username:* `root`
 * *Password:* `nbuser`
-(The parameters you set should correspond to those from xref:./setup-dev-environ.adoc#communicate[+Setting up the Development Environment: Communicating with the Database Server+].)
+(The parameters you set should correspond to those from xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc#communicate[+Setting up the Development Environment: Communicating with the Database Server+].)
 
 [start=8]
 . Click Execute. In the final panel of the wizard, you receive confirmation that the wizard was able to connect to and execute the script successfully.
@@ -495,16 +495,16 @@
 
 Now that the `affablebean` schema exists on your MySQL server, ensure that you can view the tables you created in the ERD from the IDE's Services window.
 
-*Important:* Make sure that you have followed the steps outlined in xref:./setup-dev-environ.adoc#communicate[+Setting up the Development Environment: Communicating with the Database Server+]. This heading describes how to run the MySQL database server, register it with the IDE, create a database instance, and form a connection to the instance from the IDE.
+*Important:* Make sure that you have followed the steps outlined in xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc#communicate[+Setting up the Development Environment: Communicating with the Database Server+]. This heading describes how to run the MySQL database server, register it with the IDE, create a database instance, and form a connection to the instance from the IDE.
 
-1. In the IDE, open the Services window (Ctrl-5; ⌘-5 on Mac) and locate the database connection node ( image:kb/docs/javaee/ecommerce/db-connection-node.png[] ) for the `affablebean` database instance you created in the xref:./setup-dev-environ.adoc#communicate[+previous tutorial unit+].
+1. In the IDE, open the Services window (Ctrl-5; ⌘-5 on Mac) and locate the database connection node ( image:kb/docs/javaee/ecommerce/db-connection-node.png[] ) for the `affablebean` database instance you created in the xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc#communicate[+previous tutorial unit+].
 2. Refresh the connection to the `affablebean` database. To do so, right-click the connection node and choose Refresh.
 3. Expand the Tables node. You can now see the five tables defined by the schema.
 4. Expand any of the table nodes. Each table contains the columns and indexes that you created when working in MySQL Workbench. 
 
 image::kb/docs/javaee/ecommerce/services-window-schema.png[title="Update the database connection to view schema tables"]
 
-The IDE is now connected to a database that uses the schema you created for the `AffableBean` application. From the IDE, you can now view any table data you create in the database, as well as directly modify, add and delete data. You will explore some of these options later, in xref:./connect-db.adoc[+Connecting the Application to the Database+], after you've added sample data to the database.
+The IDE is now connected to a database that uses the schema you created for the `AffableBean` application. From the IDE, you can now view any table data you create in the database, as well as directly modify, add and delete data. You will explore some of these options later, in xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+], after you've added sample data to the database.
 
 xref:front::community/mailing-lists.adoc[+Send Us Your Feedback+]
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/design.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/design.adoc
index 30cbce8..8bc4f7e 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/design.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/design.adoc
@@ -208,7 +208,7 @@
 * Return to the welcome page by clicking the logo image
 * The user is able to select the language (English or Czech) to view the page in for all pages except the confirmation page.
 
-*Note:* Although not presented here, you would equally need to work with the client to produce use-cases and mockups, and establish rules for the administration console. The NetBeans E-commerce Tutorial focuses on developing the store front (i.e., the website). However, Unit 11, xref:./security.adoc[+Securing the Application+] demonstrates how to create a login mechanism to access the administration console. Also, you can examine the provided implementation of the administration console by link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_complete.zip[+downloading the completed application+].
+*Note:* Although not presented here, you would equally need to work with the client to produce use-cases and mockups, and establish rules for the administration console. The NetBeans E-commerce Tutorial focuses on developing the store front (i.e., the website). However, Unit 11, xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+] demonstrates how to create a login mechanism to access the administration console. Also, you can examine the provided implementation of the administration console by link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_complete.zip[+downloading the completed application+].
 
 
 [[business]]
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/entity-session.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/entity-session.adoc
index 2e99b64..16ca7d6 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/entity-session.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/entity-session.adoc
@@ -35,12 +35,12 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
-3. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
-4. xref:./data-model.adoc[+Designing the Data Model+]
-5. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
-6. xref:./connect-db.adoc[+Connecting the Application to the Database+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
+3. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
+4. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
+5. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+6. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
 7. *Adding Entity Classes and Session Beans*
 * <<whatEJB,What are EJB and JPA Technologies?>>
 * <<whatSession,What are Session Beans?>>
@@ -51,22 +51,22 @@
 * <<seeAlso,See Also>>
 
 [start=8]
-. xref:./manage-sessions.adoc[+Managing Sessions+]
+. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
 
 [start=9]
-. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
+. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
 
 [start=10]
-. xref:./language.adoc[+Adding Language Support+]
+. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
 
 [start=11]
-. xref:./security.adoc[+Securing the Application+]
+. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
 
 [start=12]
-. xref:./test-profile.adoc[+Testing and Profiling+]
+. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
 
 [start=13]
-. xref:./conclusion.adoc[+Conclusion+]
+. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
@@ -75,11 +75,11 @@
 * *Entity Classes from Database wizard:* Creates a Java Persistence API entity class for each selected database table, complete with named query annotations, fields representing columns, and relationships representing foreign keys.
 * *Session Beans for Entity Classes wizard:* Creates an EJB session facade for each entity class with basic access methods.
 
-These two wizards provide an efficient way for you to quickly set up the model for your application. If you reexamine the xref:./design.adoc#mvcDiagram[+MVC diagram+] for the application you are building, you can see where EJB session beans and JPA entity classes fit into its structure.
+These two wizards provide an efficient way for you to quickly set up the model for your application. If you reexamine the xref:kb/docs/javaee/ecommerce/design.adoc#mvcDiagram[+MVC diagram+] for the application you are building, you can see where EJB session beans and JPA entity classes fit into its structure.
 
 image::kb/docs/javaee/ecommerce/mvc-diagram.png[title="MVC diagram of the AffableBean application"]
 
-In this unit, the entity classes you create form a Java-based representation of the `affablebean` database. While each entity class represents a database table, instances of entity classes correspond to records that can be saved (i.e., _persisted_) to the database. The business logic of the application is encapsulated by session beans, which can either be used as _facade_ classes that enable CRUD (Create-Read-Update-Delete) access to entities (as demonstrated here), or they can contain code that implements actions specific to your application. (An example of this is provided in xref:./transaction.adoc[+Unit 9: Integrating Transactional Business Logic+]).
+In this unit, the entity classes you create form a Java-based representation of the `affablebean` database. While each entity class represents a database table, instances of entity classes correspond to records that can be saved (i.e., _persisted_) to the database. The business logic of the application is encapsulated by session beans, which can either be used as _facade_ classes that enable CRUD (Create-Read-Update-Delete) access to entities (as demonstrated here), or they can contain code that implements actions specific to your application. (An example of this is provided in xref:kb/docs/javaee/ecommerce/transaction.adoc[+Unit 9: Integrating Transactional Business Logic+]).
 
 You can view a live demo of the application that you build in this tutorial: link:http://services.netbeans.org/AffableBean/[+NetBeans E-commerce Tutorial Demo Application+].
 
@@ -104,7 +104,7 @@
 * The NetBeans IDE requires the Java Development Kit (JDK) to run properly. If you do not have any of the resources listed above, the JDK should be the first item that you download and install.
 * The NetBeans IDE Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
 * The NetBeans IDE Java Bundle also includes the GlassFish server, which you require for this tutorial. You could link:http://glassfish.dev.java.net/public/downloadsindex.html[+download the GlassFish server independently+], but the version provided with the NetBeans download has the added benefit of being automatically registered with the IDE.
-* You can follow this tutorial unit without having completed previous units. To do so, see the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+* You can follow this tutorial unit without having completed previous units. To do so, see the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 * link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot4.zip[+Snapshot 4+] of the `AffableBean` project is available for download and corresponds to state the project after completing this unit using NetBeans IDE 6.9.
 
 
@@ -134,8 +134,8 @@
 
 * *Pooling:* For each EJB component, the EJB platform creates a pool of component instances that are shared by clients. At any point in time, each pooled instance is only allowed to be used by a single client. As soon as an instance is finished servicing a client, it is returned to the pool for reuse instead of being frivolously discarded for the garbage collector to reclaim.
 * *Thread Safety:* EJB makes all components thread-safe and highly performant in ways athat are completely invisible. This means that you can write your server components as if you were developing a single-threaded desktop application. It doesn't matter how complex the component itself is; EJB will make sure it is thread-safe.
-* *Transactions:* EJB supports declarative transaction management that helps you add transactional behavior to components using simple configuration instead of code. In effect, you can designate any component method to be transactional. If the method completes normally, EJB commits the transaction and makes the data changes made by the method permanent. Otherwise the transaction is rolled back. Container-managed EJB transactions are demonstrated in Unit 9, xref:./transaction.adoc[+Integrating Transactional Business Logic+].
-* *Security:* EJB supports integration with the Java Authentication and Authorization Service (JAAS) API, so it is easy to completely externalize security and secure an application using simple configuration instead of cluttering up your application with security code.^<<footnote2,[2]>>^ In Unit 11, xref:./security.adoc#secureEJB[+Securing the Application+], a demonstration of EJB's link:http://download.oracle.com/javaee/6/api/javax/annotation/security/RolesAllowed.html[+@RolesAllowed+] annotation is provided.
+* *Transactions:* EJB supports declarative transaction management that helps you add transactional behavior to components using simple configuration instead of code. In effect, you can designate any component method to be transactional. If the method completes normally, EJB commits the transaction and makes the data changes made by the method permanent. Otherwise the transaction is rolled back. Container-managed EJB transactions are demonstrated in Unit 9, xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+].
+* *Security:* EJB supports integration with the Java Authentication and Authorization Service (JAAS) API, so it is easy to completely externalize security and secure an application using simple configuration instead of cluttering up your application with security code.^<<footnote2,[2]>>^ In Unit 11, xref:kb/docs/javaee/ecommerce/security.adoc#secureEJB[+Securing the Application+], a demonstration of EJB's link:http://download.oracle.com/javaee/6/api/javax/annotation/security/RolesAllowed.html[+@RolesAllowed+] annotation is provided.
 
 
 [[jpa]]
@@ -185,7 +185,7 @@
 
 These specifications define the technologies. To apply a technology to your project however, you must use an _implementation_ of the specification. When a specification becomes finalized, it includes a reference implementation, which is a free implementation of the technology. If you find this concept confusing, consider the following analogy: A musical composition (i.e., the notes on a page) defines a piece of music. When a musician learns the composition and records her performance, she provides an _interpretation_ of the piece. In this manner the musical composition is likened to the technical specification, and the musician's recording corresponds to the specification's implementation.
 
-See xref:./intro.adoc#jcp[+What is the Java Community Process?+] for an explanation of Java technical specifications, and how they are formally standardized.
+See xref:kb/docs/javaee/ecommerce/intro.adoc#jcp[+What is the Java Community Process?+] for an explanation of Java technical specifications, and how they are formally standardized.
 
 If you examine the download pages for the final releases of the EJB and JPA specifications, you'll find links to the following reference implementations:
 
@@ -263,7 +263,7 @@
 
 image::kb/docs/javaee/ecommerce/entity-classes.png[title="View new entity classes in the Projects window"] 
 
-Note that the wizard generated an additional entity class, `OrderedProductPK`. Recall that the data model's `ordered_product` table uses a composite primary key that comprises the primary keys of both the `customer_order` and `product` tables. (See xref:./data-model.adoc#manyToMany[+Designing the Data Model - Creating Many-To-Many Relationships+].) Because of this, the persistence provider creates a separate entity class for the composite key, and _embeds_ it into the `OrderedProduct` entity. You can open `OrderedProduct` in the editor to inspect it. JPA uses the `@EmbeddedId` annotation to signify that the embeddable class is a composite primary key.
+Note that the wizard generated an additional entity class, `OrderedProductPK`. Recall that the data model's `ordered_product` table uses a composite primary key that comprises the primary keys of both the `customer_order` and `product` tables. (See xref:kb/docs/javaee/ecommerce/data-model.adoc#manyToMany[+Designing the Data Model - Creating Many-To-Many Relationships+].) Because of this, the persistence provider creates a separate entity class for the composite key, and _embeds_ it into the `OrderedProduct` entity. You can open `OrderedProduct` in the editor to inspect it. JPA uses the `@EmbeddedId` annotation to signify that the embeddable class is a composite primary key.
 
 [source,java]
 ----
@@ -374,7 +374,7 @@
 [[access]]
 == Accessing Data with EJBs
 
-In the xref:./connect-db.adoc[+previous tutorial unit+], you learned how to access the database from the application by configuring a data source on GlassFish, adding a resource reference to the application's deployment descriptor, and using JSTL `<sql>` tags in the application's JSP pages. This is a valuable technique, as it allows you to quickly set up prototypes that include data from the database. However, this is not a realistic scenario for medium to large-sized applications, or applications managed by a team of developers, as it would prove difficult to maintain or scale. Furthermore, if you are developing the application into multiple tiers or are adhering to the MVC pattern, you would not want to keep data-access code in your front-end. Using Enterprise beans with a persistence model enables you better conform to the MVC pattern by effectively decoupling the presentation and model components.
+In the xref:kb/docs/javaee/ecommerce/connect-db.adoc[+previous tutorial unit+], you learned how to access the database from the application by configuring a data source on GlassFish, adding a resource reference to the application's deployment descriptor, and using JSTL `<sql>` tags in the application's JSP pages. This is a valuable technique, as it allows you to quickly set up prototypes that include data from the database. However, this is not a realistic scenario for medium to large-sized applications, or applications managed by a team of developers, as it would prove difficult to maintain or scale. Furthermore, if you are developing the application into multiple tiers or are adhering to the MVC pattern, you would not want to keep data-access code in your front-end. Using Enterprise beans with a persistence model enables you better conform to the MVC pattern by effectively decoupling the presentation and model components.
 
 The following instructions demonstrate how to begin using the session and entity beans in the `AffableBean` project. You are going to remove the JSTL data access logic that you previously set up for the index and category pages. In its place, you'll utilize the data access methods provided by the session beans, and store the data in scoped variables so that it can be retrieved from front-end page views. We'll tackle the index page first, then move on to the more complicated category page.
 
@@ -501,7 +501,7 @@
 [[category]]
 === category page
 
-The xref:./design.adoc#category[+category page+] requires three pieces of data in order to render properly:
+The xref:kb/docs/javaee/ecommerce/design.adoc#category[+category page+] requires three pieces of data in order to render properly:
 
 1. *category data:* for left column category buttons
 2. *selected category:* the selected category is highlighted in the left column, and the name of the selected category displays above the product table
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/index.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/index.adoc
index 0636153..92070be 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/index.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/index.adoc
@@ -27,21 +27,21 @@
 :description: e-Commerce Tutorials
 
 - xref:index.adoc[e-Commerce Tutorials]
-- xref:./entity-session.adoc[The NetBeans E-commerce Tutorial - Adding Entity Classes and Session Beans]
-- xref:./language.adoc[The NetBeans E-commerce Tutorial - Adding Language Support]
-- xref:./conclusion.adoc[The NetBeans E-commerce Tutorial - Conclusion]
-- xref:./connect-db.adoc[The NetBeans E-commerce Tutorial - Connecting the Application to the Database]
-- xref:./design.adoc[The NetBeans E-commerce Tutorial - Designing the Application]
-- xref:./data-model.adoc[The NetBeans E-commerce Tutorial - Designing the Data Model]
-- xref:./transaction.adoc[The NetBeans E-commerce Tutorial - Integrating Transactional Business Logic]
-- xref:./intro.adoc[The NetBeans E-commerce Tutorial - Introduction]
-// not published - xref:./netbeans-ecommerce-tutorial.adoc[The NetBeans E-commerce Tutorial - Introduction]
-- xref:./manage-sessions.adoc[The NetBeans E-commerce Tutorial - Managing Sessions]
-- xref:./page-views-controller.adoc[The NetBeans E-commerce Tutorial - Preparing the Page Views and Controller Servlet]
-- xref:./security.adoc[The NetBeans E-commerce Tutorial - Securing the Application]
-- xref:./setup-dev-environ.adoc[The NetBeans E-commerce Tutorial - Setting up the Development Environment]
-- xref:./setup.adoc[The NetBeans E-commerce Tutorial - Setup Instructions]
-- xref:./test-profile.adoc[The NetBeans E-commerce Tutorial - Testing and Profiling]
+- xref:kb/docs/javaee/ecommerce/entity-session.adoc[The NetBeans E-commerce Tutorial - Adding Entity Classes and Session Beans]
+- xref:kb/docs/javaee/ecommerce/language.adoc[The NetBeans E-commerce Tutorial - Adding Language Support]
+- xref:kb/docs/javaee/ecommerce/conclusion.adoc[The NetBeans E-commerce Tutorial - Conclusion]
+- xref:kb/docs/javaee/ecommerce/connect-db.adoc[The NetBeans E-commerce Tutorial - Connecting the Application to the Database]
+- xref:kb/docs/javaee/ecommerce/design.adoc[The NetBeans E-commerce Tutorial - Designing the Application]
+- xref:kb/docs/javaee/ecommerce/data-model.adoc[The NetBeans E-commerce Tutorial - Designing the Data Model]
+- xref:kb/docs/javaee/ecommerce/transaction.adoc[The NetBeans E-commerce Tutorial - Integrating Transactional Business Logic]
+- xref:kb/docs/javaee/ecommerce/intro.adoc[The NetBeans E-commerce Tutorial - Introduction]
+// not published - xref:kb/docs/javaee/ecommerce/netbeans-ecommerce-tutorial.adoc[The NetBeans E-commerce Tutorial - Introduction]
+- xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[The NetBeans E-commerce Tutorial - Managing Sessions]
+- xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[The NetBeans E-commerce Tutorial - Preparing the Page Views and Controller Servlet]
+- xref:kb/docs/javaee/ecommerce/security.adoc[The NetBeans E-commerce Tutorial - Securing the Application]
+- xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[The NetBeans E-commerce Tutorial - Setting up the Development Environment]
+- xref:kb/docs/javaee/ecommerce/setup.adoc[The NetBeans E-commerce Tutorial - Setup Instructions]
+- xref:kb/docs/javaee/ecommerce/test-profile.adoc[The NetBeans E-commerce Tutorial - Testing and Profiling]
 
 
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/intro.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/intro.adoc
index 33d5e6f..cde3220 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/intro.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/intro.adoc
@@ -46,40 +46,40 @@
 * <<seeAlso,See Also>>
 
 [start=2]
-. xref:./design.adoc[+Designing the Application+]
+. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
 
 [start=3]
-. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
+. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
 
 [start=4]
-. xref:./data-model.adoc[+Designing the Data Model+]
+. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
 
 [start=5]
-. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
 
 [start=6]
-. xref:./connect-db.adoc[+Connecting the Application to the Database+]
+. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
 
 [start=7]
-. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
+. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
 
 [start=8]
-. xref:./manage-sessions.adoc[+Managing Sessions+]
+. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
 
 [start=9]
-. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
+. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
 
 [start=10]
-. xref:./language.adoc[+Adding Language Support+]
+. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
 
 [start=11]
-. xref:./security.adoc[+Securing the Application+]
+. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
 
 [start=12]
-. xref:./test-profile.adoc[+Testing and Profiling+]
+. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
 
 [start=13]
-. xref:./conclusion.adoc[+Conclusion+]
+. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
@@ -94,7 +94,7 @@
 
 The tutorial is modular in fashion, with each unit focusing on specific concepts, technologies, and features of the IDE. You can successfully follow a tutorial unit on its own using the provided setup instructions and application snapshots (from Unit 5 onward). However, you'll get the most benefit by working through all units consecutively, from beginning to end. This will also help to illustrate the development process.
 
-Unit 3, xref:./setup-dev-environ.adoc[+Setting up the Development Environment+] introduces you to the NetBeans IDE. In it, you create a Java web project which is the basis for the work you undertake in later tutorial units. In Unit 4, xref:./data-model.adoc[+Designing the Data Model+], you primarily work with link:http://wb.mysql.com/[+MySQL WorkBench+], a visual database design tool, to create a data model for the application. Each successive tutorial unit provides you with a _project snapshot_ that corresponds to the project's beginning state for that given unit. This enables you to work through a single tutorial unit outside of the E-commerce Tutorial's larger context. To use these snapshots, download them to your computer and open them in the IDE using the Open Project wizard (Ctrl-Shift-O; ⌘-Shift-O on Mac).
+Unit 3, xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+] introduces you to the NetBeans IDE. In it, you create a Java web project which is the basis for the work you undertake in later tutorial units. In Unit 4, xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+], you primarily work with link:http://wb.mysql.com/[+MySQL WorkBench+], a visual database design tool, to create a data model for the application. Each successive tutorial unit provides you with a _project snapshot_ that corresponds to the project's beginning state for that given unit. This enables you to work through a single tutorial unit outside of the E-commerce Tutorial's larger context. To use these snapshots, download them to your computer and open them in the IDE using the Open Project wizard (Ctrl-Shift-O; ⌘-Shift-O on Mac).
 
 You can view a live demo of the application that you build in this tutorial: link:http://services.netbeans.org/AffableBean/[+NetBeans E-commerce Tutorial Demo Application+].
 
@@ -286,7 +286,7 @@
 5. Establish a deployment method, i.e., a way to copy resources from your development directory to the server's deployment area.
 6. Bookmark or install relevant API documentation.
 
-For educative purposes, it is worthwhile to create and run a Java web project manually so that you are aware the necessary steps involved. But eventually, you'll want to consider using tools that reduce or eliminate the need to perform tedious or repetitious tasks, thereby enabling you to focus on developing code that solves specific business needs. An IDE streamlines the process outlined above. As demonstrated in Unit 3, xref:./setup-dev-environ.adoc[+Setting up the Development Environment+], you'll install NetBeans IDE with the GlassFish application server, and be able to set up a web application project with a conventional directory structure using a simple 3-step wizard. Furthermore, the IDE provides provides built-in API documentation which you can either call up as you code in the editor, or maintain open in an external window.
+For educative purposes, it is worthwhile to create and run a Java web project manually so that you are aware the necessary steps involved. But eventually, you'll want to consider using tools that reduce or eliminate the need to perform tedious or repetitious tasks, thereby enabling you to focus on developing code that solves specific business needs. An IDE streamlines the process outlined above. As demonstrated in Unit 3, xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+], you'll install NetBeans IDE with the GlassFish application server, and be able to set up a web application project with a conventional directory structure using a simple 3-step wizard. Furthermore, the IDE provides provides built-in API documentation which you can either call up as you code in the editor, or maintain open in an external window.
 
 An IDE also typically handles project compilation and deployment in a way that is transparent to you as a developer. For example, the web project that you create in NetBeans includes an Ant build script that is used to compile, clean, package and deploy the project. This means that you can run your project from the IDE, and it will automatically be compiled and deployed, then open in your default browser. Taking this a step further, many IDEs support a Deploy on on Save feature. In other words, whenever you save changes to your project, the deployed version on your server is automatically updated. You can simply switch to the browser and refresh the page to view changes.
 
@@ -304,9 +304,9 @@
 The NetBeans IDE is a free, open-source integrated development environment written entirely in Java. It offers a range of tools for create professional desktop, enterprise, web, and mobile applications with the Java language, C/C++, and even scripting languages such as PHP, JavaScript, Groovy, and Ruby.
 
 // 
-// People are saying great things about NetBeans. For a list of testimonials, see xref:../../../../features/ide/testimonials.adoc[+NetBeans IDE Testimonials+]. 
+// People are saying great things about NetBeans. For a list of testimonials, see xref:features/ide/testimonials.adoc[+NetBeans IDE Testimonials+]. 
 // Many developers are migrating their applications to NetBeans from other IDEs. 
-// For reasons why, read xref:../../../../switch/realstories.adoc[+Real Stories From People Switching to NetBeans IDE+].
+// For reasons why, read xref:switch/realstories.adoc[+Real Stories From People Switching to NetBeans IDE+].
 
 The IDE provides many xref:kb/docs/web.adoc[+features for web development+], and several advantages over other IDEs. Here are several noteworthy points:
 
@@ -315,9 +315,9 @@
 * *Profiling and Debugging Tools:* With NetBeans IDE xref:front::projects/profiler/index.adoc[+profiler+], you get real time insight into memory usage and potential performance bottlenecks. Furthermore, you can instrument specific parts of code to avoid performance degradation during profiling. The link:http://profiler.netbeans.org/docs/help/6.0/heapwalker.html[+HeapWalker+] tool helps you evaluate Java heap contents and find memory leaks.
 * *Customizable Projects:* Through the NetBeans IDE build process, which relies on industry standards such as link:https://ant.apache.org/[+Apache Ant+], link:http://www.gnu.org/software/make/[+make+], link:http://maven.apache.org/[+Maven+], and link:http://rake.rubyforge.org/[+rake+] - rather than a proprietary build process - you can easily customize projects and add functionality. You can build, run, and deploy projects to servers outside of the IDE.
 * *Collaboration Tools:* The IDE provides built-in support for version control systems such as CVS, Subversion, and Mercurial.
-* *Extensive Documentation:* There's a wealth of tips and instructions contained in the IDE's built-in help set. Simply press F1 (fn-F1 on Mac) on a component in the IDE to invoke the help set. Also, the IDE's xref:../../../index.adoc[+official knowledge base+] provides hundreds of online tutorials, articles and xref:front::community/media.adoc[+screencasts+] that are continuously being updated.
+* *Extensive Documentation:* There's a wealth of tips and instructions contained in the IDE's built-in help set. Simply press F1 (fn-F1 on Mac) on a component in the IDE to invoke the help set. Also, the IDE's xref:kb/docs/index.adoc[official knowledge base] provides hundreds of online tutorials, articles and xref:front::community/media.adoc[+screencasts+] that are continuously being updated.
 
-// For a more extensive list of reasons why you should consider choosing NetBeans, see xref:../../../../switch/why.adoc[+NetBeans IDE Connects Developers+].
+// For a more extensive list of reasons why you should consider choosing NetBeans, see xref:switch/why.adoc[+NetBeans IDE Connects Developers+].
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/language.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/language.adoc
index c7cc7a1..d29cd08 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/language.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/language.adoc
@@ -35,7 +35,7 @@
 endif::[]
 
 
-The goal of this tutorial unit is to demonstrate how to enable language support for a web application. "Language support" here refers to the ability to display page views according to the customer-specified languages. Within the context of the `AffableBean` application, we have agreed to provide support for both English and Czech, as per the previously outlined xref:./design.adoc#requirements[+customer requirements+].
+The goal of this tutorial unit is to demonstrate how to enable language support for a web application. "Language support" here refers to the ability to display page views according to the customer-specified languages. Within the context of the `AffableBean` application, we have agreed to provide support for both English and Czech, as per the previously outlined xref:kb/docs/javaee/ecommerce/design.adoc#requirements[+customer requirements+].
 
 In order to accomplish this, you rely on Java's support for internationalization. You create a _resource bundle_ for each language and let the Java runtime environment determine the appropriate language for incoming client requests. You also implement a 'language toggle' to enable users to switch the languages manually.
 
@@ -66,7 +66,7 @@
 * The NetBeans IDE requires the Java Development Kit (JDK) to run properly. If you do not have any of the resources listed above, the JDK should be the first item that you download and install.
 * The NetBeans IDE Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
 * The NetBeans IDE Java Bundle also includes the GlassFish server, which you require for this tutorial. You could link:http://glassfish.dev.java.net/public/downloadsindex.html[+download the GlassFish server independently+], but the version provided with the NetBeans download has the added benefit of being automatically registered with the IDE.
-* You can follow this tutorial unit without having completed previous units. To do so, see the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+* You can follow this tutorial unit without having completed previous units. To do so, see the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 
 
 
@@ -145,7 +145,7 @@
 1. Open the `AffableBean` project link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot8.zip[+snapshot 8+] in the IDE. Click the Open Project ( image:kb/docs/javaee/ecommerce/open-project-btn.png[] ) button and use the wizard to navigate to the location on your computer where you downloaded the project.
 2. Click the Run Project ( image:kb/docs/javaee/ecommerce/run-project-btn.png[] ) button to run the project and ensure that it is properly configured with your database and application server. 
 
-If you receive an error when running the project, revisit the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+If you receive an error when running the project, revisit the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 
 
 [start=3]
@@ -278,7 +278,7 @@
 
 The purpose of this step is to inform JSTL's format (i.e., link:http://download.oracle.com/docs/cd/E17802_01/products/products/jsp/jstl/1.1/docs/tlddocs/fmt/tld-summary.html[+`fmt`+]) tag library where it can locate any resource bundles existing in the application. You accomplish this by instructing the application to create a link:http://download.oracle.com/docs/cd/E17477_01/javaee/5/jstl/1.1/docs/api/javax/servlet/jsp/jstl/fmt/LocalizationContext.html[+`LocalizationContext`+] using the existing resource bundles. This can be done by setting a context parameter in the application's `web.xml` deployment descriptor.
 
-The topic of setting context parameters is also covered in xref:./connect-db.adoc#param[+Connecting the Application to the Database+].
+The topic of setting context parameters is also covered in xref:kb/docs/javaee/ecommerce/connect-db.adoc#param[+Connecting the Application to the Database+].
 
 1. In the Projects window, expand the Configuration Files node, then double-click `web.xml` to open it in the editor.
 2. Under the deployment descriptor's General tab, expand the Context Parameters category.
@@ -461,9 +461,9 @@
 ----
 This markup implements the language toggle's appearance when English is the displayed language. In other words, the toggle provides a link allowing the user to select the Czech (i.e., '`česky`') option. The link is used to send a request for `chooseLanguage`, and creates a query string (`?language=cs`) that specifies the requested language code. 
 
-*Note:* Recall that in Unit 5, xref:./page-views-controller.adoc#controller[+Preparing the Page Views and Controller Servlet+], you set the `ControllerServlet` to handle the `/chooseLanguage` URL pattern.
+*Note:* Recall that in Unit 5, xref:kb/docs/javaee/ecommerce/page-views-controller.adoc#controller[+Preparing the Page Views and Controller Servlet+], you set the `ControllerServlet` to handle the `/chooseLanguage` URL pattern.
 
-Snapshot 8 includes the link:http://jquery.com/[+jQuery+] JavaScript library and takes advantage of various UI effects to enhance the appearance and behavior of the website. Aside from a link:http://plugins.jquery.com/project/validate[+jQuery plugin for client-side validation+] (discussed in the xref:./transaction.adoc#client[+previous tutorial unit+]), the snapshot implements an easing effect for category headings in the welcome page, as well as for category buttons in the category page. Configuration is included in `header.jspf` of the project snapshot. Rounded corners are implemented using CSS3's link:http://www.w3.org/TR/css3-background/#corners[+border-radius+] property (applied in `affablebean.css`).
+Snapshot 8 includes the link:http://jquery.com/[+jQuery+] JavaScript library and takes advantage of various UI effects to enhance the appearance and behavior of the website. Aside from a link:http://plugins.jquery.com/project/validate[+jQuery plugin for client-side validation+] (discussed in the xref:kb/docs/javaee/ecommerce/transaction.adoc#client[+previous tutorial unit+]), the snapshot implements an easing effect for category headings in the welcome page, as well as for category buttons in the category page. Configuration is included in `header.jspf` of the project snapshot. Rounded corners are implemented using CSS3's link:http://www.w3.org/TR/css3-background/#corners[+border-radius+] property (applied in `affablebean.css`).
 
 
 [start=3]
@@ -515,7 +515,7 @@
 request.getLocale();
 ----
 
-You can use the IDE's HTTP Monitor (Window > Debugging > HTTP Server Monitor) to examine HTTP headers for client requests. In order to use the HTTP Monitor, you need to first activate it for the server you are using. Unit 8, xref:./manage-sessions.adoc[+Managing Sessions+] provides a demonstration under the sub-section, xref:./manage-sessions.adoc#http-monitor[+Examining Client-Server Communication with the HTTP Monitor+].
+You can use the IDE's HTTP Monitor (Window > Debugging > HTTP Server Monitor) to examine HTTP headers for client requests. In order to use the HTTP Monitor, you need to first activate it for the server you are using. Unit 8, xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+] provides a demonstration under the sub-section, xref:kb/docs/javaee/ecommerce/manage-sessions.adoc#http-monitor[+Examining Client-Server Communication with the HTTP Monitor+].
 
 To determine the language of the preferred locale, you use the `Locale` class' `getLanguage` method. Again, from a servlet you could access the language of the client request's preferred locale with the following.
 
@@ -535,7 +535,7 @@
 ${pageContext.request.locale.language}
 ----
 
-*Note:* The above implementation uses `<c:url>` tags to set up the toggle link. This is done in order to properly encode the request URL in the event that URL rewriting is used as a means for session tracking. Unit 8, xref:./manage-sessions.adoc#encodeUrl[+Managing Sessions+] provides a brief explanation of how the `<c:url>` tags can be used.
+*Note:* The above implementation uses `<c:url>` tags to set up the toggle link. This is done in order to properly encode the request URL in the event that URL rewriting is used as a means for session tracking. Unit 8, xref:kb/docs/javaee/ecommerce/manage-sessions.adoc#encodeUrl[+Managing Sessions+] provides a brief explanation of how the `<c:url>` tags can be used.
 
 
 [start=5]
@@ -823,7 +823,7 @@
 1. Open link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot9.zip[+snapshot 9+] in the IDE. Click the Open Project ( image:kb/docs/javaee/ecommerce/open-project-btn.png[] ) button and use the wizard to navigate to the location on your computer where you downloaded the project.
 2. Click the Run Project ( image:kb/docs/javaee/ecommerce/run-project-btn.png[] ) button to run the project. When navigating through the site, note that when you click the language toggle from any of the page views, you are returned to the application's welcome page. 
 
-If you receive an error when running the project, revisit the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+If you receive an error when running the project, revisit the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 
 
 [start=3]
@@ -880,7 +880,7 @@
      users view the same page when switching between English and Czech. --%>
 <c:set var='view' value='/checkout' scope='session' />
 ----
-Based on customer-agreed <<impDeets,implementation details>>, we do not need to provide a means of switching languages on the confirmation page view. From a usability perspective, a user will have already selected his or her preferred language prior to checkout. From an implementation perspective, recall that we destroy the user session upon a successfully completed order. (Refer back to the final paragraph in xref:./manage-sessions.adoc[+Managing Sessions+], which describes how to apply the `invalidate` method to explicitly terminate a user session.) If the Affable Bean staff were to insist on allowing customers to view their orders bilingually, you would need to consider the following scenarios, dependent on whether you destroy the user session upon displaying the confirmation page:
+Based on customer-agreed <<impDeets,implementation details>>, we do not need to provide a means of switching languages on the confirmation page view. From a usability perspective, a user will have already selected his or her preferred language prior to checkout. From an implementation perspective, recall that we destroy the user session upon a successfully completed order. (Refer back to the final paragraph in xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+], which describes how to apply the `invalidate` method to explicitly terminate a user session.) If the Affable Bean staff were to insist on allowing customers to view their orders bilingually, you would need to consider the following scenarios, dependent on whether you destroy the user session upon displaying the confirmation page:
 1. *Session destroyed:* Would be necessary to take extra measures to ensure that a `chooseLanguage` request from the confirmation page refers to the appropriate order, and can display customer-sensitive details in a secure fashion.
 2. *Session maintained:* Would risk enabling users to mistakenly place double orders on their shopping cart. Also, by not terminating user sessions when they are no longer needed, an unnecessary load may be placed on the server.
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/manage-sessions.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/manage-sessions.adoc
index d19f819..b351220 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/manage-sessions.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/manage-sessions.adoc
@@ -36,13 +36,13 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
-3. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
-4. xref:./data-model.adoc[+Designing the Data Model+]
-5. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
-6. xref:./connect-db.adoc[+Connecting the Application to the Database+]
-7. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
+3. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
+4. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
+5. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+6. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
+7. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
 8. *Managing Sessions*
 * <<session-data,Handling Session Data>>
 * <<debug,Examining Session Data with the Java Debugger>>
@@ -51,19 +51,19 @@
 * <<seeAlso,See Also>>
 
 [start=9]
-. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
+. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
 
 [start=10]
-. xref:./language.adoc[+Adding Language Support+]
+. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
 
 [start=11]
-. xref:./security.adoc[+Securing the Application+]
+. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
 
 [start=12]
-. xref:./test-profile.adoc[+Testing and Profiling+]
+. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
 
 [start=13]
-. xref:./conclusion.adoc[+Conclusion+]
+. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
@@ -96,7 +96,7 @@
 * The NetBeans IDE requires the Java Development Kit (JDK) to run properly. If you do not have any of the resources listed above, the JDK should be the first item that you download and install.
 * The NetBeans IDE Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
 * The NetBeans IDE Java Bundle also includes the GlassFish server, which you require for this tutorial. You could link:http://glassfish.dev.java.net/public/downloadsindex.html[+download the GlassFish server independently+], but the version provided with the NetBeans download has the added benefit of being automatically registered with the IDE.
-* You can follow this tutorial unit without having completed previous units. To do so, see the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+* You can follow this tutorial unit without having completed previous units. To do so, see the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 
 
 
@@ -267,7 +267,7 @@
 
 Begin exploring how the application behaves during runtime. Use the IDE's debugger to step through code and examine how the `HttpSession` is created, and how other objects can be placed in the session scope to be retrieved at a later point.
 
-1. Open the link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot5.zip[+project snapshot+] for this tutorial unit in the IDE. Click the Open Project ( image:kb/docs/javaee/ecommerce/open-project-btn.png[] ) button and use the wizard to navigate to the location on your computer where you downloaded the project. If you are proceeding from the xref:./entity-session.adoc[+previous tutorial unit+], note that this project snapshot includes a new `cart` package, containing `ShoppingCart` and `ShoppingCartItem` classes. Also, the following files have been modified:
+1. Open the link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot5.zip[+project snapshot+] for this tutorial unit in the IDE. Click the Open Project ( image:kb/docs/javaee/ecommerce/open-project-btn.png[] ) button and use the wizard to navigate to the location on your computer where you downloaded the project. If you are proceeding from the xref:kb/docs/javaee/ecommerce/entity-session.adoc[+previous tutorial unit+], note that this project snapshot includes a new `cart` package, containing `ShoppingCart` and `ShoppingCartItem` classes. Also, the following files have been modified:
 * `WEB-INF/web.xml`
 * `css/affablebean.css`
 * `WEB-INF/jspf/header.jspf`
@@ -280,11 +280,11 @@
 [start=2]
 . Run the project ( image:kb/docs/javaee/ecommerce/run-project-btn.png[] ) to ensure that it is properly configured with your database and application server. 
 
-If you receive an error when running the project, revisit the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+If you receive an error when running the project, revisit the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 
 
 [start=3]
-. Test the application's functionality in your browser. If you are continuing directly from the xref:./entity-session.adoc[+previous tutorial unit+], you'll note the following enhancements.
+. Test the application's functionality in your browser. If you are continuing directly from the xref:kb/docs/javaee/ecommerce/entity-session.adoc[+previous tutorial unit+], you'll note the following enhancements.
 
 
 === category page
@@ -343,7 +343,7 @@
 
 <form action="addToCart" method="post">
 ----
-As you may recall from xref:./page-views-controller.adoc#controller[+Preparing the Page Views and Controller Servlet+], the `ControllerServlet`'s `doPost` method handles requests for the `/addToCart` URL pattern. You can therefore expect that when a user clicks an 'add to cart' button, the `doPost` method is called.
+As you may recall from xref:kb/docs/javaee/ecommerce/page-views-controller.adoc#controller[+Preparing the Page Views and Controller Servlet+], the `ControllerServlet`'s `doPost` method handles requests for the `/addToCart` URL pattern. You can therefore expect that when a user clicks an 'add to cart' button, the `doPost` method is called.
 
 [start=8]
 . Click 'add to cart' for any product in the category page. Switch back to the IDE and note that the debugger suspends on the breakpoint. 
@@ -1033,7 +1033,7 @@
 [start=27]
 . Save (Ctrl-S; ⌘-S on Mac) the file.
 
-link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot6.zip[+Snapshot 6+] provides you with the completed project version for this tutorial unit. One final topic concerning session management should be mentioned. You can explicitly terminate a session by calling the `invalidate` method on the session object. If the session is no longer needed, it should be removed in order to conserve the memory available to your server. After you complete the next unit, xref:./transaction.adoc[+Integrating Transactional Business Logic+], you will see how the `ControllerServlet`, upon successfully processing a customer order, destroys the user's `cart` object and terminates the session using the `invalidate` method.
+link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot6.zip[+Snapshot 6+] provides you with the completed project version for this tutorial unit. One final topic concerning session management should be mentioned. You can explicitly terminate a session by calling the `invalidate` method on the session object. If the session is no longer needed, it should be removed in order to conserve the memory available to your server. After you complete the next unit, xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+], you will see how the `ControllerServlet`, upon successfully processing a customer order, destroys the user's `cart` object and terminates the session using the `invalidate` method.
 
 
 [source,java]
@@ -1064,7 +1064,7 @@
 
 === NetBeans Resources
 
-// several file for debugger * xref:../../../../features/java/debugger.adoc[+NetBeans IDE Features: Debugger+]
+// several file for debugger * xref:features/java/debugger.adoc[+NetBeans IDE Features: Debugger+]
 * xref:kb/docs/java/debug-multithreaded.adoc[+Debugging Multithreaded Applications+]
 * xref:kb/docs/java/debug-multithreaded-screencast.adoc[+Video of the Multithreaded Debugging with the NetBeans IDE+]
 * xref:kb/docs/java/debug-evaluator-screencast.adoc[+Video of Using the Code Snippet Evaluator in the NetBeans Debugger+]
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/netbeans-ecommerce-tutorial.asciidoc.disabled b/modules/ROOT/pages/kb/docs/javaee/ecommerce/netbeans-ecommerce-tutorial.asciidoc.disabled
index 3702ff0..3c1f3c3 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/netbeans-ecommerce-tutorial.asciidoc.disabled
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/netbeans-ecommerce-tutorial.asciidoc.disabled
@@ -255,7 +255,7 @@
 
 * link:http://java.sun.com/javaee/technologies/javaee5.jsp[+http://java.sun.com/javaee/technologies/javaee5.jsp+]
 
-A JSR's final release provides a _reference implementation_, which is a free implementation of the technology. In this tutorial, you utilize these implementations to develop the sample e-commerce application. For example, the GlassFish v3 application server, which is included in the standard Java download bundle for xref:../../../../download/index.adoc[NetBeans IDE], is the reference implementation of the Java EE 6 platform specification (link:http://jcp.org/en/jsr/summary?id=316[+JSR 316+]). As a reference implementation for the Java EE platform, it includes reference implementations for the technologies included in the platform, such as Servlet, EJB and JPA technologies.
+A JSR's final release provides a _reference implementation_, which is a free implementation of the technology. In this tutorial, you utilize these implementations to develop the sample e-commerce application. For example, the GlassFish v3 application server, which is included in the standard Java download bundle for xref:front::download/index.adoc[NetBeans IDE], is the reference implementation of the Java EE 6 platform specification (link:http://jcp.org/en/jsr/summary?id=316[+JSR 316+]). As a reference implementation for the Java EE platform, it includes reference implementations for the technologies included in the platform, such as Servlet, EJB and JPA technologies.
 
 
 
@@ -302,7 +302,7 @@
 The IDE provides many link:../../../../features/web/index.html[+features for web development+], and several advantages over other IDEs. Here are several noteworthy points:
 
 * *Works Out of the Box:* Simply download, install, and run the IDE. With its small download size, installation is a breeze. The IDE runs on many platforms including Windows, Linux, Mac OS X and Solaris. All IDE tools and features are fully integrated - no need to hunt for plug-ins - and they work together when you launch the IDE.
-* *Free and Open Source:* When you use the NetBeans IDE, you join a vibrant, link:../../../../community/index.html[+open source community+] with thousands of users ready to help and contribute. There are discussions on the link:../../../../community/lists/index.html[+NetBeans project mailing lists+], blogs on link:http://www.planetnetbeans.org/[+Planet NetBeans+], and helpful FAQs and tutorials on the link:http://wiki.netbeans.org/[+community wiki+].
+* *Free and Open Source:* When you use the NetBeans IDE, you join a vibrant, link:../../../../community/index.html[+open source community+] with thousands of users ready to help and contribute. There are discussions on the link:../../../../community/lists/index.html[+NetBeans project mailing lists+], blogs on link:http://www.planetnetbeans.org/[+Planet NetBeans+], and helpful FAQs and tutorials on the xref:wiki::wiki/index.adoc[community wiki].
 * *Profiling and Debugging Tools:* With NetBeans IDE link:../../../../features/java/profiler.html[+profiler+], you get real time insight into memory usage and potential performance bottlenecks. Furthermore, you can instrument specific parts of code to avoid performance degradation during profiling. The link:http://profiler.netbeans.org/docs/help/6.0/heapwalker.html[+HeapWalker+] tool helps you evaluate Java heap contents and find memory leaks.
 * *Customizable Projects:* Through the NetBeans IDE build process, which relies on industry standards such as link:http://ant.apache.org/[+Apache Ant+], link:http://www.gnu.org/software/make/[+make+], link:http://maven.apache.org/[+Maven+], and link:http://rake.rubyforge.org/[+rake+] - rather than a proprietary build process - you can easily customize projects and add functionality. You can build, run, and deploy projects to servers outside of the IDE.
 * *Collaboration Tools:* The IDE provides built-in support for version control systems such as CVS, Subversion, and Mercurial.
@@ -9019,7 +9019,7 @@
 
 
 [start=2]
-. If you are running the Profiler for the first time, you need to perform a calibration step on the JDK. To do so, choose Profile > Advanced Commands > Run Profiler Calibration. For more information, refer to the NetBeans User FAQ wiki: link:http://wiki.netbeans.org/FaqProfilerCalibration[+What exactly does the Profiler Calibration mean?+].
+. If you are running the Profiler for the first time, you need to perform a calibration step on the JDK. To do so, choose Profile > Advanced Commands > Run Profiler Calibration. For more information, refer to the NetBeans User FAQ wiki: xref:wiki::wiki/FaqProfilerCalibration[What exactly does the Profiler Calibration mean?].
 
 [start=3]
 . Click the Profile Project ( image::images/profile-btn.png[] ) button. When a project is profiled for the first time, its build script must be modified to enable profiling. The IDE warns you that it will modify the project's build script. 
@@ -9233,7 +9233,7 @@
 * link:../../../../features/java/profiler.html[+NetBeans Profiler Features+]
 * link:../../java/profiler-profilingpoints.html[+Using Profiling Points+]
 * link:http://profiler.netbeans.org/docs/help/6.0/heapwalker.html[+Using HeapWalker+]
-* link:http://wiki.netbeans.org/HeapWalkerDemo[+HeapWalker Demo+]
+* xref:wiki::wiki/HeapWalkerDemo[HeapWalker Demo]
 * link:../../java/profile-loadgenerator.html[+Using a Load Generator+]
 * link:../profiler-javaee.html[+Profiling an Enterprise Application+]
 * link:../../java/profiler-intro.html[+Introduction to Profiling Java Applications+]
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/page-views-controller.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/page-views-controller.adoc
index d91a89f..ac29a1c 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/page-views-controller.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/page-views-controller.adoc
@@ -35,10 +35,10 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
-3. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
-4. xref:./data-model.adoc[+Designing the Data Model+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
+3. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
+4. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
 5. *Preparing the Page Views and Controller Servlet*
 * <<createProjectFiles,Creating Project Files>>
 * <<implementHTML,Implementing HTML and CSS content>>
@@ -50,28 +50,28 @@
 * <<seeAlso,See Also>>
 
 [start=6]
-. xref:./connect-db.adoc[+Connecting the Application to the Database+]
+. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
 
 [start=7]
-. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
+. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
 
 [start=8]
-. xref:./manage-sessions.adoc[+Managing Sessions+]
+. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
 
 [start=9]
-. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
+. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
 
 [start=10]
-. xref:./language.adoc[+Adding Language Support+]
+. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
 
 [start=11]
-. xref:./security.adoc[+Securing the Application+]
+. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
 
 [start=12]
-. xref:./test-profile.adoc[+Testing and Profiling+]
+. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
 
 [start=13]
-. xref:./conclusion.adoc[+Conclusion+]
+. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
@@ -79,7 +79,7 @@
 
 In this unit, you also create a web deployment descriptor (`web.xml` file) for the application. You can use the deployment descriptor to specify configuration information which is read by the server during deployment. Although the link:http://jcp.org/en/jsr/detail?id=315[+Servlet 3.0 Specification+], included in Java EE 6, enables you to use class annotations in place of XML, you may still require the deployment descriptor to configure certain elements of your application. Specifically, in this unit you add directives for the header and footer and specify which files they will be applied to.
 
-One of the goals of this tutorial unit is to create JSP pages that correspond to the views specified in the application design. Referring back to the xref:./design.adoc#mockups[+page mockups+] and xref:./design.adoc#business[+process flow diagram+], you begin implementing page layouts according to the mockups by creating _placeholders_ for all visual and functional components. This unit provides a guide for implementing the layout of the welcome page. You can apply the outlined steps to create the other pages on your own, or link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot1.zip[+download project snapshot 1+], which provides completed layouts for all pages.
+One of the goals of this tutorial unit is to create JSP pages that correspond to the views specified in the application design. Referring back to the xref:kb/docs/javaee/ecommerce/design.adoc#mockups[+page mockups+] and xref:kb/docs/javaee/ecommerce/design.adoc#business[+process flow diagram+], you begin implementing page layouts according to the mockups by creating _placeholders_ for all visual and functional components. This unit provides a guide for implementing the layout of the welcome page. You can apply the outlined steps to create the other pages on your own, or link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot1.zip[+download project snapshot 1+], which provides completed layouts for all pages.
 
 You can view a live demo of the application that you build in this tutorial: link:http://services.netbeans.org/AffableBean/[+NetBeans E-commerce Tutorial Demo Application+].
 
@@ -115,7 +115,7 @@
 [[jsp]]
 === Creating JSP Pages
 
-Begin working in the project by creating JSP pages that correspond to the views displayed in the xref:./design.adoc#business[+process flow diagram+].
+Begin working in the project by creating JSP pages that correspond to the views displayed in the xref:kb/docs/javaee/ecommerce/design.adoc#business[+process flow diagram+].
 
 The `index.jsp` page that was generated by the IDE will become the project's welcome page. Create JSP pages for the four remaining views and, for now, place them in the project's webroot with `index.jsp`.
 
@@ -149,11 +149,11 @@
 [[implementHTML]]
 == Implementing HTML and CSS content
 
-The purpose of this section is to design the page views so that they begin to mirror the provided xref:./design.adoc#mockups[+page mockups+]. As such, they'll serve as a scaffolding which you can use to insert dynamic content during later stages of project development. To do so, you'll utilize the IDE's HTML and CSS editors, along with several CSS support windows.
+The purpose of this section is to design the page views so that they begin to mirror the provided xref:kb/docs/javaee/ecommerce/design.adoc#mockups[+page mockups+]. As such, they'll serve as a scaffolding which you can use to insert dynamic content during later stages of project development. To do so, you'll utilize the IDE's HTML and CSS editors, along with several CSS support windows.
 
 *Browser compatibility note:* This tutorial uses Firefox 3 and _does not_ guarantee that page view markup is compatible with other modern browsers. Naturally, when working with front-end web technologies (HTML, CSS, JavaScript) you would need take measures to ensure that your web pages render properly in the browsers and browser versions that you expect visitors to your site will be using (typically Internet Explorer, Firefox, Safari, Chrome, and Opera). When working in the IDE, you can set the browser you want your application to open in. Choose Tools > Options (NetBeans > Preferences on Mac), and under the General tab in the Options window, select the browser you want to use from the Web Browser drop-down. The IDE detects browsers installed to their default locations. If a browser installed on your computer is not displayed, click the Edit button and register the browser manually.
 
-Preparing the display of your web pages is usually an iterative process which you would fine-tune with regular feedback from the customer. The following steps are designed to introduce you to the facilities provided by the IDE, and demonstrate how to get started using the xref:./design.adoc#index[+welcome page mockup+] as an example.
+Preparing the display of your web pages is usually an iterative process which you would fine-tune with regular feedback from the customer. The following steps are designed to introduce you to the facilities provided by the IDE, and demonstrate how to get started using the xref:kb/docs/javaee/ecommerce/design.adoc#index[+welcome page mockup+] as an example.
 
 1. In the Projects window, double-click `index.jsp` to open it in the editor.
 2. Begin by creating `<div>` tags for the main areas of the page. You can create five tags altogether: four for main areas (header, footer, left column, and right column), and the fifth to contain the others. Remove any content within the `<body>` tags and replace with the following. (New code is shown in *bold*.)
@@ -246,7 +246,7 @@
 image::kb/docs/javaee/ecommerce/index-page.png[title="Run the project to view the current state of pages"]
 
 [start=6]
-. Now, begin creating placeholders for page components within each of the four visible areas. Start with the header. Reviewing the xref:./design.adoc#index[+welcome page mockup+], the header should contain the following components:
+. Now, begin creating placeholders for page components within each of the four visible areas. Start with the header. Reviewing the xref:kb/docs/javaee/ecommerce/design.adoc#index[+welcome page mockup+], the header should contain the following components:
 * logo
 * logo text
 * shopping cart widget
@@ -362,7 +362,7 @@
 Following these three steps, let's implement the components in the remaining areas.
 
 [start=9]
-. Create placeholders for components in the right column. According to the xref:./design.adoc#index[+welcome page mockup+], the right column contains four evenly-spaced boxes. 
+. Create placeholders for components in the right column. According to the xref:kb/docs/javaee/ecommerce/design.adoc#index[+welcome page mockup+], the right column contains four evenly-spaced boxes. 
 
 Create the structure for the four boxes. Insert the following code between the `<div id="indexRightColumn">` tags. (New code shown in *bold*.)
 
@@ -495,7 +495,7 @@
 
 You've now completed the initial design of the application's welcome page. All placeholders for page components exist. Later in the tutorial, when you begin to apply dynamic logic to the page views, you can simply plug JSTL and EL expressions into these placeholders.
 
-The task remains for you to implement the initial design for the other pages based on the xref:./design.adoc#mockups[+mockups+]. To accomplish this, follow the pattern outlined above, namely:
+The task remains for you to implement the initial design for the other pages based on the xref:kb/docs/javaee/ecommerce/design.adoc#mockups[+mockups+]. To accomplish this, follow the pattern outlined above, namely:
 
 1. Create `<div>` tags for the main page areas.
 2. Iterate through each area and perform three steps:
@@ -556,7 +556,7 @@
 [[view]]
 == Placing JSP Pages in WEB-INF
 
-Looking back at the xref:./design.adoc#mockups[+page mockups+] that were created, you can see that the xref:./design.adoc#index[+welcome page+] should look the same whenever it is requested, for whomever requests it. That is, the content that displays on the welcome page is not determined by a user's _session_. (Sessions are discussed in Unit 8, xref:./manage-sessions.adoc[+Managing Sessions+].) Notice however that all other pages do need some form of user-specific information to display properly. For example, the xref:./design.adoc#category[+category page+] requires that the user select a category in order to display, and the xref:./design.adoc#cart[+cart page+] needs to know all items currently held in a shopper's cart. These pages will not render properly if the server isn't able to associate user-specific information with an incoming request. Therefore, we do not want these pages to be accessed directly from a browser's address bar. The project's `WEB-INF` folder can be used for this purpose: any resources contained in the `WEB-INF` folder are not directly accessible from a browser.
+Looking back at the xref:kb/docs/javaee/ecommerce/design.adoc#mockups[+page mockups+] that were created, you can see that the xref:kb/docs/javaee/ecommerce/design.adoc#index[+welcome page+] should look the same whenever it is requested, for whomever requests it. That is, the content that displays on the welcome page is not determined by a user's _session_. (Sessions are discussed in Unit 8, xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+].) Notice however that all other pages do need some form of user-specific information to display properly. For example, the xref:kb/docs/javaee/ecommerce/design.adoc#category[+category page+] requires that the user select a category in order to display, and the xref:kb/docs/javaee/ecommerce/design.adoc#cart[+cart page+] needs to know all items currently held in a shopper's cart. These pages will not render properly if the server isn't able to associate user-specific information with an incoming request. Therefore, we do not want these pages to be accessed directly from a browser's address bar. The project's `WEB-INF` folder can be used for this purpose: any resources contained in the `WEB-INF` folder are not directly accessible from a browser.
 
 Create a new folder named `view`, and place it in the `WEB-INF` folder. Then move all JSP pages other than the welcome page into this new folder.
 
@@ -584,7 +584,7 @@
 [[jspf]]
 == Creating a Header and Footer
 
-Looking at the xref:./design.adoc#mockups[+page mockups+], it is easy to see that all of the five views share identical content; at the top, they contain the company logo, a language toggle, and other widgets associated with shopping cart functionality. At the bottom, they contain some text with Privacy Policy and Contact links. Rather than including this code in each page source file, we can factor it out into two JSP fragments: a header and a footer. We'll then include the fragment files into page views whenever they need to be rendered.
+Looking at the xref:kb/docs/javaee/ecommerce/design.adoc#mockups[+page mockups+], it is easy to see that all of the five views share identical content; at the top, they contain the company logo, a language toggle, and other widgets associated with shopping cart functionality. At the bottom, they contain some text with Privacy Policy and Contact links. Rather than including this code in each page source file, we can factor it out into two JSP fragments: a header and a footer. We'll then include the fragment files into page views whenever they need to be rendered.
 
 For these fragments, let's create a new folder named `jspf`, and place it within `WEB-INF`.
 
@@ -749,7 +749,7 @@
 [[controller]]
 == Creating the Controller Servlet
 
-The controller servlet handles incoming requests by initiating any actions needed to generate the model for the request, then forwarding the request to the appropriate view. For a visual representation, refer back to the xref:./design.adoc#mvcDiagram[+MVC diagram for the AffableBean project+].
+The controller servlet handles incoming requests by initiating any actions needed to generate the model for the request, then forwarding the request to the appropriate view. For a visual representation, refer back to the xref:kb/docs/javaee/ecommerce/design.adoc#mvcDiagram[+MVC diagram for the AffableBean project+].
 
 The IDE provides a Servlet wizard that enables you to define the servlet component in a web application either by including the `@WebServlet` annotation in the generated class, or by adding the necessary directives to the deployment descriptor. In the following steps, you create the `ControllerServlet` and define it in the application context using the link:http://java.sun.com/javaee/6/docs/api/javax/servlet/annotation/WebServlet.html[+`@WebServlet`+] annotation.
 
@@ -767,7 +767,7 @@
 
 http://localhost/AffableBean*/category*
 ----
-The URL patterns should correspond to the views and actions that a user can initiate. Looking at the xref:./design.adoc#index[+welcome page mockup+], a user should be able to select a category. We can therefore associate the `/category` URL with the action of clicking on a category image. Likewise, in the xref:./design.adoc#category[+category page+], users should be able to add an item to the shopping cart. We can therefore specify `/addToCart`.
+The URL patterns should correspond to the views and actions that a user can initiate. Looking at the xref:kb/docs/javaee/ecommerce/design.adoc#index[+welcome page mockup+], a user should be able to select a category. We can therefore associate the `/category` URL with the action of clicking on a category image. Likewise, in the xref:kb/docs/javaee/ecommerce/design.adoc#category[+category page+], users should be able to add an item to the shopping cart. We can therefore specify `/addToCart`.
 
 [start=5]
 . In the URL Pattern(s) field, type in '`/category, /addToCart, /viewCart`'. Patterns are separated by commas. You can add more patterns directly in the servlet class once it's created. 
@@ -849,7 +849,7 @@
 [[implement]]
 == Implementing the Controller Servlet
 
-As previously stated, the controller servlet handles incoming requests by initiating any actions needed to generate the model for the request, then forwarding the request to the appropriate view. For a visual representation, refer back to the xref:./design.adoc#mvcDiagram[+MVC diagram for the AffableBean project+].
+As previously stated, the controller servlet handles incoming requests by initiating any actions needed to generate the model for the request, then forwarding the request to the appropriate view. For a visual representation, refer back to the xref:kb/docs/javaee/ecommerce/design.adoc#mvcDiagram[+MVC diagram for the AffableBean project+].
 
 Looking at the generated code for the new `ControllerServlet`, you can see that the IDE's servlet template employs a `processRequest` method which is called by both `doGet` and `doPost` methods. (You may need to expand the code fold by clicking the plus icon ( image:kb/docs/javaee/ecommerce/code-fold-icon.png[] ) in the editor's left margin to view these methods.) Because this application differentiates between `doGet` and `doPost`, you'll add code directly to these methods and remove the `processRequest` method altogether.
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/security.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/security.adoc
index a857cd7..efbce4f 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/security.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/security.adoc
@@ -36,16 +36,16 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
-3. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
-4. xref:./data-model.adoc[+Designing the Data Model+]
-5. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
-6. xref:./connect-db.adoc[+Connecting the Application to the Database+]
-7. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
-8. xref:./manage-sessions.adoc[+Managing Sessions+]
-9. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
-10. xref:./language.adoc[+Adding Language Support+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
+3. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
+4. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
+5. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+6. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
+7. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
+8. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
+9. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
+10. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
 11. *Securing the Application*
 * <<examineSnapshot,Examining the Project Snapshot>>
 * <<formBased,Setting up Form-Based Authentication>>
@@ -54,10 +54,10 @@
 * <<seeAlso,See Also>>
 
 [start=12]
-. xref:./test-profile.adoc[+Testing and Profiling+]
+. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
 
 [start=13]
-. xref:./conclusion.adoc[+Conclusion+]
+. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
@@ -70,7 +70,7 @@
 
 The second concern, protecting data while it is in transit, typically involves using Transport Layer Security (TLS), or its predecessor, Secure Sockets Layer (SSL), in order to encrypt any data communicated between the client and server.
 
-Upon reviewing the Affable Bean staff's xref:./design.adoc#requirements[+list of requirements+], we'll need to secure the application in the following ways:
+Upon reviewing the Affable Bean staff's xref:kb/docs/javaee/ecommerce/design.adoc#requirements[+list of requirements+], we'll need to secure the application in the following ways:
 
 * Set up a login form for the administration console that enables staff members access to the console's services, and blocks unauthorized users.
 * Configure secure data transport for both the customer checkout process, and for any data transmitted to and from the administration console.
@@ -100,7 +100,7 @@
 * The NetBeans IDE requires the Java Development Kit (JDK) to run properly. If you do not have any of the resources listed above, the JDK should be the first item that you download and install.
 * The NetBeans IDE Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
 * The NetBeans IDE Java Bundle also includes the GlassFish server, which you require for this tutorial. You could link:http://glassfish.dev.java.net/public/downloadsindex.html[+download the GlassFish server independently+], but the version provided with the NetBeans download has the added benefit of being automatically registered with the IDE.
-* You can follow this tutorial unit without having completed previous units. To do so, see the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+* You can follow this tutorial unit without having completed previous units. To do so, see the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 * Java EE security is an expansive topic that spans well beyond the scope of this tutorial unit. In order to fully appreciate the range of implementation options that are available to you, refer to the link:http://download.oracle.com/javaee/6/tutorial/doc/gijrp.html[+Java EE 6 Tutorial, Part VII: Security+]. This unit provides ample references to relevant sub-sections within the Java EE Tutorial.
 
 
@@ -113,11 +113,11 @@
 1. Open the link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot10.zip[+project snapshot+] for this tutorial unit in the IDE. Click the Open Project ( image:kb/docs/javaee/ecommerce/open-project-btn.png[] ) button and use the wizard to navigate to the location on your computer where you downloaded the project.
 2. Run the project ( image:kb/docs/javaee/ecommerce/run-project-btn.png[] ) to ensure that it is properly configured with your database and application server. 
 
-If you receive an error when running the project, revisit the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+If you receive an error when running the project, revisit the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 
 
 [start=3]
-. Test the application's functionality in your browser. This snapshot provides an implementation of the administration console, as specified in the xref:./design.adoc#requirements[+customer requirements+]. To examine the administration console, enter the following URL in your browser:
+. Test the application's functionality in your browser. This snapshot provides an implementation of the administration console, as specified in the xref:kb/docs/javaee/ecommerce/design.adoc#requirements[+customer requirements+]. To examine the administration console, enter the following URL in your browser:
 
 [source,java]
 ----
@@ -129,7 +129,7 @@
 
 The administration console enables you to view all customers and orders contained in the database. When you click either of the links in the left panel, the page will update to display a table listing customers or orders, depending on your choice. (The 'log out' link currently does not "log out" an authenticated user.) 
 
-*Note:* The customers and orders that you see displayed in the administration console are dependent on the data stored in your database. You can create new records by stepping through the checkout process in the website. Alternatively, you can run the link:https://netbeans.org/project_downloads/samples/Samples/JavaEE/ecommerce/affablebean_sample_data.sql[+affablebean_sample_data.sql+] script on your `affablebean` database to have your data correspond to the records displayed in the following screenshots. (If you need help with this task, refer to step 2 in the xref:./setup.adoc[+setup instructions+].)
+*Note:* The customers and orders that you see displayed in the administration console are dependent on the data stored in your database. You can create new records by stepping through the checkout process in the website. Alternatively, you can run the link:https://netbeans.org/project_downloads/samples/Samples/JavaEE/ecommerce/affablebean_sample_data.sql[+affablebean_sample_data.sql+] script on your `affablebean` database to have your data correspond to the records displayed in the following screenshots. (If you need help with this task, refer to step 2 in the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+].)
 
 
 image::kb/docs/javaee/ecommerce/admin-console-customers.png[title="Click the 'view all customers' link to view all customer records in a table"] 
@@ -166,7 +166,7 @@
 |===
 
 [start=5]
-. In the browser, return to the customer website by clicking the Affable Bean logo in the upper left corner of the web page. Step through the entire xref:./design.adoc#business[+business process flow+] of the application and note that the checkout process is handled over a non-secure channel. 
+. In the browser, return to the customer website by clicking the Affable Bean logo in the upper left corner of the web page. Step through the entire xref:kb/docs/javaee/ecommerce/design.adoc#business[+business process flow+] of the application and note that the checkout process is handled over a non-secure channel. 
 
 When customers reach the checkout page, they are expected to submit sensitive personal information in order to complete their orders. Part of your task in this tutorial unit is to ensure that this data is sent over a secure channel. Because the administration console also enables authenticated users to view customers' personal information, it too needs to be configured so that data is sent over the Internet securely.
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/setup-dev-environ.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/setup-dev-environ.adoc
index 989c79a..8540128 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/setup-dev-environ.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/setup-dev-environ.adoc
@@ -35,8 +35,8 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
 3. *Setting up the Development Environment*
 * <<create,Creating a Web Project>>
 * <<run,Running the Web Project>>
@@ -44,34 +44,34 @@
 * <<seeAlso,See Also>>
 
 [start=4]
-. xref:./data-model.adoc[+Designing the Data Model+]
+. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
 
 [start=5]
-. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
 
 [start=6]
-. xref:./connect-db.adoc[+Connecting the Application to the Database+]
+. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
 
 [start=7]
-. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
+. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
 
 [start=8]
-. xref:./manage-sessions.adoc[+Managing Sessions+]
+. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
 
 [start=9]
-. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
+. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
 
 [start=10]
-. xref:./language.adoc[+Adding Language Support+]
+. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
 
 [start=11]
-. xref:./security.adoc[+Securing the Application+]
+. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
 
 [start=12]
-. xref:./test-profile.adoc[+Testing and Profiling+]
+. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
 
 [start=13]
-. xref:./conclusion.adoc[+Conclusion+]
+. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
@@ -133,7 +133,7 @@
 [start=7]
 . For Java EE Version, select Java EE 6 Web. 
 
-The application that you create makes use of various Java EE 6 features, namely servlet annotations (new in the link:http://jcp.org/en/jsr/summary?id=315[+Servlet 3.0 Specification+]), and EJBs used directly in servlet containers (new in the link:http://jcp.org/en/jsr/summary?id=318[+EJB 3.1 Specification+]). Both Servlet 3.0 and EJB 3.1 are part of the Java EE 6 platform, therefore you require an EE-6 compliant server such as GlassFish v3 to work through this tutorial. For more information, see xref:./entity-session.adoc#specification[+About Specifications and Implementations+].
+The application that you create makes use of various Java EE 6 features, namely servlet annotations (new in the link:http://jcp.org/en/jsr/summary?id=315[+Servlet 3.0 Specification+]), and EJBs used directly in servlet containers (new in the link:http://jcp.org/en/jsr/summary?id=318[+EJB 3.1 Specification+]). Both Servlet 3.0 and EJB 3.1 are part of the Java EE 6 platform, therefore you require an EE-6 compliant server such as GlassFish v3 to work through this tutorial. For more information, see xref:kb/docs/javaee/ecommerce/entity-session.adoc#specification[+About Specifications and Implementations+].
 
 [start=8]
 . Make sure that the 'Enable Contexts and Dependency Injection' option is deselected. This option is specific to the Contexts and Dependency Injection (CDI) technology, specified by link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+], and is not used in this tutorial. For more information, see xref:kb/docs/javaee/cdi-intro.adoc[+Getting Started with Contexts and Dependency Injection and JSF 2.0+]. 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/setup.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/setup.adoc
index 6fd061f..f5132bb 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/setup.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/setup.adoc
@@ -35,25 +35,25 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
-3. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
-4. xref:./data-model.adoc[+Designing the Data Model+]
-5. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
-6. xref:./connect-db.adoc[+Connecting the Application to the Database+]
-7. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
-8. xref:./manage-sessions.adoc[+Managing Sessions+]
-9. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
-10. xref:./language.adoc[+Adding Language Support+]
-11. xref:./security.adoc[+Securing the Application+]
-12. xref:./test-profile.adoc[+Testing and Profiling+]
-13. xref:./conclusion.adoc[+Conclusion+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
+3. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
+4. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
+5. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+6. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
+7. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
+8. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
+9. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
+10. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
+11. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
+12. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
+13. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
 If you want to follow a tutorial unit without having completed previous units, you need to perform some preliminary steps in order to set up your development environment.
 
-1. *Set up your MySQL database server.* Follow the steps outlined in: xref:./setup-dev-environ.adoc#communicate[+Communicating with the Database Server+].
+1. *Set up your MySQL database server.* Follow the steps outlined in: xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc#communicate[+Communicating with the Database Server+].
 2. *Create the `affablebean` schema on the database server, and populate the database with sample data:*
 .. Click on link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252Faffablebean.sql[+affablebean.sql+] and copy (Ctrl-C; ⌘-C on Mac) the entire contents of the file.
 .. Open the IDE's SQL editor. In the Services window (Ctrl-5; ⌘-5 on Mac), right-click the `affablebean` database connection ( image:kb/docs/javaee/ecommerce/db-connection-node.png[] ) node and choose Execute Command. 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/test-profile.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/test-profile.adoc
index 62fe4be..a4f58a3 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/test-profile.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/test-profile.adoc
@@ -36,17 +36,17 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
-3. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
-4. xref:./data-model.adoc[+Designing the Data Model+]
-5. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
-6. xref:./connect-db.adoc[+Connecting the Application to the Database+]
-7. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
-8. xref:./manage-sessions.adoc[+Managing Sessions+]
-9. xref:./transaction.adoc[+Integrating Transactional Business Logic+]
-10. xref:./language.adoc[+Adding Language Support+]
-11. xref:./security.adoc[+Securing the Application+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
+3. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
+4. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
+5. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+6. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
+7. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
+8. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
+9. xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+]
+10. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
+11. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
 12. *Testing and Profiling*
 * <<test,Testing with JMeter>>
 * <<profile,Using the NetBeans Profiler>>
@@ -54,7 +54,7 @@
 * <<seeAlso,See Also>>
 
 [start=13]
-. xref:./conclusion.adoc[+Conclusion+]
+. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
@@ -87,7 +87,7 @@
 * The NetBeans IDE requires the Java Development Kit (JDK) to run properly. If you do not have any of the resources listed above, the JDK should be the first item that you download and install.
 * The NetBeans IDE Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
 * The NetBeans IDE Java Bundle also includes the GlassFish server, which you require for this tutorial. You could link:http://glassfish.dev.java.net/public/downloadsindex.html[+download the GlassFish server independently+], but the version provided with the NetBeans download has the added benefit of being automatically registered with the IDE.
-* You can follow this tutorial unit without having completed previous units. To do so, see the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+* You can follow this tutorial unit without having completed previous units. To do so, see the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 * *You do not need to download JMeter for its use in this tutorial.* Instead, you install the NetBeans JMeter Kit plugin, which includes the JMeter distribution. You will therefore require an Internet connection at the point when you install the plugin in the tutorial. JMeter can be downloaded independently from link:http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi[+http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi+].
 * The JMeter Kit plugin for NetBeans 6.8 installs JMeter version 2.2 (released June 2006). The plugin for NetBeans 6.9 installs JMeter version 2.4 (released July 2010). There is a significant difference between these two versions.
 
@@ -95,7 +95,7 @@
 [[test]]
 == Testing with JMeter
 
-Begin by examining the `AffableBean` tutorial application. Then install the JMeter Kit plugin using the IDE's Plugins Manager. Launch JMeter from the IDE, and proceed by creating a test plan based on the tutorial xref:./design.adoc#mockups[+use-case+]. Finally, explore some of JMeter's facilities for functional and load testing.
+Begin by examining the `AffableBean` tutorial application. Then install the JMeter Kit plugin using the IDE's Plugins Manager. Launch JMeter from the IDE, and proceed by creating a test plan based on the tutorial xref:kb/docs/javaee/ecommerce/design.adoc#mockups[+use-case+]. Finally, explore some of JMeter's facilities for functional and load testing.
 
 * <<install,Install the JMeter Kit Plugin>>
 * <<createTestPlan,Create a Test Plan>>
@@ -109,7 +109,7 @@
 1. Open the link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_complete.zip[+`AffableBean` project+] in the IDE. Click the Open Project ( image:kb/docs/javaee/ecommerce/open-project-btn.png[] ) button and use the wizard to navigate to the location on your computer where you downloaded the project.
 2. Run the project ( image:kb/docs/javaee/ecommerce/run-project-btn.png[] ) to ensure that it is properly configured with your database and application server. 
 
-If you receive an error when running the project, revisit the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL. If you want to log into the project's administration console (not required in this tutorial unit), you'll need to create a user named `nbuser` on the GlassFish server. This task is described in Unit 11, xref:./security.adoc#createUsers[+Securing the Application: Create Users and/or Groups on the Server+].
+If you receive an error when running the project, revisit the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL. If you want to log into the project's administration console (not required in this tutorial unit), you'll need to create a user named `nbuser` on the GlassFish server. This task is described in Unit 11, xref:kb/docs/javaee/ecommerce/security.adoc#createUsers[+Securing the Application: Create Users and/or Groups on the Server+].
 
 
 [start=3]
@@ -140,7 +140,7 @@
 [[createTestPlan]]
 === Create a Test Plan
 
-To demonstrate how to create a test plan in JMeter, we'll base our plan on the tutorial use-case, which was presented in xref:./design.adoc#mockups[+Designing the Application+]. A list of user-initiated requests to the server, based on the given use-case, might look something like the following:
+To demonstrate how to create a test plan in JMeter, we'll base our plan on the tutorial use-case, which was presented in xref:kb/docs/javaee/ecommerce/design.adoc#mockups[+Designing the Application+]. A list of user-initiated requests to the server, based on the given use-case, might look something like the following:
 
 |===
 |Use-Case |Server Request 
@@ -538,9 +538,9 @@
 
 The following example aims to familiarize you with the Profiler's interface, and demonstrates how you can utilize its functionality to ensure that the `AffableBean` application will continue to perform efficiently after it has been serving client requests for some time. In this example, you download and add a new JMeter test plan, link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FuseCaseTestRandom.jmx[+`useCaseTestRandom.jmx`+], to the project. The new test plan is an advanced version of the one you created earlier in this unit. It makes use of JMeter's conditional and random controllers to adapt a slightly more realistic simulation of the tutorial's use-case.
 
-Consider that only a small fraction of visits to an e-commerce site will result in a completed order. If you recall from units 8 and 9, xref:./manage-sessions.adoc[+Managing Sessions+] and xref:./transaction.adoc[+Integrating Transactional Business Logic+], the application terminates the user session upon a successfully completed order. In other words, with each completed order, the server is able to free up any resources that were previously tied to the session. Now, consider the far more common scenario of a user not completing an order, but simply navigating away from the site. Based on the session time-out which you specified in the application's web deployment descriptor, the server will need to wait a period of time before it can free any resources tied to the session. The new load script, `useCaseTestRandom.jmx`, is configured so that on average one in ten user threads completes an order. Our goal by running this load script is to determine whether the application's host environment (i.e., the GlassFish server running locally on your computer) has enough memory capacity to provide continuous, fast service for an extended period of time.
+Consider that only a small fraction of visits to an e-commerce site will result in a completed order. If you recall from units 8 and 9, xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+] and xref:kb/docs/javaee/ecommerce/transaction.adoc[+Integrating Transactional Business Logic+], the application terminates the user session upon a successfully completed order. In other words, with each completed order, the server is able to free up any resources that were previously tied to the session. Now, consider the far more common scenario of a user not completing an order, but simply navigating away from the site. Based on the session time-out which you specified in the application's web deployment descriptor, the server will need to wait a period of time before it can free any resources tied to the session. The new load script, `useCaseTestRandom.jmx`, is configured so that on average one in ten user threads completes an order. Our goal by running this load script is to determine whether the application's host environment (i.e., the GlassFish server running locally on your computer) has enough memory capacity to provide continuous, fast service for an extended period of time.
 
-*Note:* Recall that in xref:./manage-sessions.adoc#time-out[+Managing Sessions: Handling Session Time-Outs+], you set the `AffableBean` session time-out to 10 minutes.
+*Note:* Recall that in xref:kb/docs/javaee/ecommerce/manage-sessions.adoc#time-out[+Managing Sessions: Handling Session Time-Outs+], you set the `AffableBean` session time-out to 10 minutes.
 
 1. Download link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FuseCaseTestRandom.jmx[+`useCaseTestRandom.jmx`+] and add it to the `AffableBean` project. To add it to the project, copy it from your computer's file system (Ctrl-C; ⌘-C on Mac), then in the IDE, open the Files window (Ctrl-2; ⌘-2 on Mac), right-click the `jmeter` folder and choose Paste. 
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/ecommerce/transaction.adoc b/modules/ROOT/pages/kb/docs/javaee/ecommerce/transaction.adoc
index 334af1b..2adc2ca 100644
--- a/modules/ROOT/pages/kb/docs/javaee/ecommerce/transaction.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/ecommerce/transaction.adoc
@@ -36,14 +36,14 @@
 
 == Tutorial Contents
 
-1. xref:./intro.adoc[+Introduction+]
-2. xref:./design.adoc[+Designing the Application+]
-3. xref:./setup-dev-environ.adoc[+Setting up the Development Environment+]
-4. xref:./data-model.adoc[+Designing the Data Model+]
-5. xref:./page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
-6. xref:./connect-db.adoc[+Connecting the Application to the Database+]
-7. xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+]
-8. xref:./manage-sessions.adoc[+Managing Sessions+]
+1. xref:kb/docs/javaee/ecommerce/intro.adoc[+Introduction+]
+2. xref:kb/docs/javaee/ecommerce/design.adoc[+Designing the Application+]
+3. xref:kb/docs/javaee/ecommerce/setup-dev-environ.adoc[+Setting up the Development Environment+]
+4. xref:kb/docs/javaee/ecommerce/data-model.adoc[+Designing the Data Model+]
+5. xref:kb/docs/javaee/ecommerce/page-views-controller.adoc[+Preparing the Page Views and Controller Servlet+]
+6. xref:kb/docs/javaee/ecommerce/connect-db.adoc[+Connecting the Application to the Database+]
+7. xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+]
+8. xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+Managing Sessions+]
 9. *Integrating Transactional Business Logic*
 * <<overview,Overview of the Transaction>>
 * <<projSnapshot,Examining the Project Snapshot>>
@@ -57,20 +57,20 @@
 * <<seeAlso,See Also>>
 
 [start=10]
-. xref:./language.adoc[+Adding Language Support+]
+. xref:kb/docs/javaee/ecommerce/language.adoc[+Adding Language Support+]
 
 [start=11]
-. xref:./security.adoc[+Securing the Application+]
+. xref:kb/docs/javaee/ecommerce/security.adoc[+Securing the Application+]
 
 [start=12]
-. xref:./test-profile.adoc[+Testing and Profiling+]
+. xref:kb/docs/javaee/ecommerce/test-profile.adoc[+Testing and Profiling+]
 
 [start=13]
-. xref:./conclusion.adoc[+Conclusion+]
+. xref:kb/docs/javaee/ecommerce/conclusion.adoc[+Conclusion+]
 
 image::kb/docs/javaee/ecommerce/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
 
-The purpose of this tutorial unit is to demonstrate how you can use the object-relational mapping (ORM) capabilities provided by EJB and JPA technologies to gather data from a web request and write to a back-end database. Of particular interest is EJB's support for _container-managed_ transactions (refer to the xref:./entity-session.adoc#gf-java-ee-container[+GlassFish v3 Java EE Container diagram+]). By applying several non-intrusive annotations, you can transform your EJB class into a transaction manager, thereby ensuring the integrity of the data contained in the database. In other words, the transaction manager handles multiple write actions to the database as a single unit of work. It ensures that the work-unit is performed either in its entirety or, if failure occurs at some point during the process, any changes made are rolled back to the database's pre-transaction state.
+The purpose of this tutorial unit is to demonstrate how you can use the object-relational mapping (ORM) capabilities provided by EJB and JPA technologies to gather data from a web request and write to a back-end database. Of particular interest is EJB's support for _container-managed_ transactions (refer to the xref:kb/docs/javaee/ecommerce/entity-session.adoc#gf-java-ee-container[+GlassFish v3 Java EE Container diagram+]). By applying several non-intrusive annotations, you can transform your EJB class into a transaction manager, thereby ensuring the integrity of the data contained in the database. In other words, the transaction manager handles multiple write actions to the database as a single unit of work. It ensures that the work-unit is performed either in its entirety or, if failure occurs at some point during the process, any changes made are rolled back to the database's pre-transaction state.
 
 Within the context of the `AffableBean` application, this tutorial unit focuses on processing a customer order when data from the checkout form is received. You create an `OrderManager` EJB to process the checkout form data along with the session `cart` object. The `OrderManager` performs a transaction that involves multiple write actions to the `affablebean` database. If any of the actions fails, the transaction is rolled back.
 
@@ -97,7 +97,7 @@
 * The NetBeans IDE requires the Java Development Kit (JDK) to run properly. If you do not have any of the resources listed above, the JDK should be the first item that you download and install.
 * The NetBeans IDE Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
 * The NetBeans IDE Java Bundle also includes the GlassFish server, which you require for this tutorial. You could link:http://glassfish.dev.java.net/public/downloadsindex.html[+download the GlassFish server independently+], but the version provided with the NetBeans download has the added benefit of being automatically registered with the IDE.
-* You can follow this tutorial unit without having completed previous units. To do so, see the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+* You can follow this tutorial unit without having completed previous units. To do so, see the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 
 
 
@@ -134,18 +134,18 @@
 
 Begin by examining the project snapshot associated with this tutorial unit.
 
-1. Open the link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot7.zip[+project snapshot+] for this tutorial unit in the IDE. Click the Open Project ( image:kb/docs/javaee/ecommerce/open-project-btn.png[] ) button and use the wizard to navigate to the location on your computer where you downloaded the project. If you are proceeding from the xref:./manage-sessions.adoc[+previous tutorial unit+], note that this project snapshot is identical to the state of the project after completing the previous unit, but with the following exceptions:
+1. Open the link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot7.zip[+project snapshot+] for this tutorial unit in the IDE. Click the Open Project ( image:kb/docs/javaee/ecommerce/open-project-btn.png[] ) button and use the wizard to navigate to the location on your computer where you downloaded the project. If you are proceeding from the xref:kb/docs/javaee/ecommerce/manage-sessions.adoc[+previous tutorial unit+], note that this project snapshot is identical to the state of the project after completing the previous unit, but with the following exceptions:
 * The `confirmation.jsp` page is fully implemented.
 * The `affablebean.css` stylesheet includes rules specific to the `confirmation.jsp` page implementation.
 
 [start=2]
 . Run the project ( image:kb/docs/javaee/ecommerce/run-project-btn.png[] ) to ensure that it is properly configured with your database and application server. 
 
-If you receive an error when running the project, revisit the xref:./setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
+If you receive an error when running the project, revisit the xref:kb/docs/javaee/ecommerce/setup.adoc[+setup instructions+], which describe how to prepare the database and establish connectivity between the IDE, GlassFish, and MySQL.
 
 
 [start=3]
-. Test the application's functionality in your browser. In particular, step through the entire xref:./design.adoc#business[+business process flow+]. When you click the submit an order from the checkout page, the confirmation page currently displays as follows: 
+. Test the application's functionality in your browser. In particular, step through the entire xref:kb/docs/javaee/ecommerce/design.adoc#business[+business process flow+]. When you click the submit an order from the checkout page, the confirmation page currently displays as follows: 
 
 image::kb/docs/javaee/ecommerce/confirmation-page-start.png[title="Confirmation page displays without any data relating to the processed order"] 
 
@@ -440,7 +440,7 @@
 [[entityManager]]
 == Utilizing JPA's EntityManager
 
-As was mentioned in xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+], the `EntityManager` API is included in JPA, and is responsible for performing persistence operations on the database. In the `AffableBean` project, all of the EJBs employ the `EntityManager`. To demonstrate, open any of the session facade beans in the editor and note that the class uses the `@PersistenceContext` annotation to express a dependency on a container-managed `EntityManager` and its associated persistence context (`AffableBeanPU`, as specified in the `persistence.xml` file). For example, the `ProductFacade` bean looks as follows:
+As was mentioned in xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+], the `EntityManager` API is included in JPA, and is responsible for performing persistence operations on the database. In the `AffableBean` project, all of the EJBs employ the `EntityManager`. To demonstrate, open any of the session facade beans in the editor and note that the class uses the `@PersistenceContext` annotation to express a dependency on a container-managed `EntityManager` and its associated persistence context (`AffableBeanPU`, as specified in the `persistence.xml` file). For example, the `ProductFacade` bean looks as follows:
 
 
 [source,java]
@@ -578,7 +578,7 @@
 At this stage you might assume that, transaction or no transaction, the `OrderManager` is now able to successfully write entity objects to the database. Run the project and see how customer orders are currently being processed.
 
 1. Press F6 (fn-F6 on Mac) to run the project.
-2. Step through the xref:./design.adoc#business[+business process flow+]. When you arrive at the checkout page, be sure to enter data that you know will not cause SQL errors to occur when the write actions are performed. (Validation is discussed in a later tutorial unit.) For example, enter the following into the checkout form:
+2. Step through the xref:kb/docs/javaee/ecommerce/design.adoc#business[+business process flow+]. When you arrive at the checkout page, be sure to enter data that you know will not cause SQL errors to occur when the write actions are performed. (Validation is discussed in a later tutorial unit.) For example, enter the following into the checkout form:
 * *name:* `Hugo Reyes`
 * *email:* `hurley@mrcluck.com`
 * *phone:* `606252924`
@@ -808,7 +808,7 @@
 
 Press Shift-Esc on the Output window to maximize it.
 
-As shown in the above image, the green text indicates output from EclipseLink. Recall how in xref:./entity-session.adoc[+Adding Entity Classes and Session Beans+] you set EclipseLink's logging level to `FINEST` in the persistence unit. Being able to examine this output is key to understanding how the persistence provider interacts with the database and is a great help when you need to debug your project.
+As shown in the above image, the green text indicates output from EclipseLink. Recall how in xref:kb/docs/javaee/ecommerce/entity-session.adoc[+Adding Entity Classes and Session Beans+] you set EclipseLink's logging level to `FINEST` in the persistence unit. Being able to examine this output is key to understanding how the persistence provider interacts with the database and is a great help when you need to debug your project.
 
 You've now successfully integrated the transaction into the `AffableBean` project. You can link:https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot8.zip[+download snapshot 8+] to examine code that completes the request-response cycle when a checkout form is submitted. The snapshot implements a `getOrderDetails` method in the `OrderManager`, which gathers all details pertaining to the placed order. If the transaction succeeds, the `ControllerServlet` places order details in the request scope, destroys the user's `cart` object, terminates the session, and forwards the request to the confirmation view. If the transaction fails, the `ControllerServlet` flags an error and forwards the response to the checkout view, enabling the user to attempt a resubmit.
 
@@ -887,7 +887,7 @@
 
 The purpose of server-side validation is to ensure that each piece of data is in a format that is ready for further processing or is acceptable for storage. By "format", we mean both the data type as well as the size of the piece of data. The generated JPA entity classes are guaranteed to map their properties to the appropriate data types of the corresponding database table columns. When relying on these entity classes, we need to not only make sure that user data can be applied to create (or update) entity classes, but that the size of the data is appropriate for the data types of the database columns.
 
-To illustrate an example, consider the checkout form's credit card number field. Client-side validation checks that the entered data does not include letters.^<<footnote2,[2]>>^ Because the `maxlength` attribute in the HTML markup is set to `19`, users cannot enter more than 19 characters into this field. Server-side validation also places a limit at 19 characters. Keep in mind that the data type of the `cc_number` column in the database's `customer` table is: `VARCHAR(19)` (Refer to step 3 of xref:./data-model.adoc#addProperties[+Designing the Data Model: Adding Entity Properties+].) Now, consider what would happen if the data type of the `cc_number` column is set to `VARCHAR(16)`, and a user enters a number that is 19 characters long. When the checkout form is submitted, the `creditcard` parameter is extracted from the request and converted into a `String` so that it becomes the `ccNumber` property in a newly created `Customer` object. Because 16 is the maximum number of characters the database column will hold, the database server will either truncate the number to 16 characters or produce a `MysqlDataTruncation` error, depending on the SQL mode set for the server. (For more information on the `VARCHAR` data type, see link:http://dev.mysql.com/doc/refman/5.1/en/char.html[+10.4.1. The CHAR and VARCHAR Types+].) In this manner, by not having client and server-side validation properly handle the size (i.e., length) of the data received for a credit card number, we risk a failed attempt at placing an order, or perhaps even worse, a truncated credit card number, which obviously won't allow payment.
+To illustrate an example, consider the checkout form's credit card number field. Client-side validation checks that the entered data does not include letters.^<<footnote2,[2]>>^ Because the `maxlength` attribute in the HTML markup is set to `19`, users cannot enter more than 19 characters into this field. Server-side validation also places a limit at 19 characters. Keep in mind that the data type of the `cc_number` column in the database's `customer` table is: `VARCHAR(19)` (Refer to step 3 of xref:kb/docs/javaee/ecommerce/data-model.adoc#addProperties[+Designing the Data Model: Adding Entity Properties+].) Now, consider what would happen if the data type of the `cc_number` column is set to `VARCHAR(16)`, and a user enters a number that is 19 characters long. When the checkout form is submitted, the `creditcard` parameter is extracted from the request and converted into a `String` so that it becomes the `ccNumber` property in a newly created `Customer` object. Because 16 is the maximum number of characters the database column will hold, the database server will either truncate the number to 16 characters or produce a `MysqlDataTruncation` error, depending on the SQL mode set for the server. (For more information on the `VARCHAR` data type, see link:http://dev.mysql.com/doc/refman/5.1/en/char.html[+10.4.1. The CHAR and VARCHAR Types+].) In this manner, by not having client and server-side validation properly handle the size (i.e., length) of the data received for a credit card number, we risk a failed attempt at placing an order, or perhaps even worse, a truncated credit card number, which obviously won't allow payment.
 
 Server-side validation in the `AffableBean` project is implemented by means of a `Validator` class. The `ControllerServlet` creates a `Validator` object and calls its `validateForm` method on the user data:
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/entappclient.adoc b/modules/ROOT/pages/kb/docs/javaee/entappclient.adoc
index 9efc472..5a3c54d 100644
--- a/modules/ROOT/pages/kb/docs/javaee/entappclient.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/entappclient.adoc
@@ -250,8 +250,8 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
 You can find more information about using EJB Enterprise Beans in the link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6 Tutorial+].
diff --git a/modules/ROOT/pages/kb/docs/javaee/index.adoc b/modules/ROOT/pages/kb/docs/javaee/index.adoc
index ee6f07a..0183c9f 100644
--- a/modules/ROOT/pages/kb/docs/javaee/index.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/index.adoc
@@ -26,29 +26,29 @@
 :toc-title:
 :description: JavaEE Tutorials
 
-- xref:./cdi-validate.adoc[Applying @Alternative Beans and Lifecycle Annotations]
-- xref:./secure-ejb.adoc[Building Secure Enterprise Beans in Java EE]
-- xref:./entappclient.adoc[Creating and Running an Application Client on the GlassFish Server]
-- xref:./maven-entapp.adoc[Creating an Enterprise Application Using Maven]
-- xref:./javaee-entapp-ejb.adoc[Creating an Enterprise Application with EJB 3.1]
-- xref:./cdi-intro.adoc[Getting Started with Contexts and Dependency Injection and JSF 2.x]
-- xref:./javaee-gettingstarted.adoc[Getting Started with Java EE Applications]
-- xref:./javaee-intro.adoc[Introduction to Support for Java EE Technology in NetBeans IDE]
-- xref:./index.adoc[JavaEE Tutorials]
-- xref:./profiler-javaee.adoc[Profiling an Enterprise Application in NetBeans IDE]
-- xref:./maven-entapp-testing.adoc[Testing a Maven Enterprise Application]
-- xref:./maven-osgiservice-cdi.adoc[Using CDI to Inject OSGi Bundles as Services in NetBeans IDE]
-- xref:./jpa-eclipselink-screencast.adoc[Using JPA Support with EclipseLink]
-- xref:./javaee-entapp-junit.adoc[Using the Embedded EJB Container to Test Enterprise Applications]
-- xref:./maven-websocketapi.adoc[Using the WebSocket API in a Web Application]
-- xref:./weblogic-javaee-m1-screencast.adoc[Video of Deploying a Web Application to the Oracle WebLogic Server]
-- xref:./javaee-gettingstarted-screencast.adoc[Video of Getting Started with Java EE Applications]
-- xref:./javaee-gettingstarted-js-screencast.adoc[Video of Getting Started with JavaScript Client Development in Java EE Applications]
-- xref:./javaee-gettingstarted-pf-screencast.adoc[Video of Getting Started with PrimeFaces Development in Java EE Applications]
-- xref:./maven-primefaces-screencast.adoc[Video of PrimeFaces Development with NetBeans IDE]
-- xref:./maven-websocketapi-screencast.adoc[Video of Using the WebSocket API in a Web Application]
-- xref:./cdi-events.adoc[Working with Events in CDI]
-- xref:./cdi-inject.adoc[Working with Injection and Qualifiers in CDI]
+- xref:kb/docs/javaee/cdi-validate.adoc[Applying @Alternative Beans and Lifecycle Annotations]
+- xref:kb/docs/javaee/secure-ejb.adoc[Building Secure Enterprise Beans in Java EE]
+- xref:kb/docs/javaee/entappclient.adoc[Creating and Running an Application Client on the GlassFish Server]
+- xref:kb/docs/javaee/maven-entapp.adoc[Creating an Enterprise Application Using Maven]
+- xref:kb/docs/javaee/javaee-entapp-ejb.adoc[Creating an Enterprise Application with EJB 3.1]
+- xref:kb/docs/javaee/cdi-intro.adoc[Getting Started with Contexts and Dependency Injection and JSF 2.x]
+- xref:kb/docs/javaee/javaee-gettingstarted.adoc[Getting Started with Java EE Applications]
+- xref:kb/docs/javaee/javaee-intro.adoc[Introduction to Support for Java EE Technology in NetBeans IDE]
+- xref:kb/docs/javaee/index.adoc[JavaEE Tutorials]
+- xref:kb/docs/javaee/profiler-javaee.adoc[Profiling an Enterprise Application in NetBeans IDE]
+- xref:kb/docs/javaee/maven-entapp-testing.adoc[Testing a Maven Enterprise Application]
+- xref:kb/docs/javaee/maven-osgiservice-cdi.adoc[Using CDI to Inject OSGi Bundles as Services in NetBeans IDE]
+- xref:kb/docs/javaee/jpa-eclipselink-screencast.adoc[Using JPA Support with EclipseLink]
+- xref:kb/docs/javaee/javaee-entapp-junit.adoc[Using the Embedded EJB Container to Test Enterprise Applications]
+- xref:kb/docs/javaee/maven-websocketapi.adoc[Using the WebSocket API in a Web Application]
+- xref:kb/docs/javaee/weblogic-javaee-m1-screencast.adoc[Video of Deploying a Web Application to the Oracle WebLogic Server]
+- xref:kb/docs/javaee/javaee-gettingstarted-screencast.adoc[Video of Getting Started with Java EE Applications]
+- xref:kb/docs/javaee/javaee-gettingstarted-js-screencast.adoc[Video of Getting Started with JavaScript Client Development in Java EE Applications]
+- xref:kb/docs/javaee/javaee-gettingstarted-pf-screencast.adoc[Video of Getting Started with PrimeFaces Development in Java EE Applications]
+- xref:kb/docs/javaee/maven-primefaces-screencast.adoc[Video of PrimeFaces Development with NetBeans IDE]
+- xref:kb/docs/javaee/maven-websocketapi-screencast.adoc[Video of Using the WebSocket API in a Web Application]
+- xref:kb/docs/javaee/cdi-events.adoc[Working with Events in CDI]
+- xref:kb/docs/javaee/cdi-inject.adoc[Working with Injection and Qualifiers in CDI]
 
 
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/javaee-entapp-ejb.adoc b/modules/ROOT/pages/kb/docs/javaee/javaee-entapp-ejb.adoc
index 17d49c0..c643387 100644
--- a/modules/ROOT/pages/kb/docs/javaee/javaee-entapp-ejb.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/javaee-entapp-ejb.adoc
@@ -40,7 +40,7 @@
 
 Before starting this tutorial you may want to familiarize yourself with the following document.
 
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 
 *Tutorial Exercises*
 
@@ -727,8 +727,8 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/web/quickstart-webapps.adoc[+Introduction to Developing Web Applications+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/javaee-entapp-junit.adoc b/modules/ROOT/pages/kb/docs/javaee/javaee-entapp-junit.adoc
index 174762c..22a3bab 100644
--- a/modules/ROOT/pages/kb/docs/javaee/javaee-entapp-junit.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/javaee-entapp-junit.adoc
@@ -72,7 +72,7 @@
 
 Before starting this tutorial you may want to familiarize yourself with the following documents.
 
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/java/junit-intro.adoc[+Writing JUnit Tests in NetBeans IDE+]
 * link:http://download.oracle.com/docs/cd/E19798-01/821-1754/gjlde/index.html[+Using the EJB 3.1 Embeddable API with Embedded GlassFish Server+]
 
@@ -617,8 +617,8 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/web/quickstart-webapps.adoc[+Introduction to Developing Web Applications+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/javaee-gettingstarted-screencast.adoc b/modules/ROOT/pages/kb/docs/javaee/javaee-gettingstarted-screencast.adoc
index 32f9b86..bd09ac6 100644
--- a/modules/ROOT/pages/kb/docs/javaee/javaee-gettingstarted-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/javaee-gettingstarted-screencast.adoc
@@ -45,7 +45,7 @@
 
 == Related links
 
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications in NetBeans IDE+]
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications in NetBeans IDE+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
 * xref:kb/docs/web/jsf20-support.adoc[+JSF 2.0 Support in NetBeans IDE 6.8+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/javaee/javaee-gettingstarted.adoc b/modules/ROOT/pages/kb/docs/javaee/javaee-gettingstarted.adoc
index f64d2bd..34d9c54 100644
--- a/modules/ROOT/pages/kb/docs/javaee/javaee-gettingstarted.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/javaee-gettingstarted.adoc
@@ -108,7 +108,7 @@
 
 The session facade for the entity class in this application is a stateless session bean. The Enterprise JavaBean (EJB) 3.1 architecture introduced as part of the Java EE 6 specification enables you to create session beans without the business interfaces that were required in EJB 3.0. The Java EE 6 specification also allows you to package EJB components directly in a WAR archive. This simplifies development of smaller web applications by eliminating the need to create separate EJB modules that are packaged as a JAR archive in an EAR archive. However, for larger enterprise applications that are distributed across different machines, you will still want to create EAR archives to separate your business logic from the presentation layer.
 
-For more about using EJB 3.1 in the IDE, see the tutorial xref:./javaee-entapp-ejb.adoc[+Creating an Enterprise Application with EJB 3.1+].
+For more about using EJB 3.1 in the IDE, see the tutorial xref:kb/docs/javaee/javaee-entapp-ejb.adoc[+Creating an Enterprise Application with EJB 3.1+].
 
 For more details about entity classes, see the chapter link:http://docs.oracle.com/javaee/7/tutorial/doc/persistence-intro.htm[+Introduction to the Java Persistence API+] in the link:http://download.oracle.com/javaee/7/tutorial/doc/[+Java EE 7 Tutorial+].
 
@@ -459,7 +459,7 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
 * xref:kb/docs/web/jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/javaee-intro.adoc b/modules/ROOT/pages/kb/docs/javaee/javaee-intro.adoc
index d94db87..933c6a9 100644
--- a/modules/ROOT/pages/kb/docs/javaee/javaee-intro.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/javaee-intro.adoc
@@ -125,7 +125,7 @@
 * *Detached entities.* Because entity beans are POJOs, they can be serialized and sent across the network to a different address space and used in a persistence-unaware environment. As a result, you no longer need to use data transfer objects (DTOs).
 * *EntityManager API.* Application programmers now use a standard EntityManager API to perform `Create Read Update Delete` (CRUD) operations that involve entities.
 
-The IDE provides tools to work with the new Java Persistence API. You can generate entity classes automatically from a database, or code entity classes by hand. The IDE also provides templates and graphic editors for creating and maintaining persistence units. See xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+] for more information on using the Java Persistence API.
+The IDE provides tools to work with the new Java Persistence API. You can generate entity classes automatically from a database, or code entity classes by hand. The IDE also provides templates and graphic editors for creating and maintaining persistence units. See xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+] for more information on using the Java Persistence API.
 
 
 == Web Services
@@ -166,7 +166,7 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/websvc/jax-ws.adoc[+Getting Started with JAX-WS Web Services+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/maven-entapp-testing.adoc b/modules/ROOT/pages/kb/docs/javaee/maven-entapp-testing.adoc
index 64e39da..68f1b38 100644
--- a/modules/ROOT/pages/kb/docs/javaee/maven-entapp-testing.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/maven-entapp-testing.adoc
@@ -35,7 +35,7 @@
 
 This tutorial demonstrates how to test a simple enterprise application using NetBeans IDE and Maven archetypes. In this tutorial you create an enterprise application that contains an entity class and a session bean. You will use a wizard to create a simple test class for the bean class and then run the test in the IDE. The test class will create an instance of the GlassFish embedded EJB container to test the connection to the database.
 
-// old NOTE:  If you are using GlassFish 3.1.x, please see xref:../../73/javaee/maven-entapp-testing.adoc[+Testing a Maven Enterprise Application with Embedded GlassFish Server 3.1+]
+// old NOTE:  If you are using GlassFish 3.1.x, please see xref:73/javaee/maven-entapp-testing.adoc[+Testing a Maven Enterprise Application with Embedded GlassFish Server 3.1+]
 
 *Tutorial Exercises*
 
@@ -477,9 +477,9 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
-* xref:./maven-entapp.adoc[+Creating an Enterprise Application Using Maven+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/maven-entapp.adoc[+Creating an Enterprise Application Using Maven+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
 You can find more information about using Enterprise Beans in the link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE 6 Tutorial+].
diff --git a/modules/ROOT/pages/kb/docs/javaee/maven-entapp.adoc b/modules/ROOT/pages/kb/docs/javaee/maven-entapp.adoc
index 1d31e69..eceb30e 100644
--- a/modules/ROOT/pages/kb/docs/javaee/maven-entapp.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/maven-entapp.adoc
@@ -741,9 +741,9 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
-* xref:./maven-entapp-testing.adoc[+Testing a Maven Enterprise Application+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/maven-entapp-testing.adoc[+Testing a Maven Enterprise Application+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
 You can find more information about using Enterprise Beans in the link:http://download.oracle.com/javaee/7/tutorial/doc/[+Java EE 7 Tutorial+].
diff --git a/modules/ROOT/pages/kb/docs/javaee/maven-primefaces-screencast.adoc b/modules/ROOT/pages/kb/docs/javaee/maven-primefaces-screencast.adoc
index ab00233..bd2adce 100644
--- a/modules/ROOT/pages/kb/docs/javaee/maven-primefaces-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/maven-primefaces-screencast.adoc
@@ -46,7 +46,7 @@
 
 == Related links
 
-* Demo: xref:./javaee-gettingstarted-screencast.adoc[+Getting Started with Java EE Applications+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
+* Demo: xref:kb/docs/javaee/javaee-gettingstarted-screencast.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail +]
diff --git a/modules/ROOT/pages/kb/docs/javaee/maven-websocketapi-screencast.adoc b/modules/ROOT/pages/kb/docs/javaee/maven-websocketapi-screencast.adoc
index 584eb7d..090bbb1 100644
--- a/modules/ROOT/pages/kb/docs/javaee/maven-websocketapi-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/maven-websocketapi-screencast.adoc
@@ -41,7 +41,7 @@
 
 |For the steps for creating this application in NetBeans IDE, see the following tutorial.
 
-* xref:./maven-websocketapi.adoc[+Using the WebSocket API in a Web Application+]
+* xref:kb/docs/javaee/maven-websocketapi.adoc[+Using the WebSocket API in a Web Application+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
  
@@ -50,7 +50,7 @@
 
 == Related links
 
-* Demo: xref:./javaee-gettingstarted-screencast.adoc[+Getting Started with Java EE Applications+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
+* Demo: xref:kb/docs/javaee/javaee-gettingstarted-screencast.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail +]
diff --git a/modules/ROOT/pages/kb/docs/javaee/maven-websocketapi.adoc b/modules/ROOT/pages/kb/docs/javaee/maven-websocketapi.adoc
index ed56610..c533e7b 100644
--- a/modules/ROOT/pages/kb/docs/javaee/maven-websocketapi.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/maven-websocketapi.adoc
@@ -41,7 +41,7 @@
 
 NOTE:  This tutorial is based on the link:https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in[+ Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189) +] blog post and other blog entries which can be found on link:http://blog.arungupta.me/[+Arun Gupta's blog+]. Be sure to visit the blog and see many other excellent entries on working with the WebSocket API and GlassFish 4.
 
-You can also watch the xref:./maven-websocketapi-screencast.adoc[+Video of Using the WebSocket API in a Web Application+].
+You can also watch the xref:kb/docs/javaee/maven-websocketapi-screencast.adoc[+Video of Using the WebSocket API in a Web Application+].
 
 *Tutorial Exercises*
 
@@ -953,9 +953,9 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* Demo: xref:./maven-websocketapi-screencast.adoc[+Using the WebSocket API in a Web Application+]
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* Demo: xref:kb/docs/javaee/maven-websocketapi-screencast.adoc[+Using the WebSocket API in a Web Application+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
 You can find more information about using Java EE in the link:http://download.oracle.com/javaee/6/tutorial/doc/[+Java EE Tutorial+].
diff --git a/modules/ROOT/pages/kb/docs/javaee/profiler-javaee.adoc b/modules/ROOT/pages/kb/docs/javaee/profiler-javaee.adoc
index 296b53d..b327bd0 100644
--- a/modules/ROOT/pages/kb/docs/javaee/profiler-javaee.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/profiler-javaee.adoc
@@ -60,7 +60,7 @@
 [NOTE]
 ====
 * If you are using the profiler for the first time, it is recommended that you read the xref:kb/docs/java/profiler-intro.adoc[+Introduction to Profiling Java Applications in NetBeans IDE+] which provides an overview of the monitoring and profiling tasks.
-//* If you are using NetBeans IDE 7.2 or earlier, see xref:../../72/javaee/profiler-javaee.adoc[+Profiling an Enterprise Application in NetBeans IDE 7.2+]
+//* If you are using NetBeans IDE 7.2 or earlier, see xref:72/javaee/profiler-javaee.adoc[+Profiling an Enterprise Application in NetBeans IDE 7.2+]
 * In this document you will profile an enterprise application deployed to the GlassFish server. The preferred and the easiest configuration for profiling an enterprise or web application during development is when the the application is running on a local Tomcat, GlassFish or JBoss server.
 ====
 
diff --git a/modules/ROOT/pages/kb/docs/javaee/secure-ejb.adoc b/modules/ROOT/pages/kb/docs/javaee/secure-ejb.adoc
index ad7daca..e840875 100644
--- a/modules/ROOT/pages/kb/docs/javaee/secure-ejb.adoc
+++ b/modules/ROOT/pages/kb/docs/javaee/secure-ejb.adoc
@@ -39,7 +39,7 @@
 
 Using annotations, building secure enterprise beans is now much easier. Instead of configuring enterprise bean security in the  ``ejb-jar.xml``  deployment descriptor you can use security annotations to configure authorization directly in the source code. Java EE 5 enterprise applications do not require  ``ejb-jar.xml``  or  ``application.xml`` .
 
-For an overview of some of the features of the Java EE specification, see xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]. For more information about annotation specifications, see link:http://jcp.org/en/jsr/detail?id=250[+ JSR 250: Common Annotations for the Java Platform+].
+For an overview of some of the features of the Java EE specification, see xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]. For more information about annotation specifications, see link:http://jcp.org/en/jsr/detail?id=250[+ JSR 250: Common Annotations for the Java Platform+].
 
 
 *To follow this tutorial, you need the following software and resources.*
@@ -320,7 +320,7 @@
 }
 ----
 
-For more on applications clients, see xref:./entappclient.adoc[+Creating and Running an Application Client on the GlassFish Server+].
+For more on applications clients, see xref:kb/docs/javaee/entappclient.adoc[+Creating and Running an Application Client on the GlassFish Server+].
 
 
 == Running the Application
@@ -361,8 +361,8 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./javaee-intro.adoc[+Introduction to Java EE Technology+]
-* xref:./javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
+* xref:kb/docs/javaee/javaee-intro.adoc[+Introduction to Java EE Technology+]
+* xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
 To send comments and suggestions, get support, and keep informed on the latest developments on the NetBeans IDE Java EE development features, xref:front::community/mailing-lists.adoc[+join the nbj2ee mailing list+].
diff --git a/modules/ROOT/pages/kb/docs/javame/index.adoc b/modules/ROOT/pages/kb/docs/javame/index.adoc
index f0868ff..a79e67b 100644
--- a/modules/ROOT/pages/kb/docs/javame/index.adoc
+++ b/modules/ROOT/pages/kb/docs/javame/index.adoc
@@ -26,11 +26,11 @@
 :toc-title:
 :description: JavaME Tutorials
 
-- xref:./imp-ng.adoc[Creating, Debugging, and Profiling a Mobile Embedded Application]
-- xref:./javacard.adoc[Java Card Development Quick Start Guide]
-- xref:./index.adoc[JavaME Tutorials]
-- xref:./nb_me_plugins_screencast.adoc[Video of Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE]
-- xref:./nb_me8_screencast.adoc[Video of NetBeans IDE Support for Java ME 8]
+- xref:kb/docs/javame/imp-ng.adoc[Creating, Debugging, and Profiling a Mobile Embedded Application]
+- xref:kb/docs/javame/javacard.adoc[Java Card Development Quick Start Guide]
+- xref:kb/docs/javame/index.adoc[JavaME Tutorials]
+- xref:kb/docs/javame/nb_me_plugins_screencast.adoc[Video of Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE]
+- xref:kb/docs/javame/nb_me8_screencast.adoc[Video of NetBeans IDE Support for Java ME 8]
 
 
 
diff --git a/modules/ROOT/pages/kb/docs/matisse.adoc b/modules/ROOT/pages/kb/docs/matisse.adoc
index 176e1cb..8a944aa 100644
--- a/modules/ROOT/pages/kb/docs/matisse.adoc
+++ b/modules/ROOT/pages/kb/docs/matisse.adoc
@@ -103,33 +103,33 @@
 
 === Getting Started with Swing
 
-* xref:./java/native_pkg.adoc[+Native Packaging in NetBeans IDE+]
-* xref:./java/gui-functionality.adoc[+Introduction to Java GUI Building+]
-* xref:./java/quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+]
-* xref:./java/quickstart-gui-legend.adoc[+NetBeans IDE GUI Builder Visual Feedback Legend+]
-* xref:./java/gui-image-display.adoc[+Handling Images in a GUI Application+]
-* xref:./java/gui-filechooser.adoc[+Adding a FileChooser to a GUI Application+]
-* xref:./java/gbcustomizer-basic.adoc[+Designing a Basic Java Form Using the GridBag Customizer+]
-* xref:./java/gbcustomizer-advanced.adoc[+Designing an Advanced Java Form Using the GridBag Customizer+]
-* xref:./java/gui-gaps.adoc[+Gap Editing Support in the NetBeans GUI Builder+]
-* xref:./java/debug-visual.adoc[+Using the Visual Debugger+]
+* xref:kb/docs/java/native_pkg.adoc[+Native Packaging in NetBeans IDE+]
+* xref:kb/docs/java/gui-functionality.adoc[+Introduction to Java GUI Building+]
+* xref:kb/docs/java/quickstart-gui.adoc[+Designing a Swing GUI in NetBeans IDE+]
+* xref:kb/docs/java/quickstart-gui-legend.adoc[+NetBeans IDE GUI Builder Visual Feedback Legend+]
+* xref:kb/docs/java/gui-image-display.adoc[+Handling Images in a GUI Application+]
+* xref:kb/docs/java/gui-filechooser.adoc[+Adding a FileChooser to a GUI Application+]
+* xref:kb/docs/java/gbcustomizer-basic.adoc[+Designing a Basic Java Form Using the GridBag Customizer+]
+* xref:kb/docs/java/gbcustomizer-advanced.adoc[+Designing an Advanced Java Form Using the GridBag Customizer+]
+* xref:kb/docs/java/gui-gaps.adoc[+Gap Editing Support in the NetBeans GUI Builder+]
+* xref:kb/docs/java/debug-visual.adoc[+Using the Visual Debugger+]
 
 === Java Persistence and Beans Binding
 
-* xref:./java/gui-binding.adoc[+Binding Beans and Data in a Java Application+]
-* xref:./java/hibernate-java-se.adoc[+Using Hibernate in a Java Swing Application+]
-* xref:./java/maven-hib-java-se.adoc[+Creating a Maven Swing Application Using Hibernate+]
+* xref:kb/docs/java/gui-binding.adoc[+Binding Beans and Data in a Java Application+]
+* xref:kb/docs/java/hibernate-java-se.adoc[+Using Hibernate in a Java Swing Application+]
+* xref:kb/docs/java/maven-hib-java-se.adoc[+Creating a Maven Swing Application Using Hibernate+]
 
 === Internationalization
 
-* xref:./java/gui-automatic-i18n.adoc[+Internationalizing a GUI Form+]
+* xref:kb/docs/java/gui-automatic-i18n.adoc[+Internationalizing a GUI Form+]
 
 == Screencasts
 
 * link:http://www.youtube.com/watch?v=ddJpDi5SWFc[+JavaFX Graphics Tips and Tricks+]
 * xref:front::blogs/geertjan/thanks_javafx_wysiwyg_html_editor.adoc[Thanks JavaFX: WYSIWYG HTML Editor for NetBeans IDE]
-* xref:./java/nb_fx_screencast.adoc[+Demo: JavaFX Support in NetBeans IDE+]
-* xref:./java/gui-builder-screencast.adoc[+Designing a Swing GUI in NetBeans IDE+]
+* xref:kb/docs/java/nb_fx_screencast.adoc[+Demo: JavaFX Support in NetBeans IDE+]
+* xref:kb/docs/java/gui-builder-screencast.adoc[+Designing a Swing GUI in NetBeans IDE+]
 
 == Community-Contributed Docs
 
diff --git a/modules/ROOT/pages/kb/docs/mobility.adoc b/modules/ROOT/pages/kb/docs/mobility.adoc
index c48da6e..7fc6155 100644
--- a/modules/ROOT/pages/kb/docs/mobility.adoc
+++ b/modules/ROOT/pages/kb/docs/mobility.adoc
@@ -36,20 +36,20 @@
 
 == Getting Started
 
-* xref:./javame/imp-ng.adoc[+Creating, Debugging, and Profiling a Mobile Embedded Application+]
-* xref:./javame/javacard.adoc[+NetBeans Java Card Development Quick Start Guide+]
+* xref:kb/docs/javame/imp-ng.adoc[+Creating, Debugging, and Profiling a Mobile Embedded Application+]
+* xref:kb/docs/javame/javacard.adoc[+NetBeans Java Card Development Quick Start Guide+]
 
 == Tutorials and Articles
 
 === Developing Java Card Applications
 
-* xref:./javame/javacard.adoc[+Java Card Quick Start Article+]
+* xref:kb/docs/javame/javacard.adoc[+Java Card Quick Start Article+]
 * link:http://www.oracle.com/technetwork/articles/javase/javacard-servlets-136657.html[+Deploying Servlets on Smart Cards: Portable Web Servers with Java Card 3.0+]
 
 == Screencasts
 
-* xref:./javame/nb_me8_screencast.adoc[+Demo: NetBeans IDE Support for Java ME 8+]
-* xref:./javame/nb_me_plugins_screencast.adoc[+Demo: Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE+]
+* xref:kb/docs/javame/nb_me8_screencast.adoc[+Demo: NetBeans IDE Support for Java ME 8+]
+* xref:kb/docs/javame/nb_me_plugins_screencast.adoc[+Demo: Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE+]
 * YouTube: avideo::_1PPSt2AwpM[Introduction into Java Micro Edition (ME) 8] (_by Terrence Bar_)
 
 == Community-Contributed Docs
diff --git a/modules/ROOT/pages/kb/docs/php.adoc b/modules/ROOT/pages/kb/docs/php.adoc
index 2432550..3f33c3e 100644
--- a/modules/ROOT/pages/kb/docs/php.adoc
+++ b/modules/ROOT/pages/kb/docs/php.adoc
@@ -160,7 +160,7 @@
 * xref:kb/docs/ide/index.adoc[Base IDE Features]
 * xref:kb/articles/mysql.adoc[MySQL and the NetBeans IDE]
 * xref:kb/docs/ide/mysql.adoc[Connecting to a MySQL Database]
-// no umbrella * xref:../../features/ide/collaboration.adoc[Version Control and Developer Collaboration]
+// no umbrella * xref:features/ide/collaboration.adoc[Version Control and Developer Collaboration]
 * link:http://nbdrupalsupport.dev.java.net/[NetBeans IDE Support for Drupal 6.x]
 
 === Weblogs
diff --git a/modules/ROOT/pages/kb/docs/php/ajax-quickstart.adoc b/modules/ROOT/pages/kb/docs/php/ajax-quickstart.adoc
index d276202..be9db70 100644
--- a/modules/ROOT/pages/kb/docs/php/ajax-quickstart.adoc
+++ b/modules/ROOT/pages/kb/docs/php/ajax-quickstart.adoc
@@ -124,7 +124,7 @@
 
 . In the Projects window, right-click on the project node and choose Run. The IDE opens your default browser and displays the Hello World message you just created in `index.php`. 
 
-NOTE: If you have difficulty setting up your project or establishing communication between the IDE, the server and browser, see xref:./project-setup.adoc[+Setting Up a PHP Project+] for a more thorough description. The xref:kb/docs/php.adoc[+PHP Learning Trail+] can provide more information on configuring your environment.
+NOTE: If you have difficulty setting up your project or establishing communication between the IDE, the server and browser, see xref:kb/docs/php/project-setup.adoc[+Setting Up a PHP Project+] for a more thorough description. The xref:kb/docs/php.adoc[+PHP Learning Trail+] can provide more information on configuring your environment.
 
 
 [[html]]
@@ -272,7 +272,7 @@
 [[javascript]]
 === Using the JavaScript Editor
 
-The IDE's JavaScript Editor provides many advanced editing capabilities, such as intelligent code completion, semantic highlighting, instant renaming and refactoring capabilities, as well as many more features. For more information on the JavaScript editing features in the IDE, see link:http://docs.oracle.com/cd/E50453_01/doc.80/e50452/dev_html_apps.htm#BACFIFIG[+Creating JavaScript Files+] in the link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG[+Developing Applications with NetBeans IDE User's Guide+]. See link:http://wiki.netbeans.org/JavaScript[+http://wiki.netbeans.org/JavaScript+] for a detailed specification.
+The IDE's JavaScript Editor provides many advanced editing capabilities, such as intelligent code completion, semantic highlighting, instant renaming and refactoring capabilities, as well as many more features. For more information on the JavaScript editing features in the IDE, see link:http://docs.oracle.com/cd/E50453_01/doc.80/e50452/dev_html_apps.htm#BACFIFIG[+Creating JavaScript Files+] in the link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG[+Developing Applications with NetBeans IDE User's Guide+]. See xref:wiki::wiki/JavaScript[] for a detailed specification.
 
 JavaScript code completion is automatically provided when you code in `.js` files, as well as within `<script>` tags when you work with other technologies (i.e., HTML, RHTML, JSP, PHP). When using the JavaScript Editor, the IDE provides you with browser-compatibility information, depending on the browser types and versions you specify in the JavaScript Options panel. Open the JavaScript Options panel by choosing Tools > Options (NetBeans > Preferences on Mac), then Miscellaneous > JavaScript.
 
@@ -392,7 +392,7 @@
 The NetBeans IDE provides comprehensive support for web development using PHP. You can set up your development environment using an *AMP package, enabling you to edit and deploy from the IDE quickly and efficiently. The IDE allows you to configure your environment with a local server, as well as remotely, using FTP or SFTP. You can also configure an external debugger, such as link:http://xdebug.org/[+Xdebug+], and set up unit testing with link:http://www.phpunit.de/[+PHPUnit+] from the IDE's PHP Options window (Choose Tools > Options; NetBeans > Preferences on Mac, then select the PHP tab.) The PHP editor provides standard editing features such as code completion, syntax highlighting, mark occurrences, refactoring, code templates, documentation pop-up, code navigation, editor warnings and, for NetBeans 6.9, error badges for malformed syntax. See the xref:kb/docs/intro-screencasts.adoc[+NetBeans Video Tutorials and Demos+] page for screencasts on PHP support.
 
 For applications requiring a database, the IDE supports wide-ranging support for most main-stream databases, especially MySQL. See the xref:kb/articles/mysql.adoc[+NetBeans MySQL screencast+] 
-// need umbrella section and xref:../../../features/ide/database.adoc[+Database Integration+] 
+// need umbrella section and xref:features/ide/database.adoc[+Database Integration+] 
 features for more details.
 
 The business logic for the auto-complete application that you are building needs to process requests by retrieving data from the data store, then prepare and send the response. This is implemented here using a PHP file named `autocomplete`. Before you begin coding the file, set up the data store and the functionality required by the file to access data.
@@ -914,7 +914,10 @@
 * *CSS Preview:* A preview window which, when you place your cursor within a rule, displays sample text rendered according to the declaration block of that rule. (Window > Other > CSS Preview)
 * *Style Rule Editor:* A dialog enabling you to create rules based on classes, ID's and HTML elements, and set their position in the document hierarchy. (Create Rule ( image:kb/docs/php/style-rule-editor-btn.png[] ) button, located in upper-left region of CSS editor toolbar)
 
-NetBeans 6.9 provides Rename Refactoring and Find Usages support. This support is available not only in css files, but in all files containing embedded CSS code (e.g., HTML, PHP). CSS classes, id's and type elements can be refactored in all project files. To make use of this refactoring support, press Ctrl-R on a given CSS element and use the provided dialog to perform the rename action. You can also preview changes before performing the rename action. To utilize Find Usages support, right-click a CSS element and choose Find Usages. See link:http://wiki.netbeans.org/wiki/index.php?title=NewAndNoteworthy69m1&section=T-25#Web_Languages[+NewAndNoteworthy69m1+] for more details.
+NetBeans 6.9 provides Rename Refactoring and Find Usages support. This support is available not only in css files, but in all files containing embedded CSS code (e.g., HTML, PHP). CSS classes, id's and type elements can be refactored in all project files. 
+To make use of this refactoring support, press Ctrl-R on a given CSS element and use the provided dialog to perform the rename action. 
+You can also preview changes before performing the rename action. 
+To utilize Find Usages support, right-click a CSS element and choose Find Usages. 
 
 Perform the following steps to attach a stylesheet to your application.
 
@@ -923,7 +926,7 @@
 3. Click Finish. The new file is added to the Projects window, and opens in the IDE's editor.
 4. In `stylesheet.css`, type in the following rules. You can make use of the IDE's code completion support by pressing Ctrl-Space at points when you want to call up suggestions.
 
-[source,java]
+[source,css]
 ----
 
 body {
diff --git a/modules/ROOT/pages/kb/docs/php/configure-php-environment-mac-os.adoc b/modules/ROOT/pages/kb/docs/php/configure-php-environment-mac-os.adoc
index d24861b..4002d01 100644
--- a/modules/ROOT/pages/kb/docs/php/configure-php-environment-mac-os.adoc
+++ b/modules/ROOT/pages/kb/docs/php/configure-php-environment-mac-os.adoc
@@ -118,7 +118,7 @@
 
 --
 
-The IDE remembers this location for future projects. For further instructions on creating PHP projects in NetBeans IDE, see xref:./project-setup.adoc[+Setting Up a PHP Project+].
+The IDE remembers this location for future projects. For further instructions on creating PHP projects in NetBeans IDE, see xref:kb/docs/php/project-setup.adoc[+Setting Up a PHP Project+].
 
 == Enabling Xdebug with MAMP
 
diff --git a/modules/ROOT/pages/kb/docs/php/configure-php-environment-ubuntu.adoc b/modules/ROOT/pages/kb/docs/php/configure-php-environment-ubuntu.adoc
index 8e9dfcc..fc7554c 100644
--- a/modules/ROOT/pages/kb/docs/php/configure-php-environment-ubuntu.adoc
+++ b/modules/ROOT/pages/kb/docs/php/configure-php-environment-ubuntu.adoc
@@ -54,7 +54,7 @@
 |A PHP debugger (optional) |XDebug 2.0 or later 
 |===
 
-Typically, development and debugging is performed on a local web server, while the production environment is located on a remote web server. Setting up a remote web server is described in xref:./remote-hosting-and-ftp-account.adoc[+ Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE+]. This tutorial has you set up a local web server. PHP support can be added to a number of local web servers (IIS, Xitami, and so on), but most commonly link:http://httpd.apache.org/download.cgi[+Apache HTTP Server+] is used.
+Typically, development and debugging is performed on a local web server, while the production environment is located on a remote web server. Setting up a remote web server is described in xref:kb/docs/php/remote-hosting-and-ftp-account.adoc[+ Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE+]. This tutorial has you set up a local web server. PHP support can be added to a number of local web servers (IIS, Xitami, and so on), but most commonly link:http://httpd.apache.org/download.cgi[+Apache HTTP Server+] is used.
 
 === Installing the Software
 
@@ -98,7 +98,7 @@
 
 After you set up your PHP web stack, check that it is installed correctly and that your Apache server recognizes your PHP engine.
 
-To check that Apache and PHP are installed and running, open NetBeans IDE and xref:./project-setup.adoc[+create a PHP project+]. In the  ``index.php``  file, enter the PHP method  ``phpinfo()`` . Run the file. The standard PHP information page should display. 
+To check that Apache and PHP are installed and running, open NetBeans IDE and xref:kb/docs/php/project-setup.adoc[+create a PHP project+]. In the  ``index.php``  file, enter the PHP method  ``phpinfo()`` . Run the file. The standard PHP information page should display. 
 
 image::kb/docs/php/ubuntu-phpinfo.png[]
 
@@ -246,7 +246,7 @@
 
 === Installing and Enabling the XDebug Debugger
 
-The following steps are required only if you want to use XDebug, which is optional for PHP development. XDebug is an extension to PHP. NetBeans IDE uses it automatically when it is configured correctly for your PHP web stack. For more information on XDebug and NetBeans IDE, see xref:./debugging.adoc[+Debugging PHP Source Code in the NetBeans IDE+]. Also see the link:http://wiki.netbeans.org/HowToConfigureXDebug[+NetBeans wiki page on XDebug+].
+The following steps are required only if you want to use XDebug, which is optional for PHP development. XDebug is an extension to PHP. NetBeans IDE uses it automatically when it is configured correctly for your PHP web stack. For more information on XDebug and NetBeans IDE, see xref:kb/docs/php/debugging.adoc[+Debugging PHP Source Code in the NetBeans IDE+]. Also see the xref:wiki::wiki/HowToConfigureXDebug[NetBeans wiki page on XDebug].
 
 [[xdebug-package]]
 ==== Installing the XDebug Package (Ubuntu 8.05 and later)
diff --git a/modules/ROOT/pages/kb/docs/php/configure-php-environment-windows.adoc b/modules/ROOT/pages/kb/docs/php/configure-php-environment-windows.adoc
index c9bd136..b79c7db 100644
--- a/modules/ROOT/pages/kb/docs/php/configure-php-environment-windows.adoc
+++ b/modules/ROOT/pages/kb/docs/php/configure-php-environment-windows.adoc
@@ -55,7 +55,7 @@
  
 |===
 
-Typically, development and debugging is performed on a local web server, while the production environment is located on a remote web server. Setting up a remote web server is described in xref:./remote-hosting-and-ftp-account.adoc[Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE]. This tutorial has you set up a local web server. PHP support can be added to a number of local web servers (IIS, Xitami, and so on), but most commonly link:http://httpd.apache.org/download.cgi[+Apache HTTP Server+] is used. Apache HTTP server is included in the XAMPP AMP package used in this tutorial. For information on installing and configuring Apache HTTP server standalone, click link:http://httpd.apache.org/docs/2.2/install.html[+here+].
+Typically, development and debugging is performed on a local web server, while the production environment is located on a remote web server. Setting up a remote web server is described in xref:kb/docs/php/remote-hosting-and-ftp-account.adoc[Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE]. This tutorial has you set up a local web server. PHP support can be added to a number of local web servers (IIS, Xitami, and so on), but most commonly link:http://httpd.apache.org/download.cgi[+Apache HTTP Server+] is used. Apache HTTP server is included in the XAMPP AMP package used in this tutorial. For information on installing and configuring Apache HTTP server standalone, click link:http://httpd.apache.org/docs/2.2/install.html[+here+].
 
 === Required Software
 
@@ -75,7 +75,7 @@
 
 === Using an AMP Package
 
-To have all the configuration settings for the PHP engine, the Apache HTTP Server, and the MySQL database server specified automatically, use an AMP package. This tutorial gives instructions only for the link:http://www.apachefriends.org/en/xampp-windows.html[+XAMPP-Windows+] package. For help with the WAMP package, please see the link:http://wiki.netbeans.org/HowToConfigureXDebug[+NetBeans XDebug Wiki+].
+To have all the configuration settings for the PHP engine, the Apache HTTP Server, and the MySQL database server specified automatically, use an AMP package. This tutorial gives instructions only for the link:http://www.apachefriends.org/en/xampp-windows.html[+XAMPP-Windows+] package. For help with the WAMP package, please see the xref:wiki::wiki/HowToConfigureXDebug[NetBeans XDebug Wiki].
 
 [[XAMPP]]
 ==== Installing and Configuring the XAMPP Package
@@ -120,7 +120,7 @@
 
 You need to configure your PHP stack to use XDebug. The process differs if you are using <<xdebug-xampp-171,XAMPP 1.7.1>>, which bundles PHP 5.2.6, or <<xdebug-xampp-172,XAMPP 1.7.2>>, which bundles PHP 5.3.
 
-Many users have experienced difficulties in getting XDebug to work on their systems. Please see link:http://wiki.netbeans.org/HowToConfigureXDebug[+our wiki+] and the link:http://forums.netbeans.org/viewforum.php?f=13&sid=5b63e6774fe7859b5edd35b1192d8efd[+NetBeans PHP Editor Users' Forum+] for assistance.
+Many users have experienced difficulties in getting XDebug to work on their systems. Please see xref:wiki::wiki/HowToConfigureXDebug[our wiki] and the link:http://forums.netbeans.org/viewforum.php?f=13&sid=5b63e6774fe7859b5edd35b1192d8efd[+NetBeans PHP Editor Users' Forum+] for assistance.
 
 [[xdebug-xampp-171]]
 ===== XDebug on XAMPP 1.7.1 (PHP 5.2)
@@ -163,7 +163,7 @@
 
 . Save  ``php.ini`` .
 . Run the <<xamppConstolPanel,XAMPP Control Panel Application>> and restart the Apache server.
-See link:http://wiki.netbeans.org/HowToConfigureXDebug[+our wiki+] and the link:http://www.xdebug.org/docs/install[+XDebug documentation+] for more information on how to configure XDebug.
+See xref:wiki::wiki/HowToConfigureXDebug[our wiki] and the link:http://www.xdebug.org/docs/install[+XDebug documentation+] for more information on how to configure XDebug.
 
 [[xdebug-xampp-172]]
 ===== Xdebug on XAMPP 1.7.2 (PHP 5.3)
@@ -179,7 +179,7 @@
 7. Save  ``php.ini`` .
 8. Run the <<xamppConstolPanel,XAMPP Control Panel Application>> and restart the Apache server.
 
-See link:http://wiki.netbeans.org/HowToConfigureXDebug[+our wiki+] and the link:http://www.xdebug.org/docs/install[+XDebug documentation+] for more information on how to configure XDebug.
+See xref:wiki::wiki/HowToConfigureXDebug[our wiki] and the link:http://www.xdebug.org/docs/install[+XDebug documentation+] for more information on how to configure XDebug.
 
 === Installing the Components Separately
 
diff --git a/modules/ROOT/pages/kb/docs/php/debugging.adoc b/modules/ROOT/pages/kb/docs/php/debugging.adoc
index 1af0912..ac975a1 100644
--- a/modules/ROOT/pages/kb/docs/php/debugging.adoc
+++ b/modules/ROOT/pages/kb/docs/php/debugging.adoc
@@ -49,7 +49,7 @@
 
 == Getting Ready
 
-To successfully debug PHP applications in the NetBeans IDE for PHP, you need to have the PHP engine, the Apache local web server, and the XDebug debugger xref:kb/docs/php.adoc#configuration[+installed and configured for PHP development+]. If you have difficulties getting XDebug to work, see the link:http://wiki.netbeans.org/HowToConfigureXDebug[+NetBeans wiki on XDebug+] and/or ask the community at users@php.netbeans.org.
+To successfully debug PHP applications in the NetBeans IDE for PHP, you need to have the PHP engine, the Apache local web server, and the XDebug debugger xref:kb/docs/php.adoc#configuration[+installed and configured for PHP development+]. If you have difficulties getting XDebug to work, see the xref:wiki::wiki/HowToConfigureXDebug[NetBeans wiki on XDebug] and/or ask the community at users@php.netbeans.org.
 
 
 == How PHP Debugging with XDebug Works in NetBeans IDE
@@ -293,7 +293,7 @@
 * Project type - PHP application
 * Sources location - the default  ``htdocs``  folder location
 * Run configuration - Local Web Site
-Find more details about setting up a PHP project in the document xref:./project-setup.adoc[+Setting Up a PHP Project+].
+Find more details about setting up a PHP project in the document xref:kb/docs/php/project-setup.adoc[+Setting Up a PHP Project+].
 
 
 . To enable the use of hotkeys during the session, position the cursor on the project node and choose Set as Main Project from the popup menu.
@@ -471,7 +471,7 @@
  </form>
 ----
 
-Find more information about xref:./wish-list-lesson2.adoc#htmlForm[+HTML input forms+].
+Find more information about xref:kb/docs/php/wish-list-lesson2.adoc#htmlForm[+HTML input forms+].
 
 
 
diff --git a/modules/ROOT/pages/kb/docs/php/editor-screencast.adoc b/modules/ROOT/pages/kb/docs/php/editor-screencast.adoc
index 5a08461..4e5794f 100644
--- a/modules/ROOT/pages/kb/docs/php/editor-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/php/editor-screencast.adoc
@@ -41,7 +41,7 @@
 
 == Related links
 
-* xref:./project-config-screencast.adoc[Demo of PHP support in NetBeans 6.5 - Part I: Projects and Configuration]
+* xref:kb/docs/php/project-config-screencast.adoc[Demo of PHP support in NetBeans 6.5 - Part I: Projects and Configuration]
 * xref:kb/docs/php.adoc[The PHP Learning Trail]
 * link:http://blogs.oracle.com/netbeansphp/[NetBeans for PHP Weblog]
 
diff --git a/modules/ROOT/pages/kb/docs/php/index.adoc b/modules/ROOT/pages/kb/docs/php/index.adoc
index 5a2727c..a516d64 100644
--- a/modules/ROOT/pages/kb/docs/php/index.adoc
+++ b/modules/ROOT/pages/kb/docs/php/index.adoc
@@ -31,35 +31,35 @@
 == Getting Started
 
 - xref:kb/docs/webclient/html5-gettingstarted.adoc[Getting Started with HTML5 Applications]
-- xref:./quickstart.adoc[Getting Started with PHP Applications]
+- xref:kb/docs/php/quickstart.adoc[Getting Started with PHP Applications]
 
 [[configuration]]
 == Configuration
 
-- xref:./configure-php-environment-mac-os.adoc[Configuring PHP, Apache, MySQL, and Xdebug for PHP development in MAC OS X]
-- xref:./configure-php-environment-windows.adoc[Configuring PHP Development Environment in Windows]
-- xref:./configure-php-environment-ubuntu.adoc[Configuring the PHP Development Environment in Linux Ubuntu]
+- xref:kb/docs/php/configure-php-environment-mac-os.adoc[Configuring PHP, Apache, MySQL, and Xdebug for PHP development in MAC OS X]
+- xref:kb/docs/php/configure-php-environment-windows.adoc[Configuring PHP Development Environment in Windows]
+- xref:kb/docs/php/configure-php-environment-ubuntu.adoc[Configuring the PHP Development Environment in Linux Ubuntu]
 
 == Tutorials and Articles
 
-- xref:./project-setup.adoc[Setting Up a PHP Project]
-- xref:./code-templates.adoc[Code Templates in NetBeans IDE for PHP]
-- xref:./ajax-quickstart.adoc[Introduction to Ajax for PHP Web Applications]
-- xref:./phpunit.adoc[Testing with PHPUnit and Selenium]
-- xref:./debugging.adoc[Debugging PHP Source Code in the NetBeans IDE]
-- xref:./remote-hosting-and-ftp-account.adoc[Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE]
+- xref:kb/docs/php/project-setup.adoc[Setting Up a PHP Project]
+- xref:kb/docs/php/code-templates.adoc[Code Templates in NetBeans IDE for PHP]
+- xref:kb/docs/php/ajax-quickstart.adoc[Introduction to Ajax for PHP Web Applications]
+- xref:kb/docs/php/phpunit.adoc[Testing with PHPUnit and Selenium]
+- xref:kb/docs/php/debugging.adoc[Debugging PHP Source Code in the NetBeans IDE]
+- xref:kb/docs/php/remote-hosting-and-ftp-account.adoc[Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE]
 
 == Creating a Database Driven Application With PHP
 
-- xref:./wish-list-tutorial-main-page.adoc[Main Page: Creating a Database Driven Application With PHP]
-- xref:./wish-list-lesson1.adoc[Lesson 1a: Creating a MySQL Database]
-- xref:./wish-list-oracle-lesson1.adoc[Lesson 1b: Creating Oracle Database Tables]
-- xref:./wish-list-lesson2.adoc[Lesson 2: Designing the Application. Reading from the Database]
-- xref:./wish-list-lesson3.adoc[Lesson 3: Creating a New Application User]
-- xref:./wish-list-lesson4.adoc[Lesson 4: Optimizing the Code]
-- xref:./wish-list-lesson5.adoc[Lesson 5: Adding Security. Implementing Application User Logon]
-- xref:./wish-list-lesson6.adoc[Lesson 6: Adding a New Wish to the Database]
-- xref:./wish-list-lesson7.adoc[Lesson 7: Updating and Deleting Entries In the Database]
-- xref:./wish-list-lesson8.adoc[Lesson 8: Making the Application Look Better Using CSS]
-- xref:./wish-list-lesson9.adoc[Lesson 9: Deploying the Application on a Remote Web Server]
+- xref:kb/docs/php/wish-list-tutorial-main-page.adoc[Main Page: Creating a Database Driven Application With PHP]
+- xref:kb/docs/php/wish-list-lesson1.adoc[Lesson 1a: Creating a MySQL Database]
+- xref:kb/docs/php/wish-list-oracle-lesson1.adoc[Lesson 1b: Creating Oracle Database Tables]
+- xref:kb/docs/php/wish-list-lesson2.adoc[Lesson 2: Designing the Application. Reading from the Database]
+- xref:kb/docs/php/wish-list-lesson3.adoc[Lesson 3: Creating a New Application User]
+- xref:kb/docs/php/wish-list-lesson4.adoc[Lesson 4: Optimizing the Code]
+- xref:kb/docs/php/wish-list-lesson5.adoc[Lesson 5: Adding Security. Implementing Application User Logon]
+- xref:kb/docs/php/wish-list-lesson6.adoc[Lesson 6: Adding a New Wish to the Database]
+- xref:kb/docs/php/wish-list-lesson7.adoc[Lesson 7: Updating and Deleting Entries In the Database]
+- xref:kb/docs/php/wish-list-lesson8.adoc[Lesson 8: Making the Application Look Better Using CSS]
+- xref:kb/docs/php/wish-list-lesson9.adoc[Lesson 9: Deploying the Application on a Remote Web Server]
 
diff --git a/modules/ROOT/pages/kb/docs/php/php-editor-screencast.adoc b/modules/ROOT/pages/kb/docs/php/php-editor-screencast.adoc
index 56d423d..9bde9cb 100644
--- a/modules/ROOT/pages/kb/docs/php/php-editor-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/php/php-editor-screencast.adoc
@@ -41,7 +41,7 @@
 
 == Related links
 
-* xref:./editor-screencast.adoc[Petr's NetBeans IDE 6.9-7.0 PHP Editor Screencast]
+* xref:kb/docs/php/editor-screencast.adoc[Petr's NetBeans IDE 6.9-7.0 PHP Editor Screencast]
 * xref:kb/docs/php.adoc[The PHP Learning Trail]
 * link:http://blogs.oracle.com/netbeansphp/[+NetBeans for PHP Weblog]
 
diff --git a/modules/ROOT/pages/kb/docs/php/phpunit.adoc b/modules/ROOT/pages/kb/docs/php/phpunit.adoc
index 05ad5e8..74730dd 100644
--- a/modules/ROOT/pages/kb/docs/php/phpunit.adoc
+++ b/modules/ROOT/pages/kb/docs/php/phpunit.adoc
@@ -363,6 +363,6 @@
 Here are a few more ideas for you to explore:
 
 * Add a second class to Calculator.php, such as a  ``Calculator2``  class that multiplies $a and $b. Delete and regenerate the tests.
-* If you try the multi-part xref:./wish-list-tutorial-main-page.adoc[+Creating a CRUD Application tutorial+], create a Selenium test for the final project.
+* If you try the multi-part xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Creating a CRUD Application tutorial+], create a Selenium test for the final project.
 
 
diff --git a/modules/ROOT/pages/kb/docs/php/project-config-screencast.adoc b/modules/ROOT/pages/kb/docs/php/project-config-screencast.adoc
index 682eab4..27b4e36 100644
--- a/modules/ROOT/pages/kb/docs/php/project-config-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/php/project-config-screencast.adoc
@@ -42,7 +42,7 @@
 
 == Related links
 
-* xref:./editor-screencast.adoc[Demo of PHP support in NetBeans 6.5 - Part II: Editor Features]
+* xref:kb/docs/php/editor-screencast.adoc[Demo of PHP support in NetBeans 6.5 - Part II: Editor Features]
 * xref:kb/docs/php.adoc[The PHP Learning Trail]
 * link:http://blogs.oracle.com/netbeansphp/[NetBeans PHP Blog]
 
diff --git a/modules/ROOT/pages/kb/docs/php/project-setup.adoc b/modules/ROOT/pages/kb/docs/php/project-setup.adoc
index be54d0b..29f908c 100644
--- a/modules/ROOT/pages/kb/docs/php/project-setup.adoc
+++ b/modules/ROOT/pages/kb/docs/php/project-setup.adoc
@@ -121,7 +121,7 @@
 
 
 . If you want to store NetBeans metadata in a different location than your source files, select "Put NetBeans metadata into a separate directory." For example, you might want to store your sources in your document root but the NetBeans metadata in your NetBeansProjects directory.
-. Click Next. The Remote Connection panel opens. The tutorial xref:./remote-hosting-and-ftp-account.adoc[+Deploying a PHP Application to a Remote Web Server+] describes how to set up remote connections.
+. Click Next. The Remote Connection panel opens. The tutorial xref:kb/docs/php/remote-hosting-and-ftp-account.adoc[+Deploying a PHP Application to a Remote Web Server+] describes how to set up remote connections.
 
 
 == Specifying the Default Run Configuration of the New Project
@@ -136,7 +136,7 @@
 When you create a new PHP project, you create the project's default run configuration. To set the default run configuration for your project, choose the relevant option from the Run As dropdown list on the Run Configuration panel. The following options are available:
 
 * <<localServer,Local Web Site>>. To use this run configuration, you need the xref:kb/docs/php.adoc#configuration[+Apache http server installed+] and running.
-* xref:./remote-hosting-and-ftp-account.adoc[+Remote Web Site (FTP/SFTP) (Separate tutorial)+]. To use this configuration, you need a xref:./remote-hosting-and-ftp-account.adoc#registerHostingAccount[+hosting account+] on a remote server and an xref:./remote-hosting-and-ftp-account.adoc#createFTPAccount[+FTP account+] on this server.
+* xref:kb/docs/php/remote-hosting-and-ftp-account.adoc[+Remote Web Site (FTP/SFTP) (Separate tutorial)+]. To use this configuration, you need a xref:kb/docs/php/remote-hosting-and-ftp-account.adoc#registerHostingAccount[+hosting account+] on a remote server and an xref:kb/docs/php/remote-hosting-and-ftp-account.adoc#createFTPAccount[+FTP account+] on this server.
 * <<scriptCommandLine,Script>>. This run configuration does not require that a web server be installed and running. You only need a xref:kb/docs/php.adoc#configuration[+PHP engine+].
 
 The process for creating additional run configurations, or editing the default run configuration, is described in <<runConfiguration,Customizing the Project Setup: Run Configuration>>. It is almost identical to the process for creating the default run configuration, except that you use the Properties dialog of the existing project instead of the new project wizard.
@@ -165,7 +165,7 @@
 
 === Remote Web Site
 
-See the tutorial xref:./remote-hosting-and-ftp-account.adoc[+Deploying a PHP Application to a Remote Web Server+].
+See the tutorial xref:kb/docs/php/remote-hosting-and-ftp-account.adoc[+Deploying a PHP Application to a Remote Web Server+].
 
 
 === Script
diff --git a/modules/ROOT/pages/kb/docs/php/quickstart.adoc b/modules/ROOT/pages/kb/docs/php/quickstart.adoc
index bdf755b..db77727 100644
--- a/modules/ROOT/pages/kb/docs/php/quickstart.adoc
+++ b/modules/ROOT/pages/kb/docs/php/quickstart.adoc
@@ -57,9 +57,9 @@
 
 The following documents contain instructions for one or two ways to set up a PHP web stack on your operating system. These instructions are not definitive. The web stack consists of third-party software, your environment may differ, and you might prefer a different AMP package or another way to set up PHP. You might need to supplement our instructions with your own investigations.
 
-* xref:./configure-php-environment-windows.adoc[+Configuring PHP Development Environment in Windows+]
-* xref:./configure-php-environment-ubuntu.adoc[+Configuring PHP Development Environment in the Ubuntu Linux Distribution+]
-* xref:./configure-php-environment-mac-os.adoc[+Configuring PHP Development Environment in Mac Operating System (Mac OS X)+]
+* xref:kb/docs/php/configure-php-environment-windows.adoc[+Configuring PHP Development Environment in Windows+]
+* xref:kb/docs/php/configure-php-environment-ubuntu.adoc[+Configuring PHP Development Environment in the Ubuntu Linux Distribution+]
+* xref:kb/docs/php/configure-php-environment-mac-os.adoc[+Configuring PHP Development Environment in Mac Operating System (Mac OS X)+]
 
 == Setting up a PHP Project in the NetBeans IDE for PHP
 
@@ -85,7 +85,7 @@
 . Leave the Project URL at default.
 . Click Finish. The IDE creates the project.
 
-Learn more about xref:./project-setup.adoc[+Setting up a PHP project in NetBeans+].
+Learn more about xref:kb/docs/php/project-setup.adoc[+Setting up a PHP project in NetBeans+].
 
 == Running Your First PHP Project
 
diff --git a/modules/ROOT/pages/kb/docs/php/remote-hosting-and-ftp-account.adoc b/modules/ROOT/pages/kb/docs/php/remote-hosting-and-ftp-account.adoc
index 5029126..0013cb2 100644
--- a/modules/ROOT/pages/kb/docs/php/remote-hosting-and-ftp-account.adoc
+++ b/modules/ROOT/pages/kb/docs/php/remote-hosting-and-ftp-account.adoc
@@ -64,7 +64,7 @@
 
 To enable running a PHP application on a remote web server, you need to set up a run configuration that contains an FTP connection profile.
 
-If you already have a project with a default run configuration and you want to add a new remote run configuration, xref:./project-setup.adoc#managingProjectSetup[+customize your project+]:
+If you already have a project with a default run configuration and you want to add a new remote run configuration, xref:kb/docs/php/project-setup.adoc#managingProjectSetup[+customize your project+]:
 
 1. Click the right mouse button on the project node and choose Properties from the popup menu. The Project Properties panel opens.
 2. From the Categories list, choose Run Configuration. The Run Configurations panel opens.
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson1.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson1.adoc
index 2efa20e..9814b12 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson1.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson1.adoc
@@ -36,7 +36,7 @@
 == Lesson 1a: Creating a MySQL Database
 
 This lesson describes the last preliminary step in developing the Wish List application, that of creating a sample database with test data. To complete the steps in this tutorial, you will need a database in which to store data of wishers. With the NetBeans IDE you can perform all these activities through the IDE interface. 
-Before starting, see the tutorial requirements described in xref:./wish-list-tutorial-main-page.adoc[+Creating a CRUD Application with PHP - Main page+].
+Before starting, see the tutorial requirements described in xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Creating a CRUD Application with PHP - Main page+].
 
 The current document is a part of the Creating a CRUD Application in the NetBeans IDE for PHP tutorial.
 
@@ -267,9 +267,9 @@
 
 == Next Step
 
-xref:./wish-list-lesson2.adoc[+Next Lesson >>+]
+xref:kb/docs/php/wish-list-lesson2.adoc[+Next Lesson >>+]
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
 
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson2.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson2.adoc
index a770853..1e964bd 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson2.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson2.adoc
@@ -46,7 +46,7 @@
 
 == Creating a PHP Project
 
-Select File > New Project (Ctrl-Shift-N on Windows and Linux, ⌘-Shift-N on MacOS). Create a new PHP project named "wishlist". When you create a PHP project, it contains the index file  ``index.php``  by default. For information on creating and configuring a PHP project, see xref:./project-setup.adoc[+Setting Up a PHP Project+].
+Select File > New Project (Ctrl-Shift-N on Windows and Linux, ⌘-Shift-N on MacOS). Create a new PHP project named "wishlist". When you create a PHP project, it contains the index file  ``index.php``  by default. For information on creating and configuring a PHP project, see xref:kb/docs/php/project-setup.adoc[+Setting Up a PHP Project+].
 
 
 == Defining a Page Flow Diagram
@@ -454,8 +454,8 @@
 
 == Next Step
 
-xref:./wish-list-lesson1.adoc[+<< Previous lesson+]
+xref:kb/docs/php/wish-list-lesson1.adoc[+<< Previous lesson+]
 
-xref:./wish-list-lesson3.adoc[+Next lesson >>+]
+xref:kb/docs/php//wish-list-lesson3.adoc[+Next lesson >>+]
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial Main page+]
+xref:kb/docs/php//wish-list-tutorial-main-page.adoc[+Back to the Tutorial Main page+]
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson3.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson3.adoc
index 44d3a1f..6ae20d2 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson3.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson3.adoc
@@ -74,7 +74,7 @@
 
 == Creating New PHP Web Pages
 
-Create two new PHP web pages in your project's Source Files, as xref:./wish-list-lesson2.adoc#createNewFile[+described+] in Lesson 2.
+Create two new PHP web pages in your project's Source Files, as xref:kb/docs/php/wish-list-lesson2.adoc#createNewFile[+described+] in Lesson 2.
 
 *  `createNewWisher.php` 
 *  `editWishList.php` 
@@ -99,7 +99,7 @@
 </html>
 ----
 
-NOTE: The  `password`  type is a special type of a text field where characters are replaced with asterisks. The code presents an xref:./wish-list-lesson3.adoc#htmlForm[+HTML form+] for a user to enter the name and password of the new wisher in the text fields. When the user clicks the "Register" button, the entered data is transferred for validation to the same page,  `createNewWisher.php` .
+NOTE: The  `password`  type is a special type of a text field where characters are replaced with asterisks. The code presents an xref:kb/docs/php/wish-list-lesson3.adoc#htmlForm[+HTML form+] for a user to enter the name and password of the new wisher in the text fields. When the user clicks the "Register" button, the entered data is transferred for validation to the same page,  `createNewWisher.php` .
 
 NOTE: You can ignore warnings from the HTML validator.
 
@@ -520,8 +520,8 @@
 
 == Next Steps
 
-xref:./wish-list-lesson2.adoc[+<< Previous lesson+]
+xref:kb/docs/php/wish-list-lesson2.adoc[+<< Previous lesson+]
 
-xref:./wish-list-lesson4.adoc[+Next lesson >>+]
+xref:kb/docs/php/wish-list-lesson4.adoc[+Next lesson >>+]
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson4.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson4.adoc
index 1b11eec..902ee14 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson4.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson4.adoc
@@ -672,8 +672,8 @@
 
 == Next Steps
 
-xref:./wish-list-lesson3.adoc[+<< Previous lesson+]
+xref:kb/docs/php/wish-list-lesson3.adoc[+<< Previous lesson+]
 
-xref:./wish-list-lesson5.adoc[+Next lesson >>+]
+xref:kb/docs/php/wish-list-lesson5.adoc[+Next lesson >>+]
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson5.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson5.adoc
index fc92ab8..70ac211 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson5.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson5.adoc
@@ -59,7 +59,7 @@
 [[_saving_the_wisher_s_id_in_the_session_upon_creation]]
 == Saving the Wisher's ID in the Session Upon Creation
 
-A link:http://us2.php.net/manual/en/ref.session.php[+Session+] is persistent storage for transferring information from one page to another without using an xref:./wish-list-lesson5.adoc#_html_form_for_logon_on_index_php[+HTML input form+]. This functionality is supported through the predefined PHP array  `$_SESSION` .
+A link:http://us2.php.net/manual/en/ref.session.php[+Session+] is persistent storage for transferring information from one page to another without using an xref:kb/docs/php/wish-list-lesson5.adoc#_html_form_for_logon_on_index_php[+HTML input form+]. This functionality is supported through the predefined PHP array  `$_SESSION` .
 
 For the sake of security, after a new wisher is created he should be logged on automatically without filling in a form. Therefore you need to modify the  `createNewWisher.php`  file to implement the following functionality:
 
@@ -166,7 +166,7 @@
 
 *Note:* You can ignore warnings from the HTML validator.
 
-The code presents an xref:./wish-list-lesson3.adoc#htmlForm[+HTML form+] that enables entering the name and password of the user in the text fields. When the user clicks Edit My Wish List, the data is transferred to the same page, index.php.
+The code presents an xref:kb/docs/php/wish-list-lesson3.adoc#htmlForm[+HTML form+] that enables entering the name and password of the user in the text fields. When the user clicks Edit My Wish List, the data is transferred to the same page, index.php.
 
 [[_logon_validation]]
 === Logon Validation
@@ -302,8 +302,8 @@
 [[_next_steps]]
 == Next Steps
 
-xref:./wish-list-lesson4.adoc[+<< Previous lesson+]
+xref:kb/docs/php/wish-list-lesson4.adoc[+<< Previous lesson+]
 
-xref:./wish-list-lesson6.adoc[+Next lesson >>+]
+xref:kb/docs/php/wish-list-lesson6.adoc[+Next lesson >>+]
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson6.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson6.adoc
index 583a841..e9c84d4 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson6.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson6.adoc
@@ -42,7 +42,7 @@
 
 image::kb/docs/php/page-flow-diagram-l6.png[]
 
-The current document is a part of the xref:./wish-list-tutorial-main-page.adoc[+Creating a CRUD Application in the NetBeans IDE for PHP+] tutorial.
+The current document is a part of the xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Creating a CRUD Application in the NetBeans IDE for PHP+] tutorial.
 
 
 [[_application_source_code_from_the_previous_lesson]]
@@ -476,8 +476,8 @@
 [[_next_steps]]
 == Next Steps
 
-xref:./wish-list-lesson5.adoc[+<< Previous lesson+]
+xref:kb/docs/php/wish-list-lesson5.adoc[+<< Previous lesson+]
 
-xref:./wish-list-lesson7.adoc[+Next lesson >>+]
+xref:kb/docs/php/wish-list-lesson7.adoc[+Next lesson >>+]
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson7.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson7.adoc
index 242358a..b0726d0 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson7.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson7.adoc
@@ -608,9 +608,9 @@
 
 == Next Steps
 
-xref:./wish-list-lesson6.adoc[+<< Previous lesson+] 
+xref:kb/docs/php/wish-list-lesson6.adoc[+<< Previous lesson+] 
 
-xref:./wish-list-lesson8.adoc[+Next lesson >>+] 
+xref:kb/docs/php/wish-list-lesson8.adoc[+Next lesson >>+] 
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
 
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson8.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson8.adoc
index caf70ff..6ebce74 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson8.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson8.adoc
@@ -245,8 +245,8 @@
 
 == Next Steps
 
-xref:./wish-list-lesson7.adoc[+<< Previous lesson+]
+xref:kb/docs/php/wish-list-lesson7.adoc[+<< Previous lesson+]
 
-xref:./wish-list-lesson9.adoc[+Next lesson >>+]
+xref:kb/docs/php/wish-list-lesson9.adoc[+Next lesson >>+]
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-lesson9.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-lesson9.adoc
index c9d4488..9f35e01 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-lesson9.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-lesson9.adoc
@@ -106,9 +106,9 @@
 
 * <<previousLessonSourceCode,Download the source files>> that correspond to the state of the application after the previous lesson is completed. Extract the files.
 * Save the source files in the  `htdocs`  folder.
-* Create a xref:./project-setup.adoc#importSources[+PHP project with existing sources+]:
+* Create a xref:kb/docs/php/project-setup.adoc#importSources[+PHP project with existing sources+]:
 ** Specify the location of the downloaded sources in the Source folder
-** Choose the xref:./project-setup.adoc#remiteWebSite[+Remote Web Site+] run configuration and configure the FTP connection
+** Choose the xref:kb/docs/php/project-setup.adoc#remiteWebSite[+Remote Web Site+] run configuration and configure the FTP connection
 * Complete the project creation.
 
 
@@ -141,6 +141,6 @@
 
 == Next Steps
 
-- xref:./wish-list-lesson8.adoc[+<< Previous lesson+]
-- xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+- xref:kb/docs/php/wish-list-lesson8.adoc[+<< Previous lesson+]
+- xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
 
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-oracle-lesson1.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-oracle-lesson1.adoc
index 64261d0..c99b24b 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-oracle-lesson1.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-oracle-lesson1.adoc
@@ -34,7 +34,7 @@
 endif::[]
 
 This lesson describes the last preliminary step in developing the Wish List application, that of creating a sample database with test data. To complete the steps in this tutorial, you will need a database in which to store data of wishers. With the NetBeans IDE you can perform all these activities through the IDE interface. 
-Before starting, see the tutorial requirements described in xref:./wish-list-tutorial-main-page.adoc[+Creating a CRUD Application with PHP - Main page+].
+Before starting, see the tutorial requirements described in xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Creating a CRUD Application with PHP - Main page+].
 
 The current document is a part of the Creating a CRUD Application in the NetBeans IDE for PHP tutorial.
 
@@ -238,6 +238,6 @@
 
 == Next Step
 
-xref:./wish-list-lesson2.adoc[+Next Lesson >>+]
+xref:kb/docs/php/wish-list-lesson2.adoc[+Next Lesson >>+]
 
-xref:./wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
+xref:kb/docs/php/wish-list-tutorial-main-page.adoc[+Back to the Tutorial main page+]
diff --git a/modules/ROOT/pages/kb/docs/php/wish-list-tutorial-main-page.adoc b/modules/ROOT/pages/kb/docs/php/wish-list-tutorial-main-page.adoc
index 9cce3a9..ffeec84 100644
--- a/modules/ROOT/pages/kb/docs/php/wish-list-tutorial-main-page.adoc
+++ b/modules/ROOT/pages/kb/docs/php/wish-list-tutorial-main-page.adoc
@@ -38,16 +38,16 @@
 
 . Creating the Database
 
-.. xref:./wish-list-lesson1.adoc[+Creating a MySQL Database+]
-.. xref:./wish-list-oracle-lesson1.adoc[+Creating Oracle Database Tables+]
-.. xref:./wish-list-lesson2.adoc[+Designing the Application. Reading from the Database+]
-. xref:./wish-list-lesson3.adoc[+ Creating a New Application User +]
-. xref:./wish-list-lesson4.adoc[+Optimizing the Code+]
-. xref:./wish-list-lesson5.adoc[+Adding Security. Implementing Application User Logon+]
-. xref:./wish-list-lesson6.adoc[+Adding a New Wish to the Database+]
-. xref:./wish-list-lesson7.adoc[+Updating and Deleting Entries in the Database+]
-. xref:./wish-list-lesson8.adoc[+Making the Application Look Better Using the CSS Technology+]
-. xref:./wish-list-lesson9.adoc[+Deploying the Application on a Remote Web Server+]
+.. xref:kb/docs/php/wish-list-lesson1.adoc[+Creating a MySQL Database+]
+.. xref:kb/docs/php/wish-list-oracle-lesson1.adoc[+Creating Oracle Database Tables+]
+.. xref:kb/docs/php/wish-list-lesson2.adoc[+Designing the Application. Reading from the Database+]
+. xref:kb/docs/php/wish-list-lesson3.adoc[+ Creating a New Application User +]
+. xref:kb/docs/php/wish-list-lesson4.adoc[+Optimizing the Code+]
+. xref:kb/docs/php/wish-list-lesson5.adoc[+Adding Security. Implementing Application User Logon+]
+. xref:kb/docs/php/wish-list-lesson6.adoc[+Adding a New Wish to the Database+]
+. xref:kb/docs/php/wish-list-lesson7.adoc[+Updating and Deleting Entries in the Database+]
+. xref:kb/docs/php/wish-list-lesson8.adoc[+Making the Application Look Better Using the CSS Technology+]
+. xref:kb/docs/php/wish-list-lesson9.adoc[+Deploying the Application on a Remote Web Server+]
 
 In this tutorial, you use the PHP features in the Apache NetBeans to create and run a simple web application. The example shows how to create a wish list. After you create and deploy the application, it enables you to share information on wish lists with your friends, such as lists for wedding, birthday, or holiday gifts. The information is stored in the database that you create in Lesson 1.
 
@@ -84,8 +84,8 @@
 
 == Next Step:
 
-xref:./wish-list-lesson1.adoc[+Creating a MySQL Database+]
+xref:kb/docs/php/wish-list-lesson1.adoc[+Creating a MySQL Database+]
 
 or
 
-xref:./wish-list-oracle-lesson1.adoc[+Creating Oracle Database Tables+]
+xref:kb/docs/php/wish-list-oracle-lesson1.adoc[+Creating Oracle Database Tables+]
diff --git a/modules/ROOT/pages/kb/docs/platform.adoc b/modules/ROOT/pages/kb/docs/platform.adoc
index a7895a7..2080c33 100644
--- a/modules/ROOT/pages/kb/docs/platform.adoc
+++ b/modules/ROOT/pages/kb/docs/platform.adoc
@@ -117,7 +117,7 @@
 
 We have ported the NetBeans Tutorials to this site, but some of the tutorials need a review.
 
-You can help us improve the tutorials following xref:./contributing.adoc[these contribution guidelines].
+You can help us improve the tutorials following xref:kb/docs/contributing.adoc[these contribution guidelines].
 
 * For historical reasons, the xref:kb/docs/platform/index.adoc[NetBeans Platform Learning Trail] has also a list of tutorials you may want to check.
 
diff --git a/modules/ROOT/pages/kb/docs/platform/index.adoc b/modules/ROOT/pages/kb/docs/platform/index.adoc
index 929fe5c..2a71b7f 100644
--- a/modules/ROOT/pages/kb/docs/platform/index.adoc
+++ b/modules/ROOT/pages/kb/docs/platform/index.adoc
@@ -41,7 +41,7 @@
 desktop applications. 
 
 // not available NetBeans IDE itself is
-//xref:../../projects/platform/screenshots.adoc[one of the hundreds of
+//xref:projects/platform/screenshots.adoc[one of the hundreds of
 //applications] based on the NetBeans Platform. 
 
 The NetBeans Platform contains
diff --git a/modules/ROOT/pages/kb/docs/web/ajax-quickstart.adoc b/modules/ROOT/pages/kb/docs/web/ajax-quickstart.adoc
index 21147b7..f546336 100644
--- a/modules/ROOT/pages/kb/docs/web/ajax-quickstart.adoc
+++ b/modules/ROOT/pages/kb/docs/web/ajax-quickstart.adoc
@@ -1190,9 +1190,9 @@
 [[seeAlso]]
 == See Also
 
-For more information about Ajax and Java technology on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about Ajax and Java technology on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
-* xref:./js-toolkits-jquery.adoc[+Using jQuery to Enhance the Appearance and Usability of a Web Page+]. Demonstrates how to integrate jQuery core and UI libraries into a NetBeans project.
-* xref:./js-toolkits-dojo.adoc[+Connecting a Dojo Tree to an ArrayList using JSON+]. Based on a JavaOne Hands-On Lab, this document shows how to implement a Dojo Tree widget into a web page and enable the server-side to respond to Tree requests in JSON format.
+* xref:kb/docs/web/js-toolkits-jquery.adoc[+Using jQuery to Enhance the Appearance and Usability of a Web Page+]. Demonstrates how to integrate jQuery core and UI libraries into a NetBeans project.
+* xref:kb/docs/web/js-toolkits-dojo.adoc[+Connecting a Dojo Tree to an ArrayList using JSON+]. Based on a JavaOne Hands-On Lab, this document shows how to implement a Dojo Tree widget into a web page and enable the server-side to respond to Tree requests in JSON format.
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG2272[+Creating JavaScript Files+] in _Developing Applications with NetBeans IDE_.
-* xref:./quickstart-webapps-wicket.adoc[+Introduction to the Wicket Web Framework+]. An introduction to creating reusable components and applying them to a web application using the Wicket framework.
+* xref:kb/docs/web/quickstart-webapps-wicket.adoc[+Introduction to the Wicket Web Framework+]. An introduction to creating reusable components and applying them to a web application using the Wicket framework.
diff --git a/modules/ROOT/pages/kb/docs/web/framework-adding-support.adoc b/modules/ROOT/pages/kb/docs/web/framework-adding-support.adoc
index 1e4c619..dd6f6df 100644
--- a/modules/ROOT/pages/kb/docs/web/framework-adding-support.adoc
+++ b/modules/ROOT/pages/kb/docs/web/framework-adding-support.adoc
@@ -39,7 +39,7 @@
 
 In this tutorial you will add support for the Apache Struts 2 framework by downloading a plugin from the NetBeans Plugin Portal and installing the plugin using the Plugins manager.
 
-*Note: *The IDE bundles support for the xref:./jsf20-support.adoc[+JavaServer Faces 2.x+] and xref:./quickstart-webapps-struts.adoc[+Struts 1.3.10+] and xref:./quickstart-webapps-spring.adoc[+Spring 3.x and 4.x+] frameworks. The specific version of the bundled framework depends upon the version of the IDE.
+*Note: *The IDE bundles support for the xref:kb/docs/web/jsf20-support.adoc[+JavaServer Faces 2.x+] and xref:kb/docs/web/quickstart-webapps-struts.adoc[+Struts 1.3.10+] and xref:kb/docs/web/quickstart-webapps-spring.adoc[+Spring 3.x and 4.x+] frameworks. The specific version of the bundled framework depends upon the version of the IDE.
 
 
 image::kb/docs/web/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
@@ -250,10 +250,10 @@
 
 This document described how to add support for a web framework in NetBeans IDE. It demonstrated how to install framework support plugins by downloading manually as well as via an update center in the IDE's Plugin Manager. It also showed how to add an IDE-supported framework to both a new web application project and an existing project.
 
-This tutorial focused on adding the Struts2 framework. If you would like to explore the other features offered by this framework, see xref:./quickstart-webapps-struts.adoc[+Introduction to the Struts Web Framework+].
+This tutorial focused on adding the Struts2 framework. If you would like to explore the other features offered by this framework, see xref:kb/docs/web/quickstart-webapps-struts.adoc[+Introduction to the Struts Web Framework+].
 
 For more information about using other web frameworks in NetBeans IDE, see the following resources:
 
-* xref:./quickstart-webapps-spring.adoc[Introduction to the Spring Web Framework]
-* xref:./quickstart-webapps-struts.adoc[Introduction to the Struts Web Framework]
-* xref:./quickstart-webapps-wicket.adoc[Introduction to the Wicket Web Framework]
+* xref:kb/docs/web/quickstart-webapps-spring.adoc[Introduction to the Spring Web Framework]
+* xref:kb/docs/web/quickstart-webapps-struts.adoc[Introduction to the Struts Web Framework]
+* xref:kb/docs/web/quickstart-webapps-wicket.adoc[Introduction to the Wicket Web Framework]
diff --git a/modules/ROOT/pages/kb/docs/web/grails-quickstart.adoc b/modules/ROOT/pages/kb/docs/web/grails-quickstart.adoc
index 208d361..d699262 100644
--- a/modules/ROOT/pages/kb/docs/web/grails-quickstart.adoc
+++ b/modules/ROOT/pages/kb/docs/web/grails-quickstart.adoc
@@ -169,5 +169,5 @@
 
 This concludes the introduction to Grails in NetBeans IDE. You now know how to create a basic application in the Grails framework using the IDE.
 
-For more information about Grails and Groovy technology on xref:../../../index.adoc[+netbeans.org+], see xref:kb/docs/java/groovy-quickstart.adoc[+Introduction to Groovy+].
+For more information about Grails and Groovy technology on xref:front::index.adoc[+netbeans.org+], see xref:kb/docs/java/groovy-quickstart.adoc[+Introduction to Groovy+].
 
diff --git a/modules/ROOT/pages/kb/docs/web/hibernate-webapp.adoc b/modules/ROOT/pages/kb/docs/web/hibernate-webapp.adoc
index 970030f..cc13f4a 100644
--- a/modules/ROOT/pages/kb/docs/web/hibernate-webapp.adoc
+++ b/modules/ROOT/pages/kb/docs/web/hibernate-webapp.adoc
@@ -40,8 +40,8 @@
 Before starting this tutorial you may want to familiarize yourself with the following documents.
 
 * Hibernate documentation at link:http://www.hibernate.org/[+hibernate.org+]
-* xref:./quickstart-webapps.adoc[+Introduction to Developing Web Applications+]
-* xref:./jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x+]
+* xref:kb/docs/web/quickstart-webapps.adoc[+Introduction to Developing Web Applications+]
+* xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x+]
 
 
 image::kb/docs/web/netbeans-stamp-74-73-72.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3 and 7.4"]
@@ -669,7 +669,7 @@
 
 In this exercise you will create two web pages for displaying the data. You will modify the  ``index.xhtml``  generated by the IDE to add a table that displays the films in the database. You will then create  ``browse.xhtml``  to display a film's details when you click the "View" link in the table. You will also create a JSF template page that is used by  ``index.xhtml``  and  ``browse.xhtml`` .
 
-For more about using JSF 2.0 and Facelets templates, see xref:./jsf20-intro.adoc[+Introduction to JavaServer Faces 2.0+]
+For more about using JSF 2.0 and Facelets templates, see xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.0+]
 
 
 === Creating  ``template.xhtml`` 
@@ -989,7 +989,7 @@
 
 === Troubleshooting
 
-Most of the problems that occur with the tutorial application are due to communication difficulties between the GlassFish Server Open Source Edition and the MySQL database server. If your application does not display correctly, or if you are receiving a server error, you might want to look at the xref:./mysql-webapp.adoc#troubleshoot[+Troubleshooting+] section of the xref:./mysql-webapp.adoc[+Creating a Simple Web Application Using a MySQL Database+] tutorial or the xref:kb/docs/ide/mysql.adoc[+Connecting to a MySQL Database+] tutorial.
+Most of the problems that occur with the tutorial application are due to communication difficulties between the GlassFish Server Open Source Edition and the MySQL database server. If your application does not display correctly, or if you are receiving a server error, you might want to look at the xref:kb/docs/web/mysql-webapp.adoc#troubleshoot[+Troubleshooting+] section of the xref:kb/docs/web/mysql-webapp.adoc[+Creating a Simple Web Application Using a MySQL Database+] tutorial or the xref:kb/docs/ide/mysql.adoc[+Connecting to a MySQL Database+] tutorial.
 
 If you download and run the solution project you might see the following error in the Output window if it is the first time that you have deployed an application that uses the MySQL database.
 
@@ -1041,6 +1041,6 @@
 
 == See Also
 
-* xref:./jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+]
-* xref:./jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x+]
+* xref:kb/docs/web/jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+]
+* xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/web/html5-cordova-screencast.adoc b/modules/ROOT/pages/kb/docs/web/html5-cordova-screencast.adoc
index f5d6750..eb17f5c 100644
--- a/modules/ROOT/pages/kb/docs/web/html5-cordova-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/web/html5-cordova-screencast.adoc
@@ -38,9 +38,9 @@
 
 |For more about working with HTML5 applications in NetBeans IDE, watch the following screencasts.
 
-* xref:./html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
-* xref:./html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
-* xref:./html5-javascript-screencast.adoc[+ HTML5 - Part 3: Testing and Debugging JavaScript in HTML5 Applications+]
+* xref:kb/docs/web/html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
+* xref:kb/docs/web/html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
+* xref:kb/docs/web/html5-javascript-screencast.adoc[+ HTML5 - Part 3: Testing and Debugging JavaScript in HTML5 Applications+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
  
diff --git a/modules/ROOT/pages/kb/docs/web/html5-css-screencast.adoc b/modules/ROOT/pages/kb/docs/web/html5-css-screencast.adoc
index 1482d85..e385596 100644
--- a/modules/ROOT/pages/kb/docs/web/html5-css-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/web/html5-css-screencast.adoc
@@ -41,8 +41,8 @@
 
 |For more about working with HTML5 applications in NetBeans IDE, watch the following screencasts.
 
-* xref:./html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
-* xref:./html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS in HTML5 Applications+]
+* xref:kb/docs/web/html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
+* xref:kb/docs/web/html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS in HTML5 Applications+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
 
@@ -52,8 +52,8 @@
 
 == Related links
 
-* Demo:xref:./html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
-* Demo:xref:./html5-javascript-screencast.adoc[+ HTML5 - Part 3: Testing and Debugging JavaScript in HTML5 Applications+]
+* Demo:xref:kb/docs/web/html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
+* Demo:xref:kb/docs/web/html5-javascript-screencast.adoc[+ HTML5 - Part 3: Testing and Debugging JavaScript in HTML5 Applications+]
 * xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications +]
 * xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]
 * xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]
diff --git a/modules/ROOT/pages/kb/docs/web/html5-gettingstarted-screencast.adoc b/modules/ROOT/pages/kb/docs/web/html5-gettingstarted-screencast.adoc
index 3fb7051..797d53e 100644
--- a/modules/ROOT/pages/kb/docs/web/html5-gettingstarted-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/web/html5-gettingstarted-screencast.adoc
@@ -41,8 +41,8 @@
 
 |For more about working with HTML5 applications in NetBeans IDE, watch the following screencasts.
 
-* xref:./html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
-* xref:./html5-javascript-screencast.adoc[+ HTML5 - Part 3: Testing and Debugging JavaScript in HTML5 Applications+]
+* xref:kb/docs/web/html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
+* xref:kb/docs/web/html5-javascript-screencast.adoc[+ HTML5 - Part 3: Testing and Debugging JavaScript in HTML5 Applications+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
  
@@ -51,8 +51,8 @@
 
 == Related links
 
-* Demo:xref:./html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
-* Demo:xref:./html5-javascript-screencast.adoc[+ HTML5 - Part 3: Testing and Debugging JavaScript in HTML5 Applications+]
+* Demo:xref:kb/docs/web/html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
+* Demo:xref:kb/docs/web/html5-javascript-screencast.adoc[+ HTML5 - Part 3: Testing and Debugging JavaScript in HTML5 Applications+]
 * xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications +]
 * xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]
 * xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]
diff --git a/modules/ROOT/pages/kb/docs/web/html5-javascript-screencast.adoc b/modules/ROOT/pages/kb/docs/web/html5-javascript-screencast.adoc
index c679c5b..2baa854 100644
--- a/modules/ROOT/pages/kb/docs/web/html5-javascript-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/web/html5-javascript-screencast.adoc
@@ -41,8 +41,8 @@
 
 |For more about working with HTML5 applications in NetBeans IDE, watch the following screencasts.
 
-* xref:./html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
-* xref:./html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
+* xref:kb/docs/web/html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
+* xref:kb/docs/web/html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
  
@@ -51,8 +51,8 @@
 
 == Related links
 
-* Demo:xref:./html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
-* Demo:xref:./html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
+* Demo:xref:kb/docs/web/html5-gettingstarted-screencast.adoc[+ HTML5 - Part 1: Getting Started with HTML5 Applications+]
+* Demo:xref:kb/docs/web/html5-css-screencast.adoc[+ HTML5 - Part 2: Working with CSS Style Sheets in HTML5 Applications+]
 * xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications +]
 * xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]
 * xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]
diff --git a/modules/ROOT/pages/kb/docs/web/index.adoc b/modules/ROOT/pages/kb/docs/web/index.adoc
index 158f2b1..c5a2739 100644
--- a/modules/ROOT/pages/kb/docs/web/index.adoc
+++ b/modules/ROOT/pages/kb/docs/web/index.adoc
@@ -26,28 +26,28 @@
 :toc-title:
 :description: Web Technologies Tutorials
 
-- xref:./framework-adding-support.adoc[Adding Support For A Web Framework]
-- xref:./js-toolkits-dojo.adoc[Connecting a Dojo Tree to an ArrayList using JSON]
-- xref:./mysql-webapp.adoc[Creating a Simple Web Application Using a MySQL Database]
-- xref:./jsf-jpa-weblogic.adoc[Developing an Enterprise Application for Oracle WebLogic Server]
-- xref:./jsf20-crud.adoc[Generating a JavaServer Faces 2.x CRUD Application from a Database]
-- xref:./html5-cordova-screencast.adoc[HTML5 - Getting Started with Cordova Development]
-- xref:./html5-gettingstarted-screencast.adoc[HTML5 - Part 1: Video of Getting Started with HTML5 Applications]
-- xref:./html5-css-screencast.adoc[HTML5 - Part 2: Video of Working with CSS Style Sheets in HTML5 Applications]
-- xref:./html5-javascript-screencast.adoc[HTML5 - Part 3: Video of Testing and Debugging JavaScript in HTML5 Applications]
-- xref:./applets.adoc[Integrating an Applet in a Web Application]
-- xref:./ajax-quickstart.adoc[Introduction to Ajax for Java Web Applications]
-- xref:./quickstart-webapps.adoc[Introduction to Developing Web Applications]
-- xref:./jsf20-intro.adoc[Introduction to JavaServer Faces 2.x]
-- xref:./quickstart-webapps-spring.adoc[Introduction to Spring Web MVC]
-- xref:./grails-quickstart.adoc[Introduction to the Grails Web Framework]
-- xref:./quickstart-webapps-struts.adoc[Introduction to the Struts Web Framework]
-- xref:./quickstart-webapps-wicket.adoc[Introduction to the Wicket Web Framework]
-- xref:./jsf20-support.adoc[JSF 2.x Support in NetBeans IDE]
-- xref:./oracle-cloud.adoc[Running Web Applications on Oracle Cloud]
-- xref:./security-webapps.adoc[Securing a Web Application in NetBeans IDE]
-- xref:./hibernate-webapp.adoc[Using Hibernate in a Web Application]
-- xref:./js-toolkits-jquery.adoc[Using jQuery to Enhance the Appearance and Usability of a Web Page]
+- xref:kb/docs/web/framework-adding-support.adoc[Adding Support For A Web Framework]
+- xref:kb/docs/web/js-toolkits-dojo.adoc[Connecting a Dojo Tree to an ArrayList using JSON]
+- xref:kb/docs/web/mysql-webapp.adoc[Creating a Simple Web Application Using a MySQL Database]
+- xref:kb/docs/web/jsf-jpa-weblogic.adoc[Developing an Enterprise Application for Oracle WebLogic Server]
+- xref:kb/docs/web/jsf20-crud.adoc[Generating a JavaServer Faces 2.x CRUD Application from a Database]
+- xref:kb/docs/web/html5-cordova-screencast.adoc[HTML5 - Getting Started with Cordova Development]
+- xref:kb/docs/web/html5-gettingstarted-screencast.adoc[HTML5 - Part 1: Video of Getting Started with HTML5 Applications]
+- xref:kb/docs/web/html5-css-screencast.adoc[HTML5 - Part 2: Video of Working with CSS Style Sheets in HTML5 Applications]
+- xref:kb/docs/web/html5-javascript-screencast.adoc[HTML5 - Part 3: Video of Testing and Debugging JavaScript in HTML5 Applications]
+- xref:kb/docs/web/applets.adoc[Integrating an Applet in a Web Application]
+- xref:kb/docs/web/ajax-quickstart.adoc[Introduction to Ajax for Java Web Applications]
+- xref:kb/docs/web/quickstart-webapps.adoc[Introduction to Developing Web Applications]
+- xref:kb/docs/web/jsf20-intro.adoc[Introduction to JavaServer Faces 2.x]
+- xref:kb/docs/web/quickstart-webapps-spring.adoc[Introduction to Spring Web MVC]
+- xref:kb/docs/web/grails-quickstart.adoc[Introduction to the Grails Web Framework]
+- xref:kb/docs/web/quickstart-webapps-struts.adoc[Introduction to the Struts Web Framework]
+- xref:kb/docs/web/quickstart-webapps-wicket.adoc[Introduction to the Wicket Web Framework]
+- xref:kb/docs/web/jsf20-support.adoc[JSF 2.x Support in NetBeans IDE]
+- xref:kb/docs/web/oracle-cloud.adoc[Running Web Applications on Oracle Cloud]
+- xref:kb/docs/web/security-webapps.adoc[Securing a Web Application in NetBeans IDE]
+- xref:kb/docs/web/hibernate-webapp.adoc[Using Hibernate in a Web Application]
+- xref:kb/docs/web/js-toolkits-jquery.adoc[Using jQuery to Enhance the Appearance and Usability of a Web Page]
 - xref:index.adoc[Web Technologies Tutorials]
 
 
diff --git a/modules/ROOT/pages/kb/docs/web/js-toolkits-dojo.adoc b/modules/ROOT/pages/kb/docs/web/js-toolkits-dojo.adoc
index f8174a5..a6c5654 100644
--- a/modules/ROOT/pages/kb/docs/web/js-toolkits-dojo.adoc
+++ b/modules/ROOT/pages/kb/docs/web/js-toolkits-dojo.adoc
@@ -500,8 +500,8 @@
 * Online API Reference: link:http://api.dojotoolkit.org/[+http://api.dojotoolkit.org/+]
 * Dojo Demo: link:http://demos.dojotoolkit.org/demos/[+http://demos.dojotoolkit.org/demos/+]
 
-For more information about JavaScript and JavaScript toolkit features on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about JavaScript and JavaScript toolkit features on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
-* xref:./js-toolkits-jquery.adoc[+Using jQuery to Enhance the Appearance and Usability of a Web Page+]. An introduction to jQuery is provided, and steps are given showing how to apply jQuery's accordion widget to HTML markup in a web page.
-* xref:./ajax-quickstart.adoc[+Introduction to Ajax (Java)+]. Describes how to build a simple application using servlet technology while teaching the underlying process flow of an Ajax request.
+* xref:kb/docs/web/js-toolkits-jquery.adoc[+Using jQuery to Enhance the Appearance and Usability of a Web Page+]. An introduction to jQuery is provided, and steps are given showing how to apply jQuery's accordion widget to HTML markup in a web page.
+* xref:kb/docs/web/ajax-quickstart.adoc[+Introduction to Ajax (Java)+]. Describes how to build a simple application using servlet technology while teaching the underlying process flow of an Ajax request.
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG2272[+Creating JavaScript Files+] in _Developing Applications with NetBeans IDE_.
diff --git a/modules/ROOT/pages/kb/docs/web/jsf-jpa-weblogic.adoc b/modules/ROOT/pages/kb/docs/web/jsf-jpa-weblogic.adoc
index 255b65d..92c6db2 100644
--- a/modules/ROOT/pages/kb/docs/web/jsf-jpa-weblogic.adoc
+++ b/modules/ROOT/pages/kb/docs/web/jsf-jpa-weblogic.adoc
@@ -429,6 +429,6 @@
 For more information about using NetBeans IDE to develop web applications using Java Persistence and JavaServer Faces, see the following resources:
 
 * xref:kb/docs/javaee/weblogic-javaee-m1-screencast.adoc[+Video of Deploying a Web Application to the Oracle WebLogic Server+]
-* xref:./jsf20-intro.adoc[+Introduction to JavaServer Faces 2.0+]
+* xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.0+]
 * xref:kb/docs/javaee/ecommerce/intro.adoc[+The NetBeans E-commerce Tutorial+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/web/jsf20-crud.adoc b/modules/ROOT/pages/kb/docs/web/jsf20-crud.adoc
index a311b12..b7ac2c9 100644
--- a/modules/ROOT/pages/kb/docs/web/jsf20-crud.adoc
+++ b/modules/ROOT/pages/kb/docs/web/jsf20-crud.adoc
@@ -399,7 +399,7 @@
 
 You can click the index link to return to the links listed in the welcome page. The links provide you with a view of the data held in each database table and trigger the `List.xhtml` file for each entity folder to display. As is later demonstrated, after you add data to the tables, other links will display for each entry enabling you to view (`View.xhtml`), edit (`Edit.xhmtl`), and destroy data for a single table record.
 
-*Note.* If the application fails to deploy, see the <<troubleshooting,troubleshooting section>> below. (Also see the troubleshooting section of xref:./mysql-webapp.adoc#troubleshoot[Creating a Simple Web Application Using a MySQL Database].)
+*Note.* If the application fails to deploy, see the <<troubleshooting,troubleshooting section>> below. (Also see the troubleshooting section of xref:kb/docs/web/mysql-webapp.adoc#troubleshoot[Creating a Simple Web Application Using a MySQL Database].)
 
 
 [[populateDB]]
@@ -815,7 +815,7 @@
 For more tips on troubleshooting problems when using MySQL and the IDE, see the following documents:
 
 * xref:kb/docs/ide/mysql.adoc[Connecting to a MySQL Database] tutorial.
-* The troubleshooting section of xref:./mysql-webapp.adoc#troubleshoot[Creating a Simple Web Application Using a MySQL Database]
+* The troubleshooting section of xref:kb/docs/web/mysql-webapp.adoc#troubleshoot[Creating a Simple Web Application Using a MySQL Database]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
 
@@ -826,9 +826,9 @@
 
 === NetBeans Articles and Tutorials
 
-* xref:./jsf20-intro.adoc[Introduction to JavaServer Faces 2.x in NetBeans IDE]
-* xref:./jsf20-support.adoc[JSF 2.x Support in NetBeans IDE]
-* xref:../../samples/scrum-toys.adoc[Scrum Toys - The JSF 2.0 Complete Sample Application]
+* xref:kb/docs/web/jsf20-intro.adoc[Introduction to JavaServer Faces 2.x in NetBeans IDE]
+* xref:kb/docs/web/jsf20-support.adoc[JSF 2.x Support in NetBeans IDE]
+* xref:samples/scrum-toys.adoc[Scrum Toys - The JSF 2.0 Complete Sample Application]
 * xref:kb/docs/javaee/javaee-gettingstarted.adoc[Getting Started with Java EE Applications]
 * xref:kb/docs/java-ee.adoc[Java EE &amp; Java Web Learning Trail]
 
diff --git a/modules/ROOT/pages/kb/docs/web/jsf20-intro.adoc b/modules/ROOT/pages/kb/docs/web/jsf20-intro.adoc
index d5bd405..818e538 100644
--- a/modules/ROOT/pages/kb/docs/web/jsf20-intro.adoc
+++ b/modules/ROOT/pages/kb/docs/web/jsf20-intro.adoc
@@ -50,7 +50,7 @@
 * wire the managed bean to the application's web pages, and
 * convert the web pages into Facelets template files.
 
-The NetBeans IDE has provided long-standing support for JavaServer Faces. Starting with the release of JSF 2.0 and Java EE 6, NetBeans IDE has provided support for JSF 2.0 and JSF 2.1. For more information, see xref:./jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+].
+The NetBeans IDE has provided long-standing support for JavaServer Faces. Starting with the release of JSF 2.0 and Java EE 6, NetBeans IDE has provided support for JSF 2.0 and JSF 2.1. For more information, see xref:kb/docs/web/jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+].
 
 
 To complete this tutorial, you need the following software and resources.
@@ -79,7 +79,7 @@
 
 Begin by opening the <<requiredSoftware,`jsfDemo` web application project>> in the IDE. Once you have the project opened in the IDE, you can add framework support to it using the project's Properties window.
 
-The IDE also allows you to create new projects with JSF 2.x support. For more information, see xref:./jsf20-support.adoc#creatingSupport[+Creating a New Project with JSF 2.x Support+].
+The IDE also allows you to create new projects with JSF 2.x support. For more information, see xref:kb/docs/web/jsf20-support.adoc#creatingSupport[+Creating a New Project with JSF 2.x Support+].
 
 1. Click the Open Project ( images:./open-project-btn.png[] ) button in the IDE's main toolbar, or press Ctrl-Shift-O (⌘-Shift-O on Mac).
 2. In the Open Project dialog, navigate to the location on your computer where you stored the unzipped tutorial project. Select it, then click Open Project to open it in the IDE.
@@ -159,7 +159,7 @@
 
 You can locate the JSF libraries by expanding the project's Libraries node in the Projects window. If you are using the default libraries included with GlassFish Server 3.1.2 or GlassFish Server 4 this is the `javax.faces.jar` that is visible under the GlassFish Server node. (If you are using an older version of GlassFish you will see the `jsf-api.jar` and `jsf-impl.jar` libraries instead of `javax.faces.jar`.)
 
-The IDE's JSF 2.x support primarily includes numerous JSF-specific wizards, and special functionality provided by the Facelets editor. You explore these functional capabilities in the following steps. For more information, see xref:./jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+].
+The IDE's JSF 2.x support primarily includes numerous JSF-specific wizards, and special functionality provided by the Facelets editor. You explore these functional capabilities in the following steps. For more information, see xref:kb/docs/web/jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+].
 
 
 [[managedBean]]
@@ -169,7 +169,7 @@
 
 A POJO is essentially a Java class that contains a public, no argument constructor and conforms to the link:http://download.oracle.com/javase/tutorial/javabeans/[+JavaBeans+] naming conventions for its properties.
 
-Looking at the <<staticPage,static page>> produced from running the project, you need a mechanism that determines whether a user-entered number matches the one currently selected, and returns a view that is appropriate for this outcome. Use the IDE's xref:./jsf20-support.adoc#managedBean[+Managed Bean wizard+] to create a managed bean for this purpose. The Facelets pages that you create in the next section will need to access the number that the user types in, and the generated response. To enable this, add `userNumber` and `response` properties to the managed bean.
+Looking at the <<staticPage,static page>> produced from running the project, you need a mechanism that determines whether a user-entered number matches the one currently selected, and returns a view that is appropriate for this outcome. Use the IDE's xref:kb/docs/web/jsf20-support.adoc#managedBean[+Managed Bean wizard+] to create a managed bean for this purpose. The Facelets pages that you create in the next section will need to access the number that the user types in, and the generated response. To enable this, add `userNumber` and `response` properties to the managed bean.
 
 * <<usingManagedBean,Using the Managed Bean Wizard>>
 * <<creatingConstructor,Creating a Constructor>>
@@ -565,7 +565,7 @@
 
 . To declare these components, use the IDE's code completion to add the tag library namespace to the page's `<html>` tag.
 
-Use the editor's code completion support to add required JSF namespaces to the file. When selecting a JSF or Facelets tag through code completion, the required namespace is automatically added to the document's root element. For more information, see xref:./jsf20-support.adoc#facelets[+JSF 2.x Support in NetBeans IDE+].
+Use the editor's code completion support to add required JSF namespaces to the file. When selecting a JSF or Facelets tag through code completion, the required namespace is automatically added to the document's root element. For more information, see xref:kb/docs/web/jsf20-support.adoc#facelets[+JSF 2.x Support in NetBeans IDE+].
 
 Place your cursor on any of the undeclared tags and press Ctrl-Space. Code completion suggestions and documentation support displays.
 
@@ -695,9 +695,9 @@
 
 The purpose of this section is to familiarize you with Facelets templating. For projects containing many views, it is often advantageous to apply a template file that defines the structure and appearance for multiple views. When servicing requests, the application inserts dynamically prepared content into the template file and sends the result back to the client. Although this project only contains two views (the welcome page and the response page), it is easy to see that they contain a lot of duplicated content. You can factor out this duplicated content into a Facelets template, and create template client files to handle content that is specific to the welcome and response pages.
 
-The IDE provides a xref:./jsf20-support.adoc#faceletsTemplate[+Facelets Template wizard+] for creating Facelets templates, and a Facelets Template Client wizard for creating files that rely on a template. This section makes use of these wizards.
+The IDE provides a xref:kb/docs/web/jsf20-support.adoc#faceletsTemplate[+Facelets Template wizard+] for creating Facelets templates, and a Facelets Template Client wizard for creating files that rely on a template. This section makes use of these wizards.
 
-*Note:* The IDE also provides a JSF Page wizard that enables you to create individual Facelets pages for your project. For more information, see xref:./jsf20-support.adoc#jsfPage[+JSF 2.x Support in NetBeans IDE+].
+*Note:* The IDE also provides a JSF Page wizard that enables you to create individual Facelets pages for your project. For more information, see xref:kb/docs/web/jsf20-support.adoc#jsfPage[+JSF 2.x Support in NetBeans IDE+].
 
 * <<templateFile,Creating the Facelets Template File>>
 * <<templateClient,Creating Template Client Files>>
@@ -979,9 +979,9 @@
 
 === NetBeans Articles and Tutorials
 
-* xref:./jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+]
-* xref:./jsf20-crud.adoc[+Generating a JavaServer Faces 2.x CRUD Application from a Database+]
-* xref:../../samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
+* xref:kb/docs/web/jsf20-support.adoc[+JSF 2.x Support in NetBeans IDE+]
+* xref:kb/docs/web/jsf20-crud.adoc[+Generating a JavaServer Faces 2.x CRUD Application from a Database+]
+* xref:samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
 * xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
diff --git a/modules/ROOT/pages/kb/docs/web/jsf20-support.adoc b/modules/ROOT/pages/kb/docs/web/jsf20-support.adoc
index d0bba82..92f7a38 100644
--- a/modules/ROOT/pages/kb/docs/web/jsf20-support.adoc
+++ b/modules/ROOT/pages/kb/docs/web/jsf20-support.adoc
@@ -86,7 +86,7 @@
 
 The IDE's editor is language-specific, and provides support depending on the file type you are working in. Generally speaking, you can press Ctrl-Space on an element in your file to invoke code completion and API documentation. You can also take advantage of keyboard shortcuts and code templates.
 
-Choose Help > Keyboard Shortcuts Card from the IDE's main menu to view common keyboard shortcuts and code templates. For the full list, see the link:http://wiki.netbeans.org/KeymapProfileFor60[+NetBeans IDE 6.x Keyboard Shortcuts Specification+].
+Choose Help > Keyboard Shortcuts Card from the IDE's main menu to view common keyboard shortcuts and code templates. For the full list, see the xref:wiki::wiki/KeymapProfileFor60[NetBeans IDE 6.x Keyboard Shortcuts Specification].
 
 The IDE provides built-in Javadoc support for the link:http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/index.html[+JSF 2.0 API+] and link:http://javaserverfaces.java.net/nonav/docs/2.1/javadocs/index.html[+JSF 2.1 API+], as well as JSF's link:http://javaserverfaces.java.net/nonav/docs/2.1/vdldocs/facelets/index.html[+Tag Library Documentation+]. To take advantage of these resources in your work, simply press Ctrl-Space on a given element in the editor.
 
@@ -319,7 +319,7 @@
 
 image::kb/docs/web/new-template-client.png[title="Create a Client for a Facelets template using the Facelets Template Client wizard"]
 
-For more details on using Facelets templates and clients, see the section on xref:./jsf20-intro.adoc#template[+Applying a Facelets Template+] in the xref:./jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x in NetBeans IDE+].
+For more details on using Facelets templates and clients, see the section on xref:kb/docs/web/jsf20-intro.adoc#template[+Applying a Facelets Template+] in the xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x in NetBeans IDE+].
 
 
 
@@ -524,9 +524,9 @@
 
 === NetBeans Articles and Tutorials
 
-* xref:./jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x in NetBeans IDE+]
-* xref:./jsf20-crud.adoc[+Generating a JavaServer Faces 2.x CRUD Application from a Database+]
-* xref:../../samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
+* xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x in NetBeans IDE+]
+* xref:kb/docs/web/jsf20-crud.adoc[+Generating a JavaServer Faces 2.x CRUD Application from a Database+]
+* xref:samples/scrum-toys.adoc[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
 * xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
 
diff --git a/modules/ROOT/pages/kb/docs/web/mysql-webapp.adoc b/modules/ROOT/pages/kb/docs/web/mysql-webapp.adoc
index a21f0b9..da95dcb 100644
--- a/modules/ROOT/pages/kb/docs/web/mysql-webapp.adoc
+++ b/modules/ROOT/pages/kb/docs/web/mysql-webapp.adoc
@@ -938,8 +938,8 @@
 
 * *NetBeans Articles and Tutorials*
 * xref:kb/docs/ide/mysql.adoc[+Connecting to a MySQL Database in NetBeans IDE+]. Covers the basics of working with a MySQL database in the IDE.
-* xref:./jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x+]. An introductory tutorial describing how to use the JSF framework in a Java web project.
-* xref:./quickstart-webapps-spring.adoc[+Introduction to the Spring Framework+]. An introductory tutorial describing how to create an MVC web application using the Spring Framework.
+* xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.x+]. An introductory tutorial describing how to use the JSF framework in a Java web project.
+* xref:kb/docs/web/quickstart-webapps-spring.adoc[+Introduction to the Spring Framework+]. An introductory tutorial describing how to create an MVC web application using the Spring Framework.
 * *Java Database Connectivity (JDBC)*
 * link:http://docs.oracle.com/javase/tutorial/jdbc/overview/index.html[+JDBC Overview+]
 * link:http://download.oracle.com/javase/6/docs/technotes/guides/jdbc/getstart/GettingStartedTOC.fm.html[+Getting Started with the JDBC API+]
diff --git a/modules/ROOT/pages/kb/docs/web/oracle-cloud.adoc b/modules/ROOT/pages/kb/docs/web/oracle-cloud.adoc
index dd62689..814cd88 100644
--- a/modules/ROOT/pages/kb/docs/web/oracle-cloud.adoc
+++ b/modules/ROOT/pages/kb/docs/web/oracle-cloud.adoc
@@ -35,7 +35,7 @@
 
 The Oracle Cloud is an enterprise cloud for business. The Oracle Cloud offers self-service business applications delivered on an integrated development and deployment platform with tools to rapidly extend and create new services. For more information about Oracle Cloud, see the link:https://cloud.oracle.com[+Oracle Cloud homepage+].
 
-This document shows you how to register the Oracle Cloud with NetBeans IDE and some of the Oracle Cloud features that are supported in the IDE. This document discusses some of the advantages and disadvantages of working completely on the Cloud versus working with a local server and then deploying to the Cloud. At the end you create a simple web application, following the instructions in xref:./quickstart-webapps.adoc[+Introduction to Web Applications+], and run it on Oracle Cloud.
+This document shows you how to register the Oracle Cloud with NetBeans IDE and some of the Oracle Cloud features that are supported in the IDE. This document discusses some of the advantages and disadvantages of working completely on the Cloud versus working with a local server and then deploying to the Cloud. At the end you create a simple web application, following the instructions in xref:kb/docs/web/quickstart-webapps.adoc[+Introduction to Web Applications+], and run it on Oracle Cloud.
 
 You might also want to look at the link:https://blogs.oracle.com/javatraining/entry/oracle_cloud_development_with_netbeans[+Oracle Cloud Development with NetBeans and Eclipse (OEPE)+] series of tutorials on the Java Training Beat blog.
 
@@ -191,7 +191,7 @@
 
 == Creating a Web Application
 
-Go to xref:./quickstart-webapps.adoc[+Introduction to Developing Web Applications+] and complete that tutorial. Develop the web application on a local Oracle WebLogic server. After the application is complete, change the server to Oracle Cloud Remote and run the application.
+Go to xref:kb/docs/web/quickstart-webapps.adoc[+Introduction to Developing Web Applications+] and complete that tutorial. Develop the web application on a local Oracle WebLogic server. After the application is complete, change the server to Oracle Cloud Remote and run the application.
 
 *Note.* You need to install Oracle WebLogic Server locally and register the server with the IDE. See xref:kb/docs/javaee/weblogic-javaee-m1-screencast.adoc[+Video of Deploying a Web Application to Oracle WebLogic Server+] for more information.
 
@@ -207,7 +207,7 @@
 
 *Important: *The Oracle Cloud Remote WebLogic server does not support JPA 2.0. If your on-premises WebLogic server is JPA 2.0-enabled, either disable JPA 2.0 or use a JPA 1.0 persistence provider for CRUD applications.
 
-*Note: *This document gives only brief directions for creating entity classes and JSF pages. For a more detailed treatment, see xref:./jsf20-crud.adoc[+Generating a JavaServer Faces 2.0 CRUD Application from a Database+].
+*Note: *This document gives only brief directions for creating entity classes and JSF pages. For a more detailed treatment, see xref:kb/docs/web/jsf20-crud.adoc[+Generating a JavaServer Faces 2.0 CRUD Application from a Database+].
 
 *To create a CRUD Application with JSF:*
 
diff --git a/modules/ROOT/pages/kb/docs/web/quickstart-webapps-spring.adoc b/modules/ROOT/pages/kb/docs/web/quickstart-webapps-spring.adoc
index f45ad6a..341fb2f 100644
--- a/modules/ROOT/pages/kb/docs/web/quickstart-webapps-spring.adoc
+++ b/modules/ROOT/pages/kb/docs/web/quickstart-webapps-spring.adoc
@@ -508,5 +508,5 @@
 
 For other related tutorials, see the following resources:
 
-* xref:./framework-adding-support.adoc[Adding Support for a Web Framework]. A basic guide describing how to add support by installing a web framework plugin using the NetBeans Update Center.
-* xref:./jsf20-intro.adoc[Introduction to JavaServer Faces 2.0]. Demonstrates how to add JSF 2.0 support to an existing project, wire managed beans, and take advantage of Facelets templating.
+* xref:kb/docs/web/framework-adding-support.adoc[Adding Support for a Web Framework]. A basic guide describing how to add support by installing a web framework plugin using the NetBeans Update Center.
+* xref:kb/docs/web/jsf20-intro.adoc[Introduction to JavaServer Faces 2.0]. Demonstrates how to add JSF 2.0 support to an existing project, wire managed beans, and take advantage of Facelets templating.
diff --git a/modules/ROOT/pages/kb/docs/web/quickstart-webapps-struts.adoc b/modules/ROOT/pages/kb/docs/web/quickstart-webapps-struts.adoc
index b018df1..3e2ded0 100644
--- a/modules/ROOT/pages/kb/docs/web/quickstart-webapps-struts.adoc
+++ b/modules/ROOT/pages/kb/docs/web/quickstart-webapps-struts.adoc
@@ -709,6 +709,6 @@
 
 For related tutorials, see the following resources:
 
-* xref:./framework-adding-support.adoc[+Adding Support for a Web Framework+]. A general guide describing how to add web framework support to NetBeans IDE using the Plugin Manager.
-* xref:./quickstart-webapps-spring.adoc[+Introduction to the Spring Web Framework+]. Describes the basics of using NetBeans IDE to develop web applications using the Spring framework.
-* xref:./jsf20-intro.adoc[+Introduction to JavaServer Faces 2.0+]. A document describing how to wire a managed bean to web pages, and how to take advantage of Facelets templating. .
+* xref:kb/docs/web/framework-adding-support.adoc[+Adding Support for a Web Framework+]. A general guide describing how to add web framework support to NetBeans IDE using the Plugin Manager.
+* xref:kb/docs/web/quickstart-webapps-spring.adoc[+Introduction to the Spring Web Framework+]. Describes the basics of using NetBeans IDE to develop web applications using the Spring framework.
+* xref:kb/docs/web/jsf20-intro.adoc[+Introduction to JavaServer Faces 2.0+]. A document describing how to wire a managed bean to web pages, and how to take advantage of Facelets templating. .
diff --git a/modules/ROOT/pages/kb/docs/web/quickstart-webapps-wicket.adoc b/modules/ROOT/pages/kb/docs/web/quickstart-webapps-wicket.adoc
index 87d07b8..9f346f4 100644
--- a/modules/ROOT/pages/kb/docs/web/quickstart-webapps-wicket.adoc
+++ b/modules/ROOT/pages/kb/docs/web/quickstart-webapps-wicket.adoc
@@ -66,7 +66,7 @@
 * *org-netbeans-modules-web-wicket.nbm.* Provides the Wicket-specific functionality that is used in this tutorial.
 * *org-netbeans-modules-wicket-templates.nbm.* Provides Wicket file-level templates for creating typical Wicket artifacts, such as pages and panels.
 * *org-netbeans-modules-wicket-library.nbm.* Provides the Wicket JARs, installs them in the IDE's Library Manager. Therefore, you do not need to download the Wicket distribution from the Wicket site, because the plugin provides everything you need.
-* To install the Wicket support plugin into the IDE, go to the Plugin Manager (Tools > Plugins from the main menu) and install the plugin under the Downloaded tab. For more detailed instructions on how to install a framework plugin into the IDE, see: xref:./framework-adding-support.adoc[+Adding Support For A Web Framework+].
+* To install the Wicket support plugin into the IDE, go to the Plugin Manager (Tools > Plugins from the main menu) and install the plugin under the Downloaded tab. For more detailed instructions on how to install a framework plugin into the IDE, see: xref:kb/docs/web/framework-adding-support.adoc[+Adding Support For A Web Framework+].
 * For more information on Wicket, see link:http://wicket.sourceforge.net/[+http://wicket.sourceforge.net/+]. For the development page for support for Wicket in NetBeans IDE, see link:http://java.net/projects/NbWicketSupport[+http://java.net/projects/NbWicketSupport+]. If you are familiar with Wicket, you are welcome to contribute code to the Wicket plugin for NetBeans IDE.
 
 
@@ -779,6 +779,6 @@
 
 For related or more advanced tutorials, see the following resources:
 
-* xref:./quickstart-webapps.adoc[Introduction to Developing Web Applications]
-* xref:./quickstart-webapps-struts.adoc[Introduction to the Struts Web Framework]
-* xref:./quickstart-webapps-spring.adoc[Introduction to the Spring Web Framework]
+* xref:kb/docs/web/quickstart-webapps.adoc[Introduction to Developing Web Applications]
+* xref:kb/docs/web/quickstart-webapps-struts.adoc[Introduction to the Struts Web Framework]
+* xref:kb/docs/web/quickstart-webapps-spring.adoc[Introduction to the Spring Web Framework]
diff --git a/modules/ROOT/pages/kb/docs/web/quickstart-webapps.adoc b/modules/ROOT/pages/kb/docs/web/quickstart-webapps.adoc
index 0d3da73..ef142a9 100644
--- a/modules/ROOT/pages/kb/docs/web/quickstart-webapps.adoc
+++ b/modules/ROOT/pages/kb/docs/web/quickstart-webapps.adoc
@@ -349,5 +349,5 @@
 
 For related and more advanced information about developing web applications in NetBeans IDE, see the following resources:
 
-* xref:./quickstart-webapps-struts.adoc[+Introduction to the Struts Web Framework+]. Describes the basics of using NetBeans IDE to develop web applications using the Struts framework.
+* xref:kb/docs/web/quickstart-webapps-struts.adoc[+Introduction to the Struts Web Framework+]. Describes the basics of using NetBeans IDE to develop web applications using the Struts framework.
 * xref:kb/docs/java-ee.adoc[+Java EE &amp; Java Web Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/web/security-webapps.adoc b/modules/ROOT/pages/kb/docs/web/security-webapps.adoc
index 0588b06..0b5d447 100644
--- a/modules/ROOT/pages/kb/docs/web/security-webapps.adoc
+++ b/modules/ROOT/pages/kb/docs/web/security-webapps.adoc
@@ -669,7 +669,7 @@
 
 == See Also
 
-* xref:./quickstart-webapps.adoc[Introduction to Developing Web Applications]
+* xref:kb/docs/web/quickstart-webapps.adoc[Introduction to Developing Web Applications]
 * xref:kb/docs/java-ee.adoc[Java EE &amp; Java Web Learning Trail]
 
 
diff --git a/modules/ROOT/pages/kb/docs/webclient/cordova-gettingstarted.adoc b/modules/ROOT/pages/kb/docs/webclient/cordova-gettingstarted.adoc
index a23c2f9..274a71d 100644
--- a/modules/ROOT/pages/kb/docs/webclient/cordova-gettingstarted.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/cordova-gettingstarted.adoc
@@ -63,7 +63,7 @@
 *Notes:*
 
 * This document assumes that a compatible target mobile platform SDK and device emulator is already installed.
-* This document assumes that you have some basic knowledge of, or programming experience with HTML, CSS, and JavaScript. For more details on HTML5 support in NetBeans IDE, see xref:./html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+]
+* This document assumes that you have some basic knowledge of, or programming experience with HTML, CSS, and JavaScript. For more details on HTML5 support in NetBeans IDE, see xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+]
 
 
 == Installing Cordova
@@ -565,11 +565,11 @@
 [[seealso]]
 == See Also
 
-For more information about support for HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for HTML5 applications in the IDE on xref:front::index.adoc[netbeans.org], see the following resources:
 
 * [Video] xref:kb/docs/web/html5-cordova-screencast.adoc[+Getting Started with Cordova Development+]
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[Working with CSS Style Sheets in HTML5 Applications]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient//html5-js-support.adoc[Debugging and Testing JavaScript in HTML5 Applications]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
 * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG2272[+Creating JavaScript Files+] in _Developing Applications with NetBeans IDE_.
 
 For more information about jQuery, refer to the official documentation:
diff --git a/modules/ROOT/pages/kb/docs/webclient/html5-editing-css.adoc b/modules/ROOT/pages/kb/docs/webclient/html5-editing-css.adoc
index 99d9bff..09dcc48 100644
--- a/modules/ROOT/pages/kb/docs/webclient/html5-editing-css.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/html5-editing-css.adoc
@@ -37,7 +37,7 @@
 
 The NetBeans Connector extension for the Chrome browser can help you view applications as they would appear on various devices. The extension enables the Chrome browser and the IDE to communicate with each other. The Inspect in NetBeans mode can help you locate elements in your source code by selecting them in the browser. After you select an element in the browser you can use the IDE to view the CSS rules and properties that are applied to that element.
 
-For details on how to install the NetBeans Connector extension for the Chrome browser, see the tutorial xref:./html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+].
+For details on how to install the NetBeans Connector extension for the Chrome browser, see the tutorial xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+].
 
 To watch a screencast of this tutorial, see xref:kb/docs/web/html5-css-screencast.adoc[+Video of Working with CSS Style Sheets in HTML5 Applications+].
 
@@ -70,7 +70,7 @@
 
 == Creating the HTML5 Application
 
-In this tutorial you use a site template to create the HTML5 project. The site template that you use in this tutorial is the same template that was saved as a site template in the xref:./html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+] tutorial. If you performed the steps in the Getting Started tutorial you can use the site template that you saved in the last section. Alternatively, you can download the HTML5DemoSiteTemplate.zip site template.
+In this tutorial you use a site template to create the HTML5 project. The site template that you use in this tutorial is the same template that was saved as a site template in the xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+] tutorial. If you performed the steps in the Getting Started tutorial you can use the site template that you saved in the last section. Alternatively, you can download the HTML5DemoSiteTemplate.zip site template.
 
 Perform the following steps to create the application from a site template.
 
@@ -89,7 +89,7 @@
 
 In this tutorial you will run the application in the Chrome browser with the NetBeans Connector extension installed. When the extension is installed you can use the NetBeans menu in the browser to easily resize the browser window to view the application as it would appear on some common devices.
 
-*Notes.* For this tutorial it is recommended that you use the Chrome browser and install the NetBeans extension for Chrome. See the tutorial xref:./html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+] for details on how to install the NetBeans Connector extension.
+*Notes.* For this tutorial it is recommended that you use the Chrome browser and install the NetBeans extension for Chrome. See the tutorial xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+] for details on how to install the NetBeans Connector extension.
 
 Perform the following steps to run the application in the Chrome browser.
 
@@ -439,10 +439,10 @@
 [[seealso]]
 == See Also
 
-For more information about support for HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
-* xref:./html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+]. A document that demonstrates how to install the NetBeans Connector extension for Chrome and creating and running a simple HTML5 application.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+]. A document that demonstrates how to install the NetBeans Connector extension for Chrome and creating and running a simple HTML5 application.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
 * link:http://docs.oracle.com/cd/E50453_01/doc.80/e50452/dev_html_apps.htm[+Developing HTML5 Applications+] chapter in the link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG[+Developing Applications with NetBeans IDE User's Guide+]
 
 For more information about jQuery, refer to the official documentation:
diff --git a/modules/ROOT/pages/kb/docs/webclient/html5-js-support.adoc b/modules/ROOT/pages/kb/docs/webclient/html5-js-support.adoc
index be98b0c..42f34e4 100644
--- a/modules/ROOT/pages/kb/docs/webclient/html5-js-support.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/html5-js-support.adoc
@@ -39,7 +39,7 @@
 
 The IDE also enables you to easily configure and run unit tests on JavaScript files using the Jasmine testing framework and the Karma or the JS Test Driver test runners. You can configure the test runner to run unit tests against a variety of browsers and you can quickly specify the JavaScript libraries, scripts and tests that you want the IDE to load when running the tests. When a test fails you can use the debugger to help you locate the problematic code.
 
-For details on how to install the NetBeans Connector extension for the Chrome browser, see the tutorial xref:./html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+].
+For details on how to install the NetBeans Connector extension for the Chrome browser, see the tutorial xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+].
 
 For more information on the JavaScript editing features in the IDE, see link:http://docs.oracle.com/cd/E50453_01/doc.80/e50452/dev_html_apps.htm#BACFIFIG[+Creating JavaScript Files+] in the link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG[+Developing Applications with NetBeans IDE User's Guide+].
 
@@ -452,10 +452,10 @@
 [[seealso]]
 == See Also
 
-For more information about support for HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
-* xref:./html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+]. A document that demonstrates how to install the NetBeans Connector extension for Chrome and creating and running a simple HTML5 application.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+]. A document that demonstrates how to install the NetBeans Connector extension for Chrome and creating and running a simple HTML5 application.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
 * link:http://docs.oracle.com/cd/E50453_01/doc.80/e50452/dev_html_apps.htm[+Developing HTML5 Applications+] chapter in the link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG[+Developing Applications with NetBeans IDE User's Guide+]
 
 For more information about running unit tests using JS Test Driver, refer to the following documentation:
diff --git a/modules/ROOT/pages/kb/docs/webclient/html5-knockout-screencast.adoc b/modules/ROOT/pages/kb/docs/webclient/html5-knockout-screencast.adoc
index 0b351ef..47d7582 100644
--- a/modules/ROOT/pages/kb/docs/webclient/html5-knockout-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/html5-knockout-screencast.adoc
@@ -61,6 +61,6 @@
 
 == Related links
 
-* xref:./html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+]
+* xref:kb/docs/webclient/html5-gettingstarted.adoc[+Getting Started with HTML5 Applications+]
 * link:https://blogs.oracle.com/netbeanswebclient/[+NetBeans Web Client blog+]
 * xref:kb/docs/php.adoc[+PHP and HTML5 Learning Trail+]
diff --git a/modules/ROOT/pages/kb/docs/webclient/index.adoc b/modules/ROOT/pages/kb/docs/webclient/index.adoc
index 8158c84..8bca450 100644
--- a/modules/ROOT/pages/kb/docs/webclient/index.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/index.adoc
@@ -26,24 +26,24 @@
 :toc-title:
 :description: HTML5 Tutorials
 
-- xref:./ojet-chatbot.adoc[Chatbot Integration with Oracle JET]
-- xref:./ojet-cca.adoc[Composite Component Architecture in Oracle JET]
-- xref:./ojet-crud.adoc[CRUD Application Development with Oracle JET]
-- xref:./ojet-flex.adoc[CSS3 Flexible Box and Oracle JET]
-- xref:./html5-js-support.adoc[Debugging and Testing JavaScript in an HTML5 Application]
-- xref:./cordova-gettingstarted.adoc[Getting Started with Cordova Applications]
-- xref:./html5-gettingstarted.adoc[Getting Started with HTML5 Applications]
-- xref:./ojet-gettingstarted.adoc[Getting Started with Oracle JET in NetBeans IDE]
+- xref:kb/docs/webclient/ojet-chatbot.adoc[Chatbot Integration with Oracle JET]
+- xref:kb/docs/webclient/ojet-cca.adoc[Composite Component Architecture in Oracle JET]
+- xref:kb/docs/webclient/ojet-crud.adoc[CRUD Application Development with Oracle JET]
+- xref:kb/docs/webclient/ojet-flex.adoc[CSS3 Flexible Box and Oracle JET]
+- xref:kb/docs/webclient/html5-js-support.adoc[Debugging and Testing JavaScript in an HTML5 Application]
+- xref:kb/docs/webclient/cordova-gettingstarted.adoc[Getting Started with Cordova Applications]
+- xref:kb/docs/webclient/html5-gettingstarted.adoc[Getting Started with HTML5 Applications]
+- xref:kb/docs/webclient/ojet-gettingstarted.adoc[Getting Started with Oracle JET in NetBeans IDE]
 - xref:index.adoc[HTML5 Tutorials]
-- xref:./ojet-rest.adoc[Interacting with RESTful Web Services in Oracle JET]
-- xref:./ojet-porting.adoc[Porting an Application to Oracle JET]
-- xref:./ojet-settingup.adoc[Setting Up an Oracle JET Application]
-- xref:./ojet-intermodular.adoc[Strategies for Intermodular Communication in Oracle JET]
-- xref:./ojet-databinding.adoc[Using Data Bindings to Connect Components]
-- xref:./ojet-cookbook.adoc[Using the Oracle JET Cookbook]
-- xref:./html5-knockout-screencast.adoc[Video of Using KnockoutJS in an HTML5 Application]
-- xref:./html5-editing-css.adoc[Working with CSS Style Sheets in an HTML5 Application]
-- xref:./ojet-working.adoc[Working with Oracle JET Applications]
+- xref:kb/docs/webclient/ojet-rest.adoc[Interacting with RESTful Web Services in Oracle JET]
+- xref:kb/docs/webclient/ojet-porting.adoc[Porting an Application to Oracle JET]
+- xref:kb/docs/webclient/ojet-settingup.adoc[Setting Up an Oracle JET Application]
+- xref:kb/docs/webclient/ojet-intermodular.adoc[Strategies for Intermodular Communication in Oracle JET]
+- xref:kb/docs/webclient/ojet-databinding.adoc[Using Data Bindings to Connect Components]
+- xref:kb/docs/webclient/ojet-cookbook.adoc[Using the Oracle JET Cookbook]
+- xref:kb/docs/webclient/html5-knockout-screencast.adoc[Video of Using KnockoutJS in an HTML5 Application]
+- xref:kb/docs/webclient/html5-editing-css.adoc[Working with CSS Style Sheets in an HTML5 Application]
+- xref:kb/docs/webclient/ojet-working.adoc[Working with Oracle JET Applications]
 
 
 
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-cca.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-cca.adoc
index 36c104c..7563660 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-cca.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-cca.adoc
@@ -40,7 +40,7 @@
 
 In this exercise you set up an Oracle JET application and explore its default content.
 
-1. Follow the steps described in xref:./ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
+1. Follow the steps described in xref:kb/docs/webclient/ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
 
 
 [start=2]
@@ -186,8 +186,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[netbeans.org], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[Working with CSS Style Sheets in HTML5 Applications]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[Debugging and Testing JavaScript in HTML5 Applications]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-chatbot.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-chatbot.adoc
index 3169fb8..d993f93 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-chatbot.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-chatbot.adoc
@@ -40,7 +40,7 @@
 
 In this exercise you set up an Oracle JET application and explore its default content.
 
-1. Follow the steps described in xref:./ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
+1. Follow the steps described in xref:kb/docs/webclient/ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
 
 
 [start=2]
@@ -132,8 +132,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-cookbook.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-cookbook.adoc
index f96f17c..190476d 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-cookbook.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-cookbook.adoc
@@ -192,8 +192,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-crud.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-crud.adoc
index 1e0c906..0a408d1 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-crud.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-crud.adoc
@@ -40,7 +40,7 @@
 
 In this exercise you set up an Oracle JET application and explore its default content.
 
-1. Follow the steps described in xref:./ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
+1. Follow the steps described in xref:kb/docs/webclient/ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
 
 
 [start=2]
@@ -220,8 +220,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-databinding.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-databinding.adoc
index 781ff4e..8807436 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-databinding.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-databinding.adoc
@@ -40,7 +40,7 @@
 
 In this section, you copy/paste Oracle JET components into your JET applications.
 
-1. As described in xref:./ojet-cookbook.adoc[+Using the Oracle JET Cookbook+], you can copy/paste Oracle JET components from the Oracle JET Cookbook into your Oracle JET application. At this stage, you should have the link:http://www.oracle.com/webfolder/technetwork/jet/jetCookbook.html?component=barChart&demo=default[+Bar Chart+] component in your application, as shown below:
+1. As described in xref:kb/docs/webclient/ojet-cookbook.adoc[+Using the Oracle JET Cookbook+], you can copy/paste Oracle JET components from the Oracle JET Cookbook into your Oracle JET application. At this stage, you should have the link:http://www.oracle.com/webfolder/technetwork/jet/jetCookbook.html?component=barChart&demo=default[+Bar Chart+] component in your application, as shown below:
 
 image::kb/docs/webclient/cookbook-3.png[]
 
@@ -214,8 +214,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-flex.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-flex.adoc
index 0165a4b..77f6c1c 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-flex.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-flex.adoc
@@ -54,7 +54,7 @@
 
 In this exercise you set up an Oracle JET application and explore its default content.
 
-1. Follow the steps described in xref:./ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
+1. Follow the steps described in xref:kb/docs/webclient/ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
 
 
 [start=2]
@@ -326,8 +326,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-gettingstarted.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-gettingstarted.adoc
index c1da6b8..a037e82 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-gettingstarted.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-gettingstarted.adoc
@@ -323,5 +323,5 @@
 For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-intermodular.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-intermodular.adoc
index e265b0c..37d9c8b 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-intermodular.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-intermodular.adoc
@@ -40,7 +40,7 @@
 
 In this exercise you set up an Oracle JET application.
 
-1. Follow the steps described in xref:./ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
+1. Follow the steps described in xref:kb/docs/webclient/ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
 
 
 [start=2]
@@ -281,8 +281,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-porting.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-porting.adoc
index 22c74ff..92e26c9 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-porting.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-porting.adoc
@@ -323,5 +323,5 @@
 For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-rest.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-rest.adoc
index 4a2bce5..6b7932c 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-rest.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-rest.adoc
@@ -40,7 +40,7 @@
 
 In this exercise you set up an Oracle JET application and explore its default content.
 
-1. Follow the steps described in xref:./ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
+1. Follow the steps described in xref:kb/docs/webclient/ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
 
 
 [start=2]
@@ -190,8 +190,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-settingup.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-settingup.adoc
index 6073c90..002824b 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-settingup.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-settingup.adoc
@@ -130,8 +130,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/webclient/ojet-working.adoc b/modules/ROOT/pages/kb/docs/webclient/ojet-working.adoc
index b877cb3..3c460b9 100644
--- a/modules/ROOT/pages/kb/docs/webclient/ojet-working.adoc
+++ b/modules/ROOT/pages/kb/docs/webclient/ojet-working.adoc
@@ -40,7 +40,7 @@
 
 In this exercise you set up an Oracle JET application and explore its default content.
 
-1. Follow the steps described in xref:./ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
+1. Follow the steps described in xref:kb/docs/webclient/ojet-settingup.adoc[+Setting Up an Oracle JET Application+].
 
 
 [start=2]
@@ -218,8 +218,8 @@
 [[seealso]]
 == See Also
 
-For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:../../../index.adoc[+netbeans.org+], see the following resources:
+For more information about support for Oracle JET and a variety of HTML5 applications in the IDE on xref:front::index.adoc[+netbeans.org+], see the following resources:
 
 * link:http://www.oracle.com/webfolder/technetwork/jet/globalExamples.html[+"Learn" section on the Oracle JET site+]. A set of official Oracle JET learning resources.
-* xref:./html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
-* xref:./html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
+* xref:kb/docs/webclient/html5-editing-css.adoc[+Working with CSS Style Sheets in HTML5 Applications+]. A document that continues with the application that you created in this tutorial that demonstrates how to use some of the CSS wizards and windows in the IDE and how to use the Inspect mode in the Chrome browser to visually locate elements in your project sources.
+* xref:kb/docs/webclient/html5-js-support.adoc[+Debugging and Testing JavaScript in HTML5 Applications+]. A document that demonstrates how the IDE provides tools that can help you debug and test JavaScript files in the IDE.
diff --git a/modules/ROOT/pages/kb/docs/websvc/client.adoc b/modules/ROOT/pages/kb/docs/websvc/client.adoc
index a53e948..935edbb 100644
--- a/modules/ROOT/pages/kb/docs/websvc/client.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/client.adoc
@@ -667,9 +667,9 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./jax-ws.adoc[+Getting Started with JAX-WS Web Services+]
-* xref:./rest.adoc[+Getting Started with RESTful Web Services+]
-* xref:./wsit.adoc[+Advanced Web Service Interoperability+]
+* xref:kb/docs/websvc/jax-ws.adoc[+Getting Started with JAX-WS Web Services+]
+* xref:kb/docs/websvc/rest.adoc[+Getting Started with RESTful Web Services+]
+* xref:kb/docs/websvc/wsit.adoc[+Advanced Web Service Interoperability+]
 * xref:kb/docs/web.adoc[+Web Services Learning Trail+]
 
 To send comments and suggestions, receive support, and stay informed about the latest developments on the NetBeans IDE Java EE development features, xref:front::community/mailing-lists.adoc[+join the nbj2ee@netbeans.org mailing list+].
diff --git a/modules/ROOT/pages/kb/docs/websvc/flower-code-ws.adoc b/modules/ROOT/pages/kb/docs/websvc/flower-code-ws.adoc
index 456c92f..ffc4ddc 100644
--- a/modules/ROOT/pages/kb/docs/websvc/flower-code-ws.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/flower-code-ws.adoc
@@ -41,11 +41,11 @@
 
 image::kb/docs/websvc/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
 
-1. xref:./flower_overview.adoc[+Overview+]
-2. xref:./flower_ws.adoc[+ Creating the Web Service+]
+1. xref:kb/docs/websvc/flower_overview.adoc[+Overview+]
+2. xref:kb/docs/websvc/flower_ws.adoc[+ Creating the Web Service+]
 3. => Coding and Testing the Web Service
-4. xref:./flower_wsdl_schema.adoc[+ Modifying the Schema and WSDL Files to Pass Binary Data+]
-5. xref:./flower_swing.adoc[+ Creating the Swing Client+]
+4. xref:kb/docs/websvc/flower_wsdl_schema.adoc[+ Modifying the Schema and WSDL Files to Pass Binary Data+]
+5. xref:kb/docs/websvc/flower_swing.adoc[+ Creating the Swing Client+]
 6. <<coding-ws,Coding the Web Service>>
 7. <<retrieve-jpeg-as-bytes,Get a JPEG File as an Array of Bytes>>
 8. <<read-bytes-as-image,Read an Array of Bytes as an Image>>
@@ -388,7 +388,7 @@
 
 == Next step:
 
-xref:./flower_wsdl_schema.adoc[+ Modifying the Schema and WSDL Files to Pass Binary Data+]
+xref:kb/docs/websvc/flower_wsdl_schema.adoc[+ Modifying the Schema and WSDL Files to Pass Binary Data+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
 
diff --git a/modules/ROOT/pages/kb/docs/websvc/flower_overview.adoc b/modules/ROOT/pages/kb/docs/websvc/flower_overview.adoc
index 9894062..1313007 100644
--- a/modules/ROOT/pages/kb/docs/websvc/flower_overview.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/flower_overview.adoc
@@ -48,10 +48,10 @@
 image::kb/docs/websvc/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
 
 1. => Overview
-2. xref:./flower_ws.adoc[+ Creating the Web Service+]
-3. xref:./flower-code-ws.adoc[+ Coding and Testing the Web Service+]
-4. xref:./flower_wsdl_schema.adoc[+ Modifying the Schema and WSDL Files to Pass Binary Data+]
-5. xref:./flower_swing.adoc[+ Creating the Swing Client+]
+2. xref:kb/docs/websvc/flower_ws.adoc[+ Creating the Web Service+]
+3. xref:kb/docs/websvc/flower-code-ws.adoc[+ Coding and Testing the Web Service+]
+4. xref:kb/docs/websvc/flower_wsdl_schema.adoc[+ Modifying the Schema and WSDL Files to Pass Binary Data+]
+5. xref:kb/docs/websvc/flower_swing.adoc[+ Creating the Swing Client+]
 
 
 == Software Needed for the Tutorial
@@ -85,7 +85,7 @@
 
 == Next step:
 
-xref:./flower_ws.adoc[+ Creating the Web Service+]
+xref:kb/docs/websvc/flower_ws.adoc[+ Creating the Web Service+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
 
@@ -95,10 +95,10 @@
 
 For background information prior to using this tutorial, see the following resources:
 
-* xref:./jax-ws.adoc[+Getting Started with JAX-WS Web Services+]
-* xref:./client.adoc[+Developing Web Service Clients+]
+* xref:kb/docs/websvc/jax-ws.adoc[+Getting Started with JAX-WS Web Services+]
+* xref:kb/docs/websvc/client.adoc[+Developing Web Service Clients+]
 * xref:kb/docs/javaee/javaee-gettingstarted.adoc[+Getting Started with Java EE Applications+]
-* xref:./wsit.adoc[+Advanced Web Service Interoperability+]
+* xref:kb/docs/websvc/wsit.adoc[+Advanced Web Service Interoperability+]
 
 To send comments and suggestions, get support, and keep informed about the latest developments on the NetBeans IDE Java EE development features, xref:front::community/mailing-lists.adoc[+join the nbj2ee@netbeans.org mailing list+].
 
diff --git a/modules/ROOT/pages/kb/docs/websvc/flower_swing.adoc b/modules/ROOT/pages/kb/docs/websvc/flower_swing.adoc
index 95188c0..954fec6 100644
--- a/modules/ROOT/pages/kb/docs/websvc/flower_swing.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/flower_swing.adoc
@@ -41,10 +41,10 @@
 
 image::kb/docs/websvc/netbeans-stamp-74-73-72.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3 and 7.4"]
 
-1. xref:./flower_overview.adoc[+Overview+]
-2. xref:./flower_ws.adoc[+Creating the Web Service+]
-3. xref:./flower-code-ws.adoc[+Coding and Testing the Web Service+]
-4. xref:./flower_wsdl_schema.adoc[+Modifying the Schema and WSDL Files to Pass Binary Data+]
+1. xref:kb/docs/websvc/flower_overview.adoc[+Overview+]
+2. xref:kb/docs/websvc/flower_ws.adoc[+Creating the Web Service+]
+3. xref:kb/docs/websvc/flower-code-ws.adoc[+Coding and Testing the Web Service+]
+4. xref:kb/docs/websvc/flower_wsdl_schema.adoc[+Modifying the Schema and WSDL Files to Pass Binary Data+]
 5. => Creating the Swing Client
 
 
diff --git a/modules/ROOT/pages/kb/docs/websvc/flower_ws.adoc b/modules/ROOT/pages/kb/docs/websvc/flower_ws.adoc
index 87ff7e3..5543359 100644
--- a/modules/ROOT/pages/kb/docs/websvc/flower_ws.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/flower_ws.adoc
@@ -41,11 +41,11 @@
 
 image::kb/docs/websvc/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
 
-1. xref:./flower_overview.adoc[+Overview+]
+1. xref:kb/docs/websvc/flower_overview.adoc[+Overview+]
 2. => Creating the Web Service
-3. xref:./flower-code-ws.adoc[+Coding and Testing the Web Service+]
-4. xref:./flower_wsdl_schema.adoc[+ Modifying the Schema and WSDL Files to Pass Binary Data+]
-5. xref:./flower_swing.adoc[+ Creating the Swing Client+]
+3. xref:kb/docs/websvc/flower-code-ws.adoc[+Coding and Testing the Web Service+]
+4. xref:kb/docs/websvc/flower_wsdl_schema.adoc[+ Modifying the Schema and WSDL Files to Pass Binary Data+]
+5. xref:kb/docs/websvc/flower_swing.adoc[+ Creating the Swing Client+]
 
 
 [start=1]
@@ -142,7 +142,7 @@
 
 == Next step:
 
-xref:./flower-code-ws.adoc[+Coding and Testing the Web Service+]
+xref:kb/docs/websvc/flower-code-ws.adoc[+Coding and Testing the Web Service+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
 
diff --git a/modules/ROOT/pages/kb/docs/websvc/flower_wsdl_schema.adoc b/modules/ROOT/pages/kb/docs/websvc/flower_wsdl_schema.adoc
index 754a222..a5508cd 100644
--- a/modules/ROOT/pages/kb/docs/websvc/flower_wsdl_schema.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/flower_wsdl_schema.adoc
@@ -43,11 +43,11 @@
 
 image::kb/docs/websvc/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
 
-1. xref:./flower_overview.adoc[+Overview+]
-2. xref:./flower_ws.adoc[+Creating the Web Service+]
-3. xref:./flower-code-ws.adoc[+Coding and Testing the Web Service+]
+1. xref:kb/docs/websvc/flower_overview.adoc[+Overview+]
+2. xref:kb/docs/websvc/flower_ws.adoc[+Creating the Web Service+]
+3. xref:kb/docs/websvc/flower-code-ws.adoc[+Coding and Testing the Web Service+]
 4. => Modifying the Schema and WSDL Files to Pass Binary Data
-5. xref:./flower_swing.adoc[+ Creating the Swing Client+]
+5. xref:kb/docs/websvc/flower_swing.adoc[+ Creating the Swing Client+]
 
 
 == Modifying the Schema File and WSDL Files to Pass Binary Data
@@ -140,7 +140,7 @@
 
 == Next Step:
 
-xref:./flower_swing.adoc[+Creating the Swing Client+]
+xref:kb/docs/websvc/flower_swing.adoc[+Creating the Swing Client+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
 
diff --git a/modules/ROOT/pages/kb/docs/websvc/index.adoc b/modules/ROOT/pages/kb/docs/websvc/index.adoc
index 107bcf2..b82b9b3 100644
--- a/modules/ROOT/pages/kb/docs/websvc/index.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/index.adoc
@@ -26,18 +26,18 @@
 :toc-title:
 :description: Web Service Tutorials
 
-- xref:./wsit.adoc[Advanced Web Service Interoperability]
-- xref:./client.adoc[Developing JAX-WS Web Service Clients]
-- xref:./flower_ws.adoc[End-to-End Binary SOAP Attachment 2: Creating the Web Service]
-- xref:./flower-code-ws.adoc[End-to-End Binary SOAP Attachment part 3: Coding and Testing the Web Service]
-- xref:./jax-ws.adoc[Getting Started with JAX-WS Web Services]
-- xref:./rest.adoc[Getting Started with RESTful Web Services]
-- xref:./intro-ws.adoc[Introduction to Web Services]
-- xref:./pet-catalog-screencast.adoc[RESTful Web Services Pet Catalog - NetBeans IDE 6.5]
-- xref:./zillow.adoc[SaaS (Software as a Service): Zillow Tutorial]
-- xref:./flower_overview.adoc[Web Service Application Passing Binary Data, pt 1: Overview]
-- xref:./flower_wsdl_schema.adoc[Web Service Passing Binary Data, pt 4: Modifying the Schema and WSDL Files]
-- xref:./flower_swing.adoc[Web Service Passing Binary Data, pt 5: Creating the Swing Client]
+- xref:kb/docs/websvc/wsit.adoc[Advanced Web Service Interoperability]
+- xref:kb/docs/websvc/client.adoc[Developing JAX-WS Web Service Clients]
+- xref:kb/docs/websvc/flower_ws.adoc[End-to-End Binary SOAP Attachment 2: Creating the Web Service]
+- xref:kb/docs/websvc/flower-code-ws.adoc[End-to-End Binary SOAP Attachment part 3: Coding and Testing the Web Service]
+- xref:kb/docs/websvc/jax-ws.adoc[Getting Started with JAX-WS Web Services]
+- xref:kb/docs/websvc/rest.adoc[Getting Started with RESTful Web Services]
+- xref:kb/docs/websvc/intro-ws.adoc[Introduction to Web Services]
+- xref:kb/docs/websvc/pet-catalog-screencast.adoc[RESTful Web Services Pet Catalog - NetBeans IDE 6.5]
+- xref:kb/docs/websvc/zillow.adoc[SaaS (Software as a Service): Zillow Tutorial]
+- xref:kb/docs/websvc/flower_overview.adoc[Web Service Application Passing Binary Data, pt 1: Overview]
+- xref:kb/docs/websvc/flower_wsdl_schema.adoc[Web Service Passing Binary Data, pt 4: Modifying the Schema and WSDL Files]
+- xref:kb/docs/websvc/flower_swing.adoc[Web Service Passing Binary Data, pt 5: Creating the Swing Client]
 - xref:index.adoc[Web Service Tutorials]
 
 
diff --git a/modules/ROOT/pages/kb/docs/websvc/intro-ws.adoc b/modules/ROOT/pages/kb/docs/websvc/intro-ws.adoc
index e6d9036..67016bc 100644
--- a/modules/ROOT/pages/kb/docs/websvc/intro-ws.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/intro-ws.adoc
@@ -73,8 +73,8 @@
 
 The following *knowledge base tutorials* involve creating and consuming REST services:
 
-* xref:./rest.adoc[+Getting Started with RESTful Web Services+]
-* xref:./zillow.adoc[+SaaS: Zillow+]
+* xref:kb/docs/websvc/rest.adoc[+Getting Started with RESTful Web Services+]
+* xref:kb/docs/websvc/zillow.adoc[+SaaS: Zillow+]
 
 ==  SOAP Web Services
 
@@ -102,10 +102,10 @@
 
 The following *knowledge base tutorials* involve creating and consuming JAX-WS SOAP-based web services:
 
-* xref:./jax-ws.adoc[Getting Started with JAX-WS Web Services]
-* xref:./client.adoc[Developing JAX-WS Web Service Clients]
-* xref:./flower_overview.adoc[Web Service Passing Binary Data] - a separate learning trail about using web services to pass binary data which are displayed in a client using Swing components
-* xref:./wsit.adoc[Advanced Web Service Interoperability] (demonstrates WSIT)
+* xref:kb/docs/websvc/jax-ws.adoc[Getting Started with JAX-WS Web Services]
+* xref:kb/docs/websvc/client.adoc[Developing JAX-WS Web Service Clients]
+* xref:kb/docs/websvc/flower_overview.adoc[Web Service Passing Binary Data] - a separate learning trail about using web services to pass binary data which are displayed in a client using Swing components
+* xref:kb/docs/websvc/wsit.adoc[Advanced Web Service Interoperability] (demonstrates WSIT)
 
 == Conclusion & Comparison
 
diff --git a/modules/ROOT/pages/kb/docs/websvc/jax-ws.adoc b/modules/ROOT/pages/kb/docs/websvc/jax-ws.adoc
index 3de2da1..e9d5ec2 100644
--- a/modules/ROOT/pages/kb/docs/websvc/jax-ws.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/jax-ws.adoc
@@ -35,7 +35,7 @@
 
 link:http://www.jcp.org/en/jsr/detail?id=224[+Java API for XML Web Services (JAX-WS), JSR 224+], is an important part of the Java EE platform. A follow-up to the release of Java API for XML-based RPC 1.1(JAX-RPC), JAX-WS simplifies the task of developing web services using Java technology. It addresses some of the issues in JAX-RPC 1.1 by providing support for multiple protocols such as SOAP 1.1, SOAP 1.2, XML, and by providing a facility for supporting additional protocols along with HTTP. JAX-WS uses JAXB 2.0 for data binding and supports customizations to control generated service endpoint interfaces. With its support for annotations, JAX-WS simplifies web service development and reduces the size of runtime JAR files.
 
-This document demonstrates the basics of using the IDE to develop a JAX-WS web service. After you create the web service, you write three different web service clients that use the web service over a network, which is called "consuming" a web service. The three clients are a Java class in a Java SE application, a servlet, and a JSP page in a web application. A more advanced tutorial focusing on clients is xref:./client.adoc[+Developing JAX-WS Web Service Clients+].
+This document demonstrates the basics of using the IDE to develop a JAX-WS web service. After you create the web service, you write three different web service clients that use the web service over a network, which is called "consuming" a web service. The three clients are a Java class in a Java SE application, a servlet, and a JSP page in a web application. A more advanced tutorial focusing on clients is xref:kb/docs/websvc/client.adoc[+Developing JAX-WS Web Service Clients+].
 
 
 image::kb/docs/websvc/netbeans-stamp-80-74-73.png[title="Content on this page applies to the NetBeans IDE 7.2, 7.3, 7.4 and 8.0"]
@@ -241,7 +241,7 @@
 
 Now that you have deployed the web service, you need to create a client to make use of the web service's  ``add``  method. Here, you create three clients— a Java class in a Java SE application, a servlet, and a JSP page in a web application.
 
-*Note:* A more advanced tutorial focusing on clients is xref:./client.adoc[+Developing JAX-WS Web Service Clients+].
+*Note:* A more advanced tutorial focusing on clients is xref:kb/docs/websvc/client.adoc[+Developing JAX-WS Web Service Clients+].
 
 
 === Client 1: Java Class in Java SE Application
@@ -525,9 +525,9 @@
 
 For more information about using NetBeans IDE to develop Java EE applications, see the following resources:
 
-* xref:./client.adoc[+Developing JAX-WS Web Service Clients+]
-* xref:./rest.adoc[+Getting Started with RESTful Web Services+]
-* xref:./wsit.adoc[+Advanced Web Service Interoperability+]
+* xref:kb/docs/websvc/client.adoc[+Developing JAX-WS Web Service Clients+]
+* xref:kb/docs/websvc/rest.adoc[+Getting Started with RESTful Web Services+]
+* xref:kb/docs/websvc/wsit.adoc[+Advanced Web Service Interoperability+]
 * xref:kb/docs/web.adoc[+Web Services Learning Trail+]
 
 To send comments and suggestions, get support, and keep informed about the latest developments on the NetBeans IDE Java EE development features, xref:front::community/mailing-lists.adoc[+join the nbj2ee@netbeans.org mailing list+].
diff --git a/modules/ROOT/pages/kb/docs/websvc/pet-catalog-screencast.adoc b/modules/ROOT/pages/kb/docs/websvc/pet-catalog-screencast.adoc
index f073478..e468926 100644
--- a/modules/ROOT/pages/kb/docs/websvc/pet-catalog-screencast.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/pet-catalog-screencast.adoc
@@ -42,7 +42,7 @@
 == Related links
 
 * link:https://www.java.net/blogs/caroljmcdonald[+download sample projects from Carol's Blog+]
-* xref:./rest.adoc[+Getting Started with RESTful Web Services+]
+* xref:kb/docs/websvc/rest.adoc[+Getting Started with RESTful Web Services+]
 
 xref:front::community/mailing-lists.adoc[Send Feedback on This Tutorial]
  |     
diff --git a/modules/ROOT/pages/kb/docs/websvc/wsit.adoc b/modules/ROOT/pages/kb/docs/websvc/wsit.adoc
index baa2e3e..9d693ae 100644
--- a/modules/ROOT/pages/kb/docs/websvc/wsit.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/wsit.adoc
@@ -110,7 +110,7 @@
 
 *Note:* In the Quality of Service section in the design tab of the service you can see that _no_ options are enabled. As a result, the Quality of Service components have not been applied to this particular web service. You will look at a web service where a Quality of Service component _is_ enabled when you create the secure web service.
 
-For a full tutorial on web services in the IDE, see xref:./jax-ws.adoc[+Getting Started with JAX-WS Web Services+].
+For a full tutorial on web services in the IDE, see xref:kb/docs/websvc/jax-ws.adoc[+Getting Started with JAX-WS Web Services+].
 
 
 === Deploying and Testing the Calculator Sample
@@ -268,11 +268,11 @@
 
 For more information about using NetBeans IDE to develop Web Services, see the following resources:
 
-* xref:./client.adoc[+Developing JAX-WS Web Service Clients+]
-* xref:./jax-ws.adoc[+Getting Started with JAX-WS Web Services+]
-* xref:./rest.adoc[+Getting Started with RESTful Web Services+]
-* xref:./flower_overview.adoc[+Web Service Application Passing Binary Data+]
-// not sync with last release * xref:../../74/websvc/jaxb.adoc[+Binding WSDL to Java with JAXB+]
+* xref:kb/docs/websvc/client.adoc[+Developing JAX-WS Web Service Clients+]
+* xref:kb/docs/websvc/jax-ws.adoc[+Getting Started with JAX-WS Web Services+]
+* xref:kb/docs/websvc/rest.adoc[+Getting Started with RESTful Web Services+]
+* xref:kb/docs/websvc/flower_overview.adoc[+Web Service Application Passing Binary Data+]
+// not sync with last release * xref:74/websvc/jaxb.adoc[+Binding WSDL to Java with JAXB+]
 * xref:kb/docs/web.adoc[+Web Services Learning Trail+]
 
 To send comments and suggestions, get support, and keep informed about the latest developments on the NetBeans IDE Java EE development features, xref:front::community/mailing-lists.adoc[+join the nbj2ee@netbeans.org mailing list+].
diff --git a/modules/ROOT/pages/kb/docs/websvc/zillow.adoc b/modules/ROOT/pages/kb/docs/websvc/zillow.adoc
index d9ef5a3..e2f0f26 100644
--- a/modules/ROOT/pages/kb/docs/websvc/zillow.adoc
+++ b/modules/ROOT/pages/kb/docs/websvc/zillow.adoc
@@ -262,7 +262,7 @@
 
 For more information about using NetBeans IDE to develop RESTful web services, SaaS, and other Java EE applications, see the following resources:
 
-* xref:./rest.adoc[+Getting Started with RESTful Web Sevices+]
+* xref:kb/docs/websvc/rest.adoc[+Getting Started with RESTful Web Sevices+]
 * xref:wiki::wiki/JavaClientForDeliciousUsingNetBeans.adoc[Creating a Java Client for del.icio.us RESTful Web Services], by Amit Kumar Saha
 * xref:wiki::wiki/RESTRemoting.adoc[NetBeans Wiki: RESTful Web Service Client Stub]
 * xref:kb/docs/web.adoc[Web Services Learning Trail]
diff --git a/modules/ROOT/pages/tutorials/index.adoc b/modules/ROOT/pages/tutorials/index.adoc
index 8919e28..e4b8bcb 100644
--- a/modules/ROOT/pages/tutorials/index.adoc
+++ b/modules/ROOT/pages/tutorials/index.adoc
@@ -25,79 +25,79 @@
 :toc-title:
 :description: NetBeans Platform Tutorials
 
-- xref:./nbm-glossary.adoc[Basic Terms for NetBeans Rich Client Application Development]
-- xref:./nbm-code-generator.adoc[Code Generator Integration Tutorial]
-- xref:./nbm-visual_library4.adoc[DRAFT: NetBeans Visual Library Widget Creation Tutorial]
-- xref:./nbm-filetype.adoc[File Type Integration Tutorial]
-- xref:./nbm-propertyeditors-integration.adoc[Integrated Property Editors in NetBeans]
-- xref:./nbm-javacc-lexer.adoc[JavaCC Lexer Generator Integration Tutorial for the NetBeans Platform]
-- xref:./nbm-javacc-parser.adoc[JavaCC Parser Generator Integration Tutorial for the NetBeans Platform]
+- xref:tutorials/nbm-glossary.adoc[Basic Terms for NetBeans Rich Client Application Development]
+- xref:tutorials/nbm-code-generator.adoc[Code Generator Integration Tutorial]
+- xref:tutorials/nbm-visual_library4.adoc[DRAFT: NetBeans Visual Library Widget Creation Tutorial]
+- xref:tutorials/nbm-filetype.adoc[File Type Integration Tutorial]
+- xref:tutorials/nbm-propertyeditors-integration.adoc[Integrated Property Editors in NetBeans]
+- xref:tutorials/nbm-javacc-lexer.adoc[JavaCC Lexer Generator Integration Tutorial for the NetBeans Platform]
+- xref:tutorials/nbm-javacc-parser.adoc[JavaCC Parser Generator Integration Tutorial for the NetBeans Platform]
 - xref:wiki::wiki/NbmIdioms.adoc[]
-- xref:./nbm-projecttypeant.adoc[NetBeans Ant-Based Project Type Module Tutorial]
-- xref:./nbm-code-completion.adoc[NetBeans Code Completion Tutorial]
-- xref:./nbm-palette-api1.adoc[NetBeans Code Snippet Module Tutorial]
-- xref:./nbm-code-template.adoc[NetBeans Code Template Module Tutorial]
-- xref:./nbm-palette-api2.adoc[NetBeans Editor Component Palette Module Tutorial]
-- xref:./nbm-filetemplates.adoc[NetBeans File Template Module Tutorial]
-- xref:./nbm-hyperlink.adoc[NetBeans Hyperlink Navigation Tutorial]
-- xref:./nbm-java-hint.adoc[NetBeans Java Hint Module Tutorial]
-- xref:./nbm-copyfqn.adoc[NetBeans Java Language Infrastructure Tutorial]
-- xref:./nbm-mark-occurrences.adoc[NetBeans Mark Occurrences Module Tutorial]
-- xref:./nbm-nodesapi3.adoc[NetBeans Nodes, Explorer Manager, and Component Palette Tutorial]
-- xref:./nbm-nodesapi2.adoc[NetBeans Nodes API Tutorial]
-- xref:./nbm-options.adoc[NetBeans Options Window Module Tutorial]
-- xref:./nbm-ant.adoc[NetBeans Platform Ant Command Line Tutorial]
-- xref:./nbm-crud.adoc[NetBeans Platform CRUD Application Tutorial]
-- xref:./nbm-maven-crud.adoc[NetBeans Platform CRUD Tutorial Using Maven]
-- xref:./nbm-emf.adoc[NetBeans Platform EMF Integration Tutorial]
-- xref:./nbm-feedreader.adoc[NetBeans Platform Feed Reader Tutorial]
-- xref:./nbm-maven-modulesingle.adoc[NetBeans Platform File Type Tutorial Using Maven]
-- xref:./nbm-gesture.adoc[NetBeans Platform Gesture Collection Infrastructure Tutorial]
-- xref:./nbm-htmleditor.adoc[NetBeans Platform HTML Editor]
-- xref:./nbm-nbi.adoc[NetBeans Platform Installer Integration Tutorial]
-- xref:./nbm-javafx.adoc[NetBeans Platform JavaFX Porting Tutorial]
-- xref:./nbm-maven-commandline.adoc[NetBeans Platform Maven Command Line Tutorial]
-- xref:./nbm-paintapp.adoc[NetBeans Platform Paint Application Tutorial]
-- xref:./nbm-google.adoc[NetBeans Platform Plugin Quick Start]
-- xref:./nbm-dukescript.adoc[NetBeans Platform Plugins with DukeScript]
-- xref:./nbm-quick-start.adoc[NetBeans Platform Quick Start]
-- xref:./nbm-maven-quickstart.adoc[NetBeans Platform Quick Start Using Maven]
-- xref:./nbm-osgi-quickstart.adoc[NetBeans Platform Quick Start Using OSGi]
-- xref:./nbm-ribbonbar.adoc[NetBeans Platform Ribbon Bar Integration Tutorial]
-- xref:./nbm-runtime-container.adoc[NetBeans Platform Runtime Container Tutorial]
-- xref:./nbm-maven-modulesuite.adoc[NetBeans Platform Selection Tutorial Using Maven]
-- xref:./nbm-porting-basic.adoc[NetBeans Platform Swing Porting Tutorial]
-- xref:./nbm-test.adoc[NetBeans Platform Test Infrastructure Tutorial]
-- xref:./nbm-geospatial.adoc[NetBeans Platform Tutorial for Geospatial Systems]
-- xref:./nbm-ide.adoc[NetBeans Platform Tutorial for Integrated Development Environments]
-- xref:./nbm-workflow.adoc[NetBeans Platform Workflow Tutorial]
-- xref:./nbm-projectsamples.adoc[NetBeans Project Sample Module Tutorial]
-- xref:./nbm-projectextension.adoc[NetBeans Project Type Extension Module Tutorial]
-- xref:./nbm-projecttype.adoc[NetBeans Project Type Module Tutorial]
-- xref:./nbm-property-editors.adoc[NetBeans Property Editor Tutorial]
-- xref:./nbm-selection-2.adoc[NetBeans Selection Management Tutorial II—Using Nodes]
-- xref:./nbm-selection-1.adoc[NetBeans Selection Management Tutorial I—Using a TopComponent&#39;s Lookup]
-- xref:./nbm-server-plugin.adoc[NetBeans Server-Skeleton Module Tutorial]
-- xref:./nbm-nodesapi.adoc[NetBeans System Properties Module Tutorial]
-- xref:./nbm-visual_library2.adoc[NetBeans Visual Database Explorer Tutorial]
-- xref:./nbm-visual_library.adoc[NetBeans Visual Library Tutorial]
-- xref:./nbm-visual_library3.adoc[NetBeans Visual Library Tutorial for Java Applications]
-- xref:./nbm-quick-start-visual.adoc[NetBeans Visual Library Tutorial for Standard Java SE Applications]
-- xref:./nbm-wizard.adoc[NetBeans Wizard Module Tutorial]
-- xref:./nbm-xmleditor.adoc[NetBeans XML Editor Extension Module Tutorial]
-- xref:./nbm-feedreader_background.adoc[Preparing to Create the Feed Reader Application]
-- xref:./nbm-quick-search.adoc[Quick Search Integration Tutorial]
-- xref:./nbm-10-top-apis.adoc[Top 10 NetBeans APIs]
-- xref:./nbm-povray-1.adoc[Writing POV-Ray Support for NetBeans I—Application Structure &amp;amp; File Support]
-- xref:./nbm-povray-3.adoc[Writing POV-Ray Support for NetBeans III—Implementing a Project Type]
-- xref:./nbm-povray-2.adoc[Writing POV-Ray Support for NetBeans II—Project Type Design]
-- xref:./nbm-povray-4.adoc[Writing POV-Ray Support for NetBeans IV—Providing Project Templates]
-- xref:./nbm-povray-9.adoc[Writing POV-Ray Support for NetBeans IX—Build Support]
-- xref:./nbm-povray-5.adoc[Writing POV-Ray Support for NetBeans V—Creating an API]
-- xref:./nbm-povray-8.adoc[Writing POV-Ray Support for NetBeans VIII—Implementing ViewService and its Actions]
-- xref:./nbm-povray-6.adoc[Writing POV-Ray Support for NetBeans VI—Implementing the API]
-- xref:./nbm-povray-7.adoc[Writing POV-Ray Support for NetBeans VII—Support For Running POV-Ray]
-- xref:./nbm-povray-10.adoc[Writing POV-Ray Support for NetBeans X—Conclusion]
+- xref:tutorials/nbm-projecttypeant.adoc[NetBeans Ant-Based Project Type Module Tutorial]
+- xref:tutorials/nbm-code-completion.adoc[NetBeans Code Completion Tutorial]
+- xref:tutorials/nbm-palette-api1.adoc[NetBeans Code Snippet Module Tutorial]
+- xref:tutorials/nbm-code-template.adoc[NetBeans Code Template Module Tutorial]
+- xref:tutorials/nbm-palette-api2.adoc[NetBeans Editor Component Palette Module Tutorial]
+- xref:tutorials/nbm-filetemplates.adoc[NetBeans File Template Module Tutorial]
+- xref:tutorials/nbm-hyperlink.adoc[NetBeans Hyperlink Navigation Tutorial]
+- xref:tutorials/nbm-java-hint.adoc[NetBeans Java Hint Module Tutorial]
+- xref:tutorials/nbm-copyfqn.adoc[NetBeans Java Language Infrastructure Tutorial]
+- xref:tutorials/nbm-mark-occurrences.adoc[NetBeans Mark Occurrences Module Tutorial]
+- xref:tutorials/nbm-nodesapi3.adoc[NetBeans Nodes, Explorer Manager, and Component Palette Tutorial]
+- xref:tutorials/nbm-nodesapi2.adoc[NetBeans Nodes API Tutorial]
+- xref:tutorials/nbm-options.adoc[NetBeans Options Window Module Tutorial]
+- xref:tutorials/nbm-ant.adoc[NetBeans Platform Ant Command Line Tutorial]
+- xref:tutorials/nbm-crud.adoc[NetBeans Platform CRUD Application Tutorial]
+- xref:tutorials/nbm-maven-crud.adoc[NetBeans Platform CRUD Tutorial Using Maven]
+- xref:tutorials/nbm-emf.adoc[NetBeans Platform EMF Integration Tutorial]
+- xref:tutorials/nbm-feedreader.adoc[NetBeans Platform Feed Reader Tutorial]
+- xref:tutorials/nbm-maven-modulesingle.adoc[NetBeans Platform File Type Tutorial Using Maven]
+- xref:tutorials/nbm-gesture.adoc[NetBeans Platform Gesture Collection Infrastructure Tutorial]
+- xref:tutorials/nbm-htmleditor.adoc[NetBeans Platform HTML Editor]
+- xref:tutorials/nbm-nbi.adoc[NetBeans Platform Installer Integration Tutorial]
+- xref:tutorials/nbm-javafx.adoc[NetBeans Platform JavaFX Porting Tutorial]
+- xref:tutorials/nbm-maven-commandline.adoc[NetBeans Platform Maven Command Line Tutorial]
+- xref:tutorials/nbm-paintapp.adoc[NetBeans Platform Paint Application Tutorial]
+- xref:tutorials/nbm-google.adoc[NetBeans Platform Plugin Quick Start]
+- xref:tutorials/nbm-dukescript.adoc[NetBeans Platform Plugins with DukeScript]
+- xref:tutorials/nbm-quick-start.adoc[NetBeans Platform Quick Start]
+- xref:tutorials/nbm-maven-quickstart.adoc[NetBeans Platform Quick Start Using Maven]
+- xref:tutorials/nbm-osgi-quickstart.adoc[NetBeans Platform Quick Start Using OSGi]
+- xref:tutorials/nbm-ribbonbar.adoc[NetBeans Platform Ribbon Bar Integration Tutorial]
+- xref:tutorials/nbm-runtime-container.adoc[NetBeans Platform Runtime Container Tutorial]
+- xref:tutorials/nbm-maven-modulesuite.adoc[NetBeans Platform Selection Tutorial Using Maven]
+- xref:tutorials/nbm-porting-basic.adoc[NetBeans Platform Swing Porting Tutorial]
+- xref:tutorials/nbm-test.adoc[NetBeans Platform Test Infrastructure Tutorial]
+- xref:tutorials/nbm-geospatial.adoc[NetBeans Platform Tutorial for Geospatial Systems]
+- xref:tutorials/nbm-ide.adoc[NetBeans Platform Tutorial for Integrated Development Environments]
+- xref:tutorials/nbm-workflow.adoc[NetBeans Platform Workflow Tutorial]
+- xref:tutorials/nbm-projectsamples.adoc[NetBeans Project Sample Module Tutorial]
+- xref:tutorials/nbm-projectextension.adoc[NetBeans Project Type Extension Module Tutorial]
+- xref:tutorials/nbm-projecttype.adoc[NetBeans Project Type Module Tutorial]
+- xref:tutorials/nbm-property-editors.adoc[NetBeans Property Editor Tutorial]
+- xref:tutorials/nbm-selection-2.adoc[NetBeans Selection Management Tutorial II—Using Nodes]
+- xref:tutorials/nbm-selection-1.adoc[NetBeans Selection Management Tutorial I—Using a TopComponent&#39;s Lookup]
+- xref:tutorials/nbm-server-plugin.adoc[NetBeans Server-Skeleton Module Tutorial]
+- xref:tutorials/nbm-nodesapi.adoc[NetBeans System Properties Module Tutorial]
+- xref:tutorials/nbm-visual_library2.adoc[NetBeans Visual Database Explorer Tutorial]
+- xref:tutorials/nbm-visual_library.adoc[NetBeans Visual Library Tutorial]
+- xref:tutorials/nbm-visual_library3.adoc[NetBeans Visual Library Tutorial for Java Applications]
+- xref:tutorials/nbm-quick-start-visual.adoc[NetBeans Visual Library Tutorial for Standard Java SE Applications]
+- xref:tutorials/nbm-wizard.adoc[NetBeans Wizard Module Tutorial]
+- xref:tutorials/nbm-xmleditor.adoc[NetBeans XML Editor Extension Module Tutorial]
+- xref:tutorials/nbm-feedreader_background.adoc[Preparing to Create the Feed Reader Application]
+- xref:tutorials/nbm-quick-search.adoc[Quick Search Integration Tutorial]
+- xref:tutorials/nbm-10-top-apis.adoc[Top 10 NetBeans APIs]
+- xref:tutorials/nbm-povray-1.adoc[Writing POV-Ray Support for NetBeans I—Application Structure &amp;amp; File Support]
+- xref:tutorials/nbm-povray-3.adoc[Writing POV-Ray Support for NetBeans III—Implementing a Project Type]
+- xref:tutorials/nbm-povray-2.adoc[Writing POV-Ray Support for NetBeans II—Project Type Design]
+- xref:tutorials/nbm-povray-4.adoc[Writing POV-Ray Support for NetBeans IV—Providing Project Templates]
+- xref:tutorials/nbm-povray-9.adoc[Writing POV-Ray Support for NetBeans IX—Build Support]
+- xref:tutorials/nbm-povray-5.adoc[Writing POV-Ray Support for NetBeans V—Creating an API]
+- xref:tutorials/nbm-povray-8.adoc[Writing POV-Ray Support for NetBeans VIII—Implementing ViewService and its Actions]
+- xref:tutorials/nbm-povray-6.adoc[Writing POV-Ray Support for NetBeans VI—Implementing the API]
+- xref:tutorials/nbm-povray-7.adoc[Writing POV-Ray Support for NetBeans VII—Support For Running POV-Ray]
+- xref:tutorials/nbm-povray-10.adoc[Writing POV-Ray Support for NetBeans X—Conclusion]
 
 
 
diff --git a/modules/ROOT/pages/tutorials/nbm-ant.adoc b/modules/ROOT/pages/tutorials/nbm-ant.adoc
index 32578f6..ec51e62 100644
--- a/modules/ROOT/pages/tutorials/nbm-ant.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-ant.adoc
@@ -62,7 +62,7 @@
 
 
 [start=2]
-1. Read  link:http://wiki.netbeans.org/AutoUpdateTask[http://wiki.netbeans.org/AutoUpdateTask].
+1. Read  xref:wiki::wiki/AutoUpdateTask[].
 
 [start=3]
 1. 
diff --git a/modules/ROOT/pages/tutorials/nbm-code-completion.adoc b/modules/ROOT/pages/tutorials/nbm-code-completion.adoc
index 5c635fa..a6a2093 100644
--- a/modules/ROOT/pages/tutorials/nbm-code-completion.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-code-completion.adoc
@@ -642,5 +642,5 @@
 
 For more information about creating and developing plugins, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-code-generator.adoc b/modules/ROOT/pages/tutorials/nbm-code-generator.adoc
index 0122d0a..c240bd6 100644
--- a/modules/ROOT/pages/tutorials/nbm-code-generator.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-code-generator.adoc
@@ -159,7 +159,7 @@
 
 == Coding the Code Generator Integration
 
-Next, we will implement the NetBeans Java Editor APIs introduced in the  xref:./nbm-copyfqn.adoc[NetBeans Java Language Infrastructure Tutorial].
+Next, we will implement the NetBeans Java Editor APIs introduced in the  xref:tutorials/nbm-copyfqn.adoc[NetBeans Java Language Infrastructure Tutorial].
 
 Below, we set dependencies on the required modules and then implement them in our own module.
 
@@ -294,4 +294,4 @@
 
 *  link:https://netbeans.apache.org/platform/index.html[NetBeans Platform Homepage]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API List (Current Development Version)]
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
diff --git a/modules/ROOT/pages/tutorials/nbm-code-template.adoc b/modules/ROOT/pages/tutorials/nbm-code-template.adoc
index d67340e..5275aa0 100644
--- a/modules/ROOT/pages/tutorials/nbm-code-template.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-code-template.adoc
@@ -186,5 +186,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/index.html[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-copyfqn.adoc b/modules/ROOT/pages/tutorials/nbm-copyfqn.adoc
index db3a7ca..fd352b0 100644
--- a/modules/ROOT/pages/tutorials/nbm-copyfqn.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-copyfqn.adoc
@@ -623,5 +623,5 @@
 
 *  xref:wiki::wiki/Java_DevelopersGuide.adoc[Java Developer's Guide]
 *  xref:wiki::wiki/RetoucheDeveloperFAQ.adoc[Retouche Developer FAQ]
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-crud.adoc b/modules/ROOT/pages/tutorials/nbm-crud.adoc
index 51c28f0..17d7f3c 100644
--- a/modules/ROOT/pages/tutorials/nbm-crud.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-crud.adoc
@@ -44,7 +44,7 @@
 
 At the end of the tutorial, you will have learned about a range of NetBeans Platform features that help you in creating applications of this kind. For example, you will have learned about the  `` link:https://bits.netbeans.org/dev/javadoc/org-openide-awt/org/openide/awt/UndoRedo.Manager.html[UndoRedo.Manager]``  and the  `` link:https://bits.netbeans.org/dev/javadoc/org-openide-explorer/org/openide/explorer/ExplorerManager.html[ExplorerManager]`` , as well as NetBeans Platform Swing components, such as  `` link:https://bits.netbeans.org/dev/javadoc/org-openide-windows/org/openide/windows/TopComponent.html[TopComponent]``  and  `` link:https://bits.netbeans.org/dev/javadoc/org-openide-explorer/org/openide/explorer/view/BeanTreeView.html[BeanTreeView]`` .
 
-// NOTE:  This document uses NetBeans IDE 8.0 and NetBeans Platform 8.0. If you are using an earlier version, see  link:74/nbm-crud.html[the previous version of this document]. A prerequisite for following this tutorial is that you have already completed and understood the  xref:./nbm-quick-start.adoc[NetBeans Platform Quick Start], while  link:https://leanpub.com/nbp4beginners[NetBeans Platform for Beginners] (published in 2014) is very highly recommended.
+// NOTE:  This document uses NetBeans IDE 8.0 and NetBeans Platform 8.0. If you are using an earlier version, see  link:74/nbm-crud.html[the previous version of this document]. A prerequisite for following this tutorial is that you have already completed and understood the  xref:tutorials/nbm-quick-start.adoc[NetBeans Platform Quick Start], while  link:https://leanpub.com/nbp4beginners[NetBeans Platform for Beginners] (published in 2014) is very highly recommended.
 
 
 
@@ -105,7 +105,7 @@
 
 image::tutorials/crud_72_db-1.png[]
 
-Alternatively, use any database you like and adapt the steps that follow to your particular use case. For Oracle Database, see  xref:../kb/docs/ide/oracle-db.adoc[Connecting to an Oracle Database]; for MySQL, see  xref:../kb/docs/ide/mysql.adoc[Connecting to a MySQL Database] for help.
+Alternatively, use any database you like and adapt the steps that follow to your particular use case. For Oracle Database, see  xref:kb/docs/ide/oracle-db.adoc[Connecting to an Oracle Database]; for MySQL, see  xref:kb/docs/ide/mysql.adoc[Connecting to a MySQL Database] for help.
 
 
 [start=2]
@@ -367,7 +367,7 @@
 private static ExplorerManager em = new ExplorerManager();
 ----
 
-Watch  xref:./nbm-10-top-apis.adoc[Top 10 NetBeans APIs] for details on the above code, especially the screencast dealing with the Nodes API and the Explorer &amp; Property Sheet API.
+Watch  xref:tutorials/nbm-10-top-apis.adoc[Top 10 NetBeans APIs] for details on the above code, especially the screencast dealing with the Nodes API and the Explorer &amp; Property Sheet API.
 
 
 [start=4]
@@ -733,7 +733,7 @@
 }
 ----
 
-NOTE:  To use the above code snippet, you need to set up a dynamic Lookup, as described in the  xref:./nbm-quick-start.adoc[NetBeans Platform Quick Start]. Since the NetBeans Platform Quick Start is a prerequisite for following this tutorial, no time will be spent explaining dynamic Lookups here. If you do not know how to use  ``InstanceContent``  or if the term "dynamic Lookup" means nothing to you, please stop working on this tutorial and work through the NetBeans Platform Quick Start instead.
+NOTE:  To use the above code snippet, you need to set up a dynamic Lookup, as described in the  xref:tutorials/nbm-quick-start.adoc[NetBeans Platform Quick Start]. Since the NetBeans Platform Quick Start is a prerequisite for following this tutorial, no time will be spent explaining dynamic Lookups here. If you do not know how to use  ``InstanceContent``  or if the term "dynamic Lookup" means nothing to you, please stop working on this tutorial and work through the NetBeans Platform Quick Start instead.
 
 
 [start=4]
@@ -1101,7 +1101,7 @@
 
 For more information about creating and developing applications, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
 
diff --git a/modules/ROOT/pages/tutorials/nbm-filetemplates.adoc b/modules/ROOT/pages/tutorials/nbm-filetemplates.adoc
index bb4c02e..64dce65 100644
--- a/modules/ROOT/pages/tutorials/nbm-filetemplates.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-filetemplates.adoc
@@ -395,5 +395,5 @@
 
 For more information about creating and developing NetBeans Module, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-filetype.adoc b/modules/ROOT/pages/tutorials/nbm-filetype.adoc
index aa47a6d..83d2a29 100644
--- a/modules/ROOT/pages/tutorials/nbm-filetype.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-filetype.adoc
@@ -114,7 +114,7 @@
 
 Let's imagine that Abc files can be case-sensitive. For this reason, you specify _two_ MIME types in this tutorial— ``abc``  and  ``ABC`` .
 
-* *XML Root Element.* Specifies a unique namespace that distinguishes the XML file type from all other XML file types. Since many XML files have the same extension ( ``xml`` ), the IDE distinguishes between XML files via their XML root elements. More specifically, the IDE can distinguish between namespaces and the first XML element in XML files. You can use this to, for example, distinguish between a JBoss deployment descriptor and a WebLogic deployment descriptor. Once you have made this distinction, you can ensure that menu items added to the JBoss deployment descriptor's contextual menu are not available to the WebLogic deployment descriptor. For an example, see the  xref:./nbm-palette-api2.adoc[NetBeans Component Palette Module Tutorial].
+* *XML Root Element.* Specifies a unique namespace that distinguishes the XML file type from all other XML file types. Since many XML files have the same extension ( ``xml`` ), the IDE distinguishes between XML files via their XML root elements. More specifically, the IDE can distinguish between namespaces and the first XML element in XML files. You can use this to, for example, distinguish between a JBoss deployment descriptor and a WebLogic deployment descriptor. Once you have made this distinction, you can ensure that menu items added to the JBoss deployment descriptor's contextual menu are not available to the WebLogic deployment descriptor. For an example, see the  xref:tutorials/nbm-palette-api2.adoc[NetBeans Component Palette Module Tutorial].
 
 Click Next.
 
@@ -417,7 +417,7 @@
 
 A  ``DataObject``  is like a  ``FileObject`` , except that it knows what kind of file is being shown. The "New File Type" wizard created a  ``DataObject``  for our file type, so let's now use it to parse the underlying file and expose its content as new nodes in the explorer views, e.g., the Projects window, Files window, and the Favorites window.
 
-For background to this section and complete details on support for nodes on the NetBeans Platform, see  xref:./nbm-nodesapi2.adoc[NetBeans Nodes API Tutorial].
+For background to this section and complete details on support for nodes on the NetBeans Platform, see  xref:tutorials/nbm-nodesapi2.adoc[NetBeans Nodes API Tutorial].
 
 
 [start=1]
@@ -511,7 +511,7 @@
 
 Our Node now has child Nodes. In this section, we also assign properties to our Node. The properties are displayed in the Properties window.
 
-For background to this section and complete details on support for properties on the NetBeans Platform, see  xref:./nbm-property-editors.adoc[NetBeans Property Editor Tutorial].
+For background to this section and complete details on support for properties on the NetBeans Platform, see  xref:tutorials/nbm-property-editors.adoc[NetBeans Property Editor Tutorial].
 
 By default, the following properties are shown in the Properties window for our new file:
 
@@ -599,7 +599,7 @@
 
 Let's now illustrate via a small example how the various views can be synchronized.
 
-For background to this section and complete details on the Visual Library in the NetBeans Platform, see "NetBeans APIs for Visualizing Data" in the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail], especially the  link:https://bits.netbeans.org/dev/javadoc/org-netbeans-api-visual/org/netbeans/api/visual/widget/doc-files/documentation.html[official Visual Library documentation].
+For background to this section and complete details on the Visual Library in the NetBeans Platform, see "NetBeans APIs for Visualizing Data" in the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail], especially the  link:https://bits.netbeans.org/dev/javadoc/org-netbeans-api-visual/org/netbeans/api/visual/widget/doc-files/documentation.html[official Visual Library documentation].
 
 
 [start=1]
@@ -696,4 +696,4 @@
 
 *  link:https://netbeans.apache.org/platform/index.html[NetBeans Platform Homepage]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API List (Current Development Version)]
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
diff --git a/modules/ROOT/pages/tutorials/nbm-geospatial.adoc b/modules/ROOT/pages/tutorials/nbm-geospatial.adoc
index ea5437f..3ca5026 100644
--- a/modules/ROOT/pages/tutorials/nbm-geospatial.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-geospatial.adoc
@@ -514,7 +514,7 @@
 
 Conversely, you might need the map to be updated when one or more of the supporting windows change. In that case, the map window must be subscribed to the Lookup of the currently selected window or to the specific supporting window that it is interested in. The supporting window needs to published objects of interest to the map window.
 
-The  xref:./nbm-quick-start.adoc[NetBeans Platform Quick Start] describes this mechanism in detail.
+The  xref:tutorials/nbm-quick-start.adoc[NetBeans Platform Quick Start] describes this mechanism in detail.
 
 
 == Configuring the Geospatial System
@@ -701,7 +701,7 @@
 
 Congratulations! At this stage, with very little coding, you have created the starting point of an air-traffic control system.
 
-To continue learning about the NetBeans Platform, head on to the four-part "NetBeans Platform Selection Management" series,  xref:./nbm-selection-1.adoc[which starts here]. After that, get started with the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail], choosing the tutorials that are most relevant to your particular business scenario. Also, whenever you have questions about the NetBeans Platform, of any kind, feel free to write to the mailing list, dev@platform.netbeans.org; its related archive  link:https://mail-archives.apache.org/mod_mbox/netbeans-dev/[is here].
+To continue learning about the NetBeans Platform, head on to the four-part "NetBeans Platform Selection Management" series,  xref:tutorials/nbm-selection-1.adoc[which starts here]. After that, get started with the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail], choosing the tutorials that are most relevant to your particular business scenario. Also, whenever you have questions about the NetBeans Platform, of any kind, feel free to write to the mailing list, dev@platform.netbeans.org; its related archive  link:https://mail-archives.apache.org/mod_mbox/netbeans-dev/[is here].
 
 Have fun with the NetBeans Platform and see you on the mailing list!
 
diff --git a/modules/ROOT/pages/tutorials/nbm-glossary.adoc b/modules/ROOT/pages/tutorials/nbm-glossary.adoc
index dfd7323..acc516b 100644
--- a/modules/ROOT/pages/tutorials/nbm-glossary.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-glossary.adoc
@@ -40,7 +40,7 @@
 
 * *System Filesystem.* The general registry that contains NetBeans configuration information, built from the layer.xml configuration files of the registered modules. NetBeans stores a wide variety of configuration information in the System Filesystem. For example, the System Filesystem contains a folder called Menu, which contains subfolders with names such as File and Edit. These subfolders contain files that represent Java classes which implement the actions that appear in the "File" and "Edit" menus in the IDE.
 
-* *Module.* A group of Java classes that provides an application with a specific feature. For example, the feature provided by the Java classes in the  xref:./nbm-feedreader.adoc[Feed Reader Tutorial] is an RSS/Atom feed reader. The Java classes use the manifest.mf file to declare the module and the layer.xml configuration file to register their functionality in the System Filesystem. In NetBeans terminology, "plugin" is an adjective, while "module" is a noun. There is no discernible difference in meaning between them.
+* *Module.* A group of Java classes that provides an application with a specific feature. For example, the feature provided by the Java classes in the  xref:tutorials/nbm-feedreader.adoc[Feed Reader Tutorial] is an RSS/Atom feed reader. The Java classes use the manifest.mf file to declare the module and the layer.xml configuration file to register their functionality in the System Filesystem. In NetBeans terminology, "plugin" is an adjective, while "module" is a noun. There is no discernible difference in meaning between them.
 
 * *NetBeans APIs.* The public interfaces and classes which are available to module writers. They are divided into specific APIs for dealing with different types of functionality. The contents and behavior of the Java source packages and its subpackages, as specified in the API reference documentation, are the APIs. For the full NetBeans API List, click  link:https://bits.netbeans.org/dev/javadoc/[here].
 
diff --git a/modules/ROOT/pages/tutorials/nbm-google.adoc b/modules/ROOT/pages/tutorials/nbm-google.adoc
index 1cef224..852d4d3 100644
--- a/modules/ROOT/pages/tutorials/nbm-google.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-google.adoc
@@ -39,7 +39,7 @@
 
 This tutorial provides a simple and quick introduction to the Apache NetBeans plugin development workflow by walking you through the creation of a new toolbar for any Apache NetBeans Platform application. Once you are done with this tutorial, you will know how to create, build, and install plugins for the Apache NetBeans Platform.
 
-After you finish this tutorial, you can move on to the  xref:../kb/docs/platform.adoc[NetBeans Platform learning trail]. The learning trail provides comprehensive tutorials that highlight a wide range of Apache NetBeans APIs for a variety of application types. If you do not need to do a "Hello World" tutorial, you can skip the instructions that follow and jump straight to the learning trail.
+After you finish this tutorial, you can move on to the  xref:kb/docs/platform.adoc[NetBeans Platform learning trail]. The learning trail provides comprehensive tutorials that highlight a wide range of Apache NetBeans APIs for a variety of application types. If you do not need to do a "Hello World" tutorial, you can skip the instructions that follow and jump straight to the learning trail.
 
 The toolbar you create in this tutorial will look as follows:
 
@@ -49,7 +49,7 @@
 
 To create this toolbar, you will use the  link:https://bits.netbeans.org/dev/javadoc/[NetBeans APIs] to enhance the Apache NetBeans Platform's feature set. Specifically, you will create and register an action invoked by a button created by the NetBeans Platform in the toolbar. You will then create a  ``JPanel``  containing a  ``JLabel``  and  ``JTextField``  as GUI components. Finally, you will implement  link:https://bits.netbeans.org/dev/javadoc/org-openide-util/org/openide/util/actions/Presenter.Toolbar.html[ ``Presenter.Toolbar`` ] to return the  ``JPanel``  so that it displays in the toolbar, instead of the button.
 
-If it would help you, do some background reading before diving into this tutorial. In particular, you might like to read the  link:https://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html[Modules API Reference] document, which explains what modules are and provides some context for this tutorial. Also note that there is an extensive Reference Material section on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]. Of course you can always go back to those later, or again, whenever you would like to.
+If it would help you, do some background reading before diving into this tutorial. In particular, you might like to read the  link:https://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html[Modules API Reference] document, which explains what modules are and provides some context for this tutorial. Also note that there is an extensive Reference Material section on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]. Of course you can always go back to those later, or again, whenever you would like to.
 
 The completed tutorial source code is also available as link:https://github.com/bradh/GoogleBar[a GitHub repository].
 
@@ -394,7 +394,7 @@
 
 This concludes the NetBeans Plugin Quick Start. This document has described how to create a plugin that adds a Google Search toolbar to the IDE. For more information about creating and developing plugins, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
 * NetBeans API classes used in this tutorial:
 *  `` link:https://bits.netbeans.org/dev/javadoc/org-openide-awt/org/openide/awt/HtmlBrowser.URLDisplayer.html[HtmlBrowser.URLDisplayer]`` 
diff --git a/modules/ROOT/pages/tutorials/nbm-htmleditor.adoc b/modules/ROOT/pages/tutorials/nbm-htmleditor.adoc
index d4222a4..a41c02e 100644
--- a/modules/ROOT/pages/tutorials/nbm-htmleditor.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-htmleditor.adoc
@@ -36,9 +36,9 @@
 
 This tutorial provides a very simple and quick introduction to the NetBeans Platform workflow by walking you through the creation of a simple HTML Editor. Though simple to create, the HTML Editor you create will be a mature application because it will reuse the infrastructure provided by the NetBeans Platform, as well as several modules from NetBeans IDE. For example, without any coding, your HTML Editor will have a mature window system, which it reuses from the NetBeans Platform. Once you are done with this tutorial, you will have a general understanding of how to create, build, and run applications on top of the NetBeans Platform.
 
-After you finish this tutorial, you can move on to the  xref:../kb/docs/platform.adoc[NetBeans Platform learning trail]. The learning trail provides comprehensive tutorials that highlight a wide range of NetBeans APIs for a variety of application types. If you do not want to do a "Hello World" application, you can skip this tutorial and jump straight to the learning trail.
+After you finish this tutorial, you can move on to the  xref:kb/docs/platform.adoc[NetBeans Platform learning trail]. The learning trail provides comprehensive tutorials that highlight a wide range of NetBeans APIs for a variety of application types. If you do not want to do a "Hello World" application, you can skip this tutorial and jump straight to the learning trail.
 
-// NOTE:  This document uses NetBeans IDE 8.1 and NetBeans Platform 8.1. If you are using an earlier version of these products, see  link:80/nbm-htmleditor.html[the previous version of this document]. If this is your first encounter with the NetBeans Platform, you are recommended to work through the  xref:./nbm-quick-start.adoc[NetBeans Platform Quick Start] before continuing with this one. If, instead of learning how to create a NetBeans Platform application, you would like to learn how to create a NetBeans plugin, see the  xref:./nbm-google.adoc[NetBeans Plugin Quick Start].
+// NOTE:  This document uses NetBeans IDE 8.1 and NetBeans Platform 8.1. If you are using an earlier version of these products, see  link:80/nbm-htmleditor.html[the previous version of this document]. If this is your first encounter with the NetBeans Platform, you are recommended to work through the  xref:tutorials/nbm-quick-start.adoc[NetBeans Platform Quick Start] before continuing with this one. If, instead of learning how to create a NetBeans Platform application, you would like to learn how to create a NetBeans plugin, see the  xref:tutorials/nbm-google.adoc[NetBeans Plugin Quick Start].
 
 
 
@@ -301,5 +301,5 @@
 
 This concludes the NetBeans HTML Editor Tutorial. For more information about creating and developing applications on the NetBeans Platform, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-ide.adoc b/modules/ROOT/pages/tutorials/nbm-ide.adoc
index 14c737a..66a90ed 100644
--- a/modules/ROOT/pages/tutorials/nbm-ide.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-ide.adoc
@@ -51,7 +51,7 @@
 
 For troubleshooting purposes, you are welcome to download the  link:http://web.archive.org/web/20170409072842/http://java.net/projects/nb-api-samples/show/versions/8.0/tutorials/MyIDE[completed tutorial source code].
 
-NOTE:  If you are new to the NetBeans Platform, do some background reading before diving into this tutorial. In particular, read the  link:https://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html[Modules API Reference] document, which explains what modules are and provides some context for this tutorial, while noting that there is an extensive Reference Material section on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+NOTE:  If you are new to the NetBeans Platform, do some background reading before diving into this tutorial. In particular, read the  link:https://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html[Modules API Reference] document, which explains what modules are and provides some context for this tutorial, while noting that there is an extensive Reference Material section on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 
 == Creating a Generic Application Basis
diff --git a/modules/ROOT/pages/tutorials/nbm-java-hint.adoc b/modules/ROOT/pages/tutorials/nbm-java-hint.adoc
index 7fe1844..9626eb2 100644
--- a/modules/ROOT/pages/tutorials/nbm-java-hint.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-java-hint.adoc
@@ -354,7 +354,7 @@
 
 For more information about creating and developing NetBeans Module, see the following resources:
 
-*  link:http://wiki.netbeans.org/Java_DevelopersGuide[Java Developer's Guide]
-*  xref:./nbm-copyfqn.adoc[NetBeans Java Language Infrastructure Tutorial]
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:wiki::wiki/Java_DevelopersGuide[Java Developer's Guide]
+*  xref:tutorials/nbm-copyfqn.adoc[NetBeans Java Language Infrastructure Tutorial]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-javacc-lexer.adoc b/modules/ROOT/pages/tutorials/nbm-javacc-lexer.adoc
index 57f670e..7a2531b 100644
--- a/modules/ROOT/pages/tutorials/nbm-javacc-lexer.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-javacc-lexer.adoc
@@ -55,7 +55,7 @@
 
 This tutorial focuses specifically on lexers. Lexical analysis, or "lexing", is the process of converting a sequence of characters into a sequence of tokens. Functionality that performs lexical analysis is called a lexical analyzer, a lexer, or a scanner. In this tutorial, the term "lexer" will be used. A lexer typically exists as a single function called by a parser. For example, while a typical lexer recognizes parentheses as tokens, it does nothing to ensure that an opening parentheses is matched by a closing parentheses, which is a task for a parser.
 
-Part 2 of this tutorial, the  xref:./nbm-javacc-parser.adoc[JavaCC Parser Generator Integration Tutorial], shows you how to create a parser that parses the same text that the lexer in this tutorial lexes.
+Part 2 of this tutorial, the  xref:tutorials/nbm-javacc-parser.adoc[JavaCC Parser Generator Integration Tutorial], shows you how to create a parser that parses the same text that the lexer in this tutorial lexes.
 
 The NetBeans Platform provides hooks for integrating a lexer into your own Java desktop application on the NetBeans Platform. For example, in this tutorial, you use a sample grammar specification provided by JavaCC to generate a lexer and use it to create syntax coloring in an editor for a simplified Java language defined by the sample grammar specification:
 
@@ -93,7 +93,7 @@
 
 In this section, we use a wizard to create the classes necessary for recognizing "SimpleJava" files, for which we will create the new "text/x-sj" MIME type, which will recognize files with ".sj" as their file extension.
 
-NOTE:  For details on the steps below, follow the  xref:./nbm-filetype.adoc[File Type Integration Tutorial].
+NOTE:  For details on the steps below, follow the  xref:tutorials/nbm-filetype.adoc[File Type Integration Tutorial].
 
 
 [start=1]
@@ -128,7 +128,7 @@
 
 image::tutorials/javacc_72_code-4.png[]
 
-The newly generated files above are described in the  xref:./nbm-filetype.adoc[File Type Integration Tutorial].
+The newly generated files above are described in the  xref:tutorials/nbm-filetype.adoc[File Type Integration Tutorial].
 
 
 [start=5]
@@ -976,15 +976,14 @@
 
 == Next Steps
 
-This tutorial is the official version of the first part of  xref:wiki::wiki/How_to_create_support_for_a_new_language.adoc[http://wiki.netbeans.org/How_to_create_support_for_a_new_language], which, aside from being a rough draft, is partly obsolete and out of date for the NetBeans Platform.
+This tutorial is the official version of the first part of xref:wiki::wiki/How_to_create_support_for_a_new_language.adoc[], which, aside from being a rough draft, is partly obsolete and out of date for the NetBeans Platform.
 
-Part 2 of this tutorial, the  xref:./nbm-javacc-parser.adoc[JavaCC Parser Generator Integration Tutorial], shows you how to create a parser that parses the same text that the lexer in this tutorial lexes.
+Part 2 of this tutorial, the  xref:tutorials/nbm-javacc-parser.adoc[JavaCC Parser Generator Integration Tutorial], shows you how to create a parser that parses the same text that the lexer in this tutorial lexes.
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  link:https://netbeans.apache.org/platform/index.html[NetBeans Platform Homepage]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Homepage]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API List (Current Development Version)]
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
 
 [[appendix]]
 == Appendix
diff --git a/modules/ROOT/pages/tutorials/nbm-javacc-parser.adoc b/modules/ROOT/pages/tutorials/nbm-javacc-parser.adoc
index abccab7..0e89840 100644
--- a/modules/ROOT/pages/tutorials/nbm-javacc-parser.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-javacc-parser.adoc
@@ -36,7 +36,7 @@
 
 This tutorial shows you how to generate a parser with  link:https://javacc.github.io/javacc//[JavaCC] and use it to create features in a NetBeans editor.
 
-NOTE:  Prior to starting to work on this tutorial, you must have completed the  xref:./nbm-javacc-lexer.adoc[JavaCC Lexer Generator Integration Tutorial], since that tutorial shows how to create the module structure, file type support, and lexer used in the instructions that follow.
+NOTE:  Prior to starting to work on this tutorial, you must have completed the  xref:tutorials/nbm-javacc-lexer.adoc[JavaCC Lexer Generator Integration Tutorial], since that tutorial shows how to create the module structure, file type support, and lexer used in the instructions that follow.
 
 You will learn how to create several features in a NetBeans editor, based on your JavaCC parser, such as a syntax error parser, as shown below:
 
@@ -55,7 +55,7 @@
 
 == Generating a Parser from JavaCC
 
-Let's now use JavaCC to generate a parser, in the same way as we generated a lexer in the  xref:./nbm-javacc-lexer.adoc[JavaCC Lexer Generator Integration Tutorial]. We'll need to edit the JavaCC grammar file less than we did in the previous tutorial, since we're not going to remove the parser generator as we did last time.
+Let's now use JavaCC to generate a parser, in the same way as we generated a lexer in the  xref:tutorials/nbm-javacc-lexer.adoc[JavaCC Lexer Generator Integration Tutorial]. We'll need to edit the JavaCC grammar file less than we did in the previous tutorial, since we're not going to remove the parser generator as we did last time.
 
 
 [start=1]
@@ -1025,10 +1025,10 @@
 
 == Next Steps
 
-This tutorial is the official version of the second part of  link:http://wiki.netbeans.org/How_to_create_support_for_a_new_language[http://wiki.netbeans.org/How_to_create_support_for_a_new_language], which, aside from being a rough draft, is partly out of date for the NetBeans Platform.
+This tutorial is the official version of the second part of xref:wiki::wiki/How_to_create_support_for_a_new_language.adoc[], which, aside from being a rough draft, is partly out of date for the NetBeans Platform.
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  link:https://netbeans.apache.org/platform/index.html[NetBeans Platform Homepage]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Homepage]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API List (Current Development Version)]
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+
diff --git a/modules/ROOT/pages/tutorials/nbm-mark-occurrences.adoc b/modules/ROOT/pages/tutorials/nbm-mark-occurrences.adoc
index 6cfe09f..6aa3fc1 100644
--- a/modules/ROOT/pages/tutorials/nbm-mark-occurrences.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-mark-occurrences.adoc
@@ -297,5 +297,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/index.html[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-maven-commandline.adoc b/modules/ROOT/pages/tutorials/nbm-maven-commandline.adoc
index 14506b8..e38a877 100644
--- a/modules/ROOT/pages/tutorials/nbm-maven-commandline.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-maven-commandline.adoc
@@ -571,7 +571,7 @@
 image::tutorials/maven-commandline_72_p5.png[title="Screenshot of Message Dialog"] 
 image::tutorials/maven-commandline_72_p6.png[title="Screenshot of Message Dialog"]
 
-This tutorial demonstrated how you can use the Maven command line to create NetBeans Platform applications. For more examples on how to build NetBeans Platform applications and modules, see the tutorials listed in the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+This tutorial demonstrated how you can use the Maven command line to create NetBeans Platform applications. For more examples on how to build NetBeans Platform applications and modules, see the tutorials listed in the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
 
@@ -582,8 +582,8 @@
 
 This document described how to use the Maven build framework to create a new NetBeans Platform application without using NetBeans IDE. For more information about creating and developing applications, see the following resources.
 
-*  xref:./nbm-maven-quickstart.adoc[NetBeans Platform Quick Start Using Maven]
-*  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]
+*  xref:tutorials/nbm-maven-quickstart.adoc[NetBeans Platform Quick Start Using Maven]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
 
 If you have any questions about the NetBeans Platform, feel free to write to the mailing list, dev@platform.netbeans.org, or view the  link:https://mail-archives.apache.org/mod_mbox/netbeans-dev/[NetBeans Platform mailing list archive].
diff --git a/modules/ROOT/pages/tutorials/nbm-maven-crud.adoc b/modules/ROOT/pages/tutorials/nbm-maven-crud.adoc
index 92f6bff..ee7761f 100644
--- a/modules/ROOT/pages/tutorials/nbm-maven-crud.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-maven-crud.adoc
@@ -36,7 +36,7 @@
 
 This tutorial demonstrates how to use the Maven build framework to create a simple NetBeans Platform application that can read from and write to a database. In this document you will use Maven archetypes to create the NetBeans Platform application and module, and the Swing UI toolkit and "Matisse" GUI Builder to create window components.
 
-This document is based on the Ant-based  xref:./nbm-crud.adoc[NetBeans Platform CRUD Application Tutorial] and can be used to understand some of the differences between using Ant and Maven to develop NetBeans Platform applications. After you understand how Maven is different from Ant, you can easily proceed through other tutorials on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+This document is based on the Ant-based  xref:tutorials/nbm-crud.adoc[NetBeans Platform CRUD Application Tutorial] and can be used to understand some of the differences between using Ant and Maven to develop NetBeans Platform applications. After you understand how Maven is different from Ant, you can easily proceed through other tutorials on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 
 
@@ -50,8 +50,8 @@
 
 *  xref:wiki::wiki/MavenBestPractices.adoc[Best Practices for Maven in NetBeans IDE]
 *  link:http://www.sonatype.com/books/maven-book/reference/introduction.html[Chapter 1. Introducing Apache Maven] (from  link:http://www.sonatype.com/books/maven-book/reference/public-book.html[Maven: The Definitive Guide])
-*  xref:./nbm-maven-commandline.adoc[NetBeans Platform Command Line Tutorial]
-*  xref:./nbm-maven-quickstart.adoc[NetBeans Platform Quick Start Using Maven]
+*  xref:tutorials/nbm-maven-commandline.adoc[NetBeans Platform Command Line Tutorial]
+*  xref:tutorials/nbm-maven-quickstart.adoc[NetBeans Platform Quick Start Using Maven]
 
 Watch this YouTube movie before beginning to work on the tutorial because it shows the steps you will take below:
 
@@ -422,9 +422,9 @@
 
 
 [start=7]
-1. Now that you have completed the steps above, you can refer to the Ant-based  xref:./nbm-crud.adoc[NetBeans Platform CRUD Application Tutorial], since all the Java code in that tutorial is applicable to the application you are creating here.
+1. Now that you have completed the steps above, you can refer to the Ant-based  xref:tutorials/nbm-crud.adoc[NetBeans Platform CRUD Application Tutorial], since all the Java code in that tutorial is applicable to the application you are creating here.
 
-You have a basic understanding of how developing with Maven is different from Ant. You can easily proceed through other tutorials on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail] and apply them to your Maven scenarios.
+You have a basic understanding of how developing with Maven is different from Ant. You can easily proceed through other tutorials on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail] and apply them to your Maven scenarios.
 
 xref:front::community/mailing-lists.adoc[ Send Us Your Feedback]
 
@@ -435,7 +435,7 @@
 
 This concludes the CRUD Tutorial. This document has described how to use the Maven build framework to create a new NetBeans Platform application with CRUD functionality. For more information about creating and developing applications, see the following resources.
 
-*  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
 
 If you have any questions about the NetBeans Platform, feel free to write to the mailing list, dev@platform.netbeans.org, or view the  link:https://mail-archives.apache.org/mod_mbox/netbeans-dev/[NetBeans Platform mailing list archive].
diff --git a/modules/ROOT/pages/tutorials/nbm-maven-modulesingle.adoc b/modules/ROOT/pages/tutorials/nbm-maven-modulesingle.adoc
index 66df432..b001dd4 100644
--- a/modules/ROOT/pages/tutorials/nbm-maven-modulesingle.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-maven-modulesingle.adoc
@@ -36,7 +36,7 @@
 
 This document demonstrates how to create a NetBeans module from a Maven archetype and build and install the module in NetBeans IDE or any other application on the NetBeans Platform. In this tutorial, you will create a module project that when installed enables you to recognize a new type of file in your projects. The module also creates a menu action that is available when the user right-click a file conforming to the new file type.
 
-This document is based on the Ant-based  xref:./nbm-filetype.adoc[NetBeans File Type Tutorial] and can be used to learn some of the differences between using Ant and Maven to develop NetBeans modules. After you understand the differences, you can easily proceed through other tutorials on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+This document is based on the Ant-based  xref:tutorials/nbm-filetype.adoc[NetBeans File Type Tutorial] and can be used to learn some of the differences between using Ant and Maven to develop NetBeans modules. After you understand the differences, you can easily proceed through other tutorials on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 
 
@@ -189,7 +189,7 @@
 
 image::tutorials/maven-single_71_pic7.png[title="Module wizard 1"]
 
-For more details on the files that the IDE created, see  xref:wiki::wiki/DevFaqDataObject.adoc[What is a DataObject] and the section on  xref:./nbm-filetype.adoc#recognizing[Recognizing Abc Files] in the Ant-Based  xref:./nbm-filetype.adoc[File Type Integration Tutorial].
+For more details on the files that the IDE created, see  xref:wiki::wiki/DevFaqDataObject.adoc[What is a DataObject] and the section on  xref:tutorials/nbm-filetype.adoc#recognizing[Recognizing Abc Files] in the Ant-Based  xref:tutorials/nbm-filetype.adoc[File Type Integration Tutorial].
 
 
 == Building and Running the Project
@@ -375,7 +375,7 @@
 
 image::tutorials/maven-single_71_pic95.png[title="Module wizard 1"]
 
-This tutorial demonstrated how to create and run a NetBeans module that you created from a Maven Archetype. You also learned a little about how to work with file types, but for more details you should look at the Ant-Based  xref:./nbm-filetype.adoc[NetBeans File Type Tutorial]. For more examples on how to build NetBeans Platform applications and modules, see the tutorials listed in the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+This tutorial demonstrated how to create and run a NetBeans module that you created from a Maven Archetype. You also learned a little about how to work with file types, but for more details you should look at the Ant-Based  xref:tutorials/nbm-filetype.adoc[NetBeans File Type Tutorial]. For more examples on how to build NetBeans Platform applications and modules, see the tutorials listed in the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
 
@@ -386,8 +386,8 @@
 
 For more information about creating and developing applications, see the following resources.
 
-*  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
 
-If you have any questions about the NetBeans Platform, feel free to write to the mailing list, dev@platform.netbeans.org, or view the  link:https://mail-archives.apache.org/mod_mbox/netbeans-dev/[NetBeans Platform mailing list archive].
+If you have any questions about the NetBeans Platform, feel free to write to the mailing list, users@netbeans.apache.org, or view the xref:front::community/mailing-lists.adoc[NetBeans Platform mailing list archive].
 
diff --git a/modules/ROOT/pages/tutorials/nbm-maven-modulesuite.adoc b/modules/ROOT/pages/tutorials/nbm-maven-modulesuite.adoc
index f3b7e5e..2e6f124 100644
--- a/modules/ROOT/pages/tutorials/nbm-maven-modulesuite.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-maven-modulesuite.adoc
@@ -36,7 +36,7 @@
 
 This document demonstrates how to create a NetBeans Platform Module Suite from Maven archetypes and build and install the suite in your installation of the IDE. In this tutorial you will create a Maven module suite project that contains three NetBeans modules as sub-projects. The Maven project that contains the sub-projects is a simple POM project that declares how the suite is compiled and the installation target.
 
-This document is based on the Ant-based  xref:./nbm-selection-1.adoc[NetBeans Selection Management Tutorial] and illustrates some of the differences between using Ant and Maven to develop NetBeans Platform module suites. After you understand some of the differences, you can easily proceed through other tutorials on the the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+This document is based on the Ant-based  xref:tutorials/nbm-selection-1.adoc[NetBeans Selection Management Tutorial] and illustrates some of the differences between using Ant and Maven to develop NetBeans Platform module suites. After you understand some of the differences, you can easily proceed through other tutorials on the the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 
 
@@ -50,8 +50,8 @@
 
 *  xref:wiki::wiki/MavenBestPractices.adoc[Best Practices for Maven in NetBeans IDE]
 *  link:http://www.sonatype.com/books/maven-book/reference/introduction.html[Chapter 1. Introducing Apache Maven] (from  link:http://www.sonatype.com/books/maven-book/reference/public-book.html[Maven: The Definitive Guide])
-*  xref:./nbm-maven-commandline.adoc[NetBeans Platform Command Line Tutorial]
-*  xref:./nbm-maven-quickstart.adoc[NetBeans Platform Quick Start Using Maven]
+*  xref:tutorials/nbm-maven-commandline.adoc[NetBeans Platform Command Line Tutorial]
+*  xref:tutorials/nbm-maven-quickstart.adoc[NetBeans Platform Quick Start Using Maven]
 
 
 == Creating the NetBeans Platform Application
@@ -473,7 +473,7 @@
 
 image::tutorials/maven-suite_72_pic13.png[title="screenshot"]
 
-This tutorial demonstrated how to create and run a NetBeans Platform application that you create from a Maven archetype. You saw how applications are structured and how you configure a modules POM to specify public packages. Most important of all, you learned how to publish objects into the selection and how to listen for them and update other parts of the application accordingly. For more examples on how to build NetBeans Platform applications, see the tutorials listed in the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+This tutorial demonstrated how to create and run a NetBeans Platform application that you create from a Maven archetype. You saw how applications are structured and how you configure a modules POM to specify public packages. Most important of all, you learned how to publish objects into the selection and how to listen for them and update other parts of the application accordingly. For more examples on how to build NetBeans Platform applications, see the tutorials listed in the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 xref:front::community/mailing-lists.adoc[ Send Us Your Feedback]
 
@@ -484,7 +484,7 @@
 
 For more information about creating and developing on the NetBeans Platform, see the following resources.
 
-*  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 *  xref:wiki::wiki/index.adoc[NetBeans Developer FAQ]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
 
diff --git a/modules/ROOT/pages/tutorials/nbm-maven-quickstart.adoc b/modules/ROOT/pages/tutorials/nbm-maven-quickstart.adoc
index 121a2cd..6e534bb 100644
--- a/modules/ROOT/pages/tutorials/nbm-maven-quickstart.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-maven-quickstart.adoc
@@ -38,11 +38,11 @@
 
 This document is a quick demonstration of how to create a simple NetBeans Platform application on top of the Maven build framework. After using Maven archetypes to create the NetBeans Platform application build structure, you use the Swing UI toolkit and "Matisse" GUI Builder to create a window component. The modular aspect of the NetBeans Platform enables you to expand the functionality of your application by adding new features during development or at runtime.
 
-This document is based on the Ant-based  xref:./nbm-quick-start.adoc[NetBeans Platform Quick Start for NetBeans Platform]. and illustrates some of the differences between using Ant and Maven to develop NetBeans Platform applications. After you understand how Maven is different from Ant, you can easily proceed through other tutorials on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+This document is based on the Ant-based  xref:tutorials/nbm-quick-start.adoc[NetBeans Platform Quick Start for NetBeans Platform]. and illustrates some of the differences between using Ant and Maven to develop NetBeans Platform applications. After you understand how Maven is different from Ant, you can easily proceed through other tutorials on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 // NOTE: This document uses NetBeans Platform 7.2 and NetBeans IDE 7.2. If you are using an earlier version, see  link:71/nbm-maven-quickstart.html[the previous version of this document].
 
-If you are new to the NetBeans Platform, you might want to watch the screencast series  xref:./nbm-10-top-apis.adoc[Top 10 NetBeans APIs].
+If you are new to the NetBeans Platform, you might want to watch the screencast series  xref:tutorials/nbm-10-top-apis.adoc[Top 10 NetBeans APIs].
 
 
 
@@ -56,7 +56,7 @@
 
 *  xref:wiki::wiki/MavenBestPractices.adoc[Best Practices for Maven in NetBeans IDE]
 *  link:http://www.sonatype.com/books/maven-book/reference/introduction.html[Chapter 1. Introducing Apache Maven] (from  link:http://www.sonatype.com/books/maven-book/reference/public-book.html[Maven: The Definitive Guide])
-*  xref:./nbm-maven-commandline.adoc[NetBeans Platform Command Line Tutorial]
+*  xref:tutorials/nbm-maven-commandline.adoc[NetBeans Platform Command Line Tutorial]
 
 
 == Creating a Maven Based NetBeans Platform Application Project
@@ -751,7 +751,7 @@
 
 When you type text in the Text window and click the Filter! button, the text is converted to upper case letters and the text is added to the content of the History window.
 
-This tutorial demonstrated the fundamental pieces of NetBeans Platform applications. Creating a NetBeans Platform application using Maven is not very different from creating an application using Ant. The major difference is understanding how the Maven POM controls how the application is assembled. For more examples on how to build NetBeans Platform applications and modules, see the tutorials listed in the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+This tutorial demonstrated the fundamental pieces of NetBeans Platform applications. Creating a NetBeans Platform application using Maven is not very different from creating an application using Ant. The major difference is understanding how the Maven POM controls how the application is assembled. For more examples on how to build NetBeans Platform applications and modules, see the tutorials listed in the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 xref:front::community/mailing-lists.adoc[ Send Us Your Feedback]
 
@@ -762,7 +762,7 @@
 
 For more information about creating and developing applications, see the following resources.
 
-*  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail]
+*  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
 
 If you have any questions about the NetBeans Platform, feel free to write to the mailing list, dev@platform.netbeans.org, or view the  link:https://mail-archives.apache.org/mod_mbox/netbeans-dev/[NetBeans Platform mailing list archive].
diff --git a/modules/ROOT/pages/tutorials/nbm-nbi.adoc b/modules/ROOT/pages/tutorials/nbm-nbi.adoc
index 69eb16c..7fcdc69 100644
--- a/modules/ROOT/pages/tutorials/nbm-nbi.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-nbi.adoc
@@ -44,7 +44,7 @@
 
 This tutorial is derived from the following sources:
 
-*  xref:wiki::wiki/NBI.adoc[http://wiki.netbeans.org/NBI]
+*  xref:wiki::wiki/NBI.adoc[]
 *  link:http://installer.netbeans.org/docs/nbi-devguide.html[http://installer.netbeans.org/docs/nbi-devguide.html]
 
 
@@ -441,6 +441,6 @@
 
 Now that you have learned how to create, customize, and bundle additional resources with the NetBeans installer, read the resources below for many additional details and other information that may be relevant to your business needs:
 
-*  xref:wiki::wiki/NBI.adoc[http://wiki.netbeans.org/NBI]
-*  link:http://installer.netbeans.org/docs/nbi-devguide.html[http://installer.netbeans.org/docs/nbi-devguide.html]
-xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
+* xref:wiki::wiki/NBI.adoc[]
+* link:http://installer.netbeans.org/docs/nbi-devguide.html[http://installer.netbeans.org/docs/nbi-devguide.html]
+* xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
diff --git a/modules/ROOT/pages/tutorials/nbm-nodesapi.adoc b/modules/ROOT/pages/tutorials/nbm-nodesapi.adoc
index 86b63e9..0b46e88 100644
--- a/modules/ROOT/pages/tutorials/nbm-nodesapi.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-nodesapi.adoc
@@ -604,6 +604,6 @@
 
 For more information about creating and developing NetBeans Module, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
diff --git a/modules/ROOT/pages/tutorials/nbm-nodesapi2.adoc b/modules/ROOT/pages/tutorials/nbm-nodesapi2.adoc
index bf1965e..7f60da9 100644
--- a/modules/ROOT/pages/tutorials/nbm-nodesapi2.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-nodesapi2.adoc
@@ -42,17 +42,17 @@
 * Create properties for display in the property sheet
 * Provide Actions from Nodes
 
-This tutorial is intended as a follow-on to the  xref:./nbm-selection-1.adoc[NetBeans Selection Management Tutorial], which covers how `Lookup` is used in managing selection in the NetBeans windowing system, and its xref:./nbm-selection-2.adoc[follow-on tutorial] which demonstrates how to use the Nodes API in managing selection.
+This tutorial is intended as a follow-on to the  xref:tutorials/nbm-selection-1.adoc[NetBeans Selection Management Tutorial], which covers how `Lookup` is used in managing selection in the NetBeans windowing system, and its xref:tutorials/nbm-selection-2.adoc[follow-on tutorial] which demonstrates how to use the Nodes API in managing selection.
 
 This tutorial builds on the source code created in the first tutorial and enhanced in the second tutorial. If you have not yet done these tutorials, you should do them first; or at least ensure you are familiar with the content and approach used, and download the completed result of the second tutorial. 
 
 
-For troubleshooting purposes, you are welcome to download the  xref:./nbm-nodesapi2.adoc[completed tutorial source code].
+For troubleshooting purposes, you are welcome to download the  xref:tutorials/nbm-nodesapi2.adoc[completed tutorial source code].
 
 
 == Creating a Node subclass
 
-As mentioned in the  xref:./nbm-selection-2.adoc[previous tutorial], Nodes are _presentation objects_. That means that they are not a data model themselves - rather, they are a presentation layer for an _underlying data model_. In the Projects or Files windows in the NetBeans IDE, you can see ``Node``s used where the underlying data model is files on disk. In the Services window in the IDE, you can see them used where the underlying objects are configurable aspects of NetBeans runtime environment, such as available application servers and databases.
+As mentioned in the  xref:tutorials/nbm-selection-2.adoc[previous tutorial], Nodes are _presentation objects_. That means that they are not a data model themselves - rather, they are a presentation layer for an _underlying data model_. In the Projects or Files windows in the NetBeans IDE, you can see ``Node``s used where the underlying data model is files on disk. In the Services window in the IDE, you can see them used where the underlying objects are configurable aspects of NetBeans runtime environment, such as available application servers and databases.
 
 As a presentation layer, ``Node``s add human-friendly attributes to the objects they model. The essential ones are:
 
@@ -674,5 +674,5 @@
 
 == Next Steps
 
-You've now begun to delve into how to get more out of the property sheet in NetBeans. In the  xref:./nbm-property-editors.adoc[next tutorial], you will cover how to write custom editors and provide a custom inline editor for use in the property sheet.
+You've now begun to delve into how to get more out of the property sheet in NetBeans. In the  xref:tutorials/nbm-property-editors.adoc[next tutorial], you will cover how to write custom editors and provide a custom inline editor for use in the property sheet.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-nodesapi3.adoc b/modules/ROOT/pages/tutorials/nbm-nodesapi3.adoc
index 46d56bb..605f42c 100644
--- a/modules/ROOT/pages/tutorials/nbm-nodesapi3.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-nodesapi3.adoc
@@ -835,6 +835,6 @@
 
 [start=8]
 1. Install the module again. When the TopComponent opens, the new Component Palette is shown. The categories you created in this tutorial are now categories in the Component Palette, while the movies are items within the categories. 
-// not in archive Next, you need to add drag and drop functionality to the items in the palette, as described in the  xref:./nbm-palette-api4.adoc[NetBeans Drag and Drop Tutorial].
+// not in archive Next, you need to add drag and drop functionality to the items in the palette, as described in the  xref:tutorials/nbm-palette-api4.adoc[NetBeans Drag and Drop Tutorial].
 
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
diff --git a/modules/ROOT/pages/tutorials/nbm-options.adoc b/modules/ROOT/pages/tutorials/nbm-options.adoc
index 07c4d53..da42cb2 100644
--- a/modules/ROOT/pages/tutorials/nbm-options.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-options.adoc
@@ -509,5 +509,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-paintapp.adoc b/modules/ROOT/pages/tutorials/nbm-paintapp.adoc
index 4599794..8111d24 100644
--- a/modules/ROOT/pages/tutorials/nbm-paintapp.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-paintapp.adoc
@@ -56,7 +56,7 @@
 
 This initial version is far from a full fledged paint application, but it demonstrates a very simple case of creating an application on top of the NetBeans Platform.
 
-NOTE:  The  xref:./nbm-google.adoc[NetBeans Plugin Quick Start] is a better tutorial for you if, instead of rich-client applications, you want to learn about NetBeans modules.
+NOTE:  The  xref:tutorials/nbm-google.adoc[NetBeans Plugin Quick Start] is a better tutorial for you if, instead of rich-client applications, you want to learn about NetBeans modules.
 
 
 == Setting Up the Paint Application
@@ -452,6 +452,6 @@
 
 That's it! You have completed the Paint Application. You have learned how to set up a NetBeans Platform application and how to create a new window that displays something to the user.
 
-Next, you are recommended to work through the  xref:./nbm-crud.adoc[NetBeans Platform CRUD Application Tutorial], which will teach you how to create a business-oriented NetBeans Platform application that interacts with a database.
+Next, you are recommended to work through the  xref:tutorials/nbm-crud.adoc[NetBeans Platform CRUD Application Tutorial], which will teach you how to create a business-oriented NetBeans Platform application that interacts with a database.
 
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
diff --git a/modules/ROOT/pages/tutorials/nbm-palette-api1.adoc b/modules/ROOT/pages/tutorials/nbm-palette-api1.adoc
index 3fd5700..c79a4d4 100644
--- a/modules/ROOT/pages/tutorials/nbm-palette-api1.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-palette-api1.adoc
@@ -607,5 +607,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-* xref:../kb/docs/platform.adoc[Other Related Tutorials]
+* xref:kb/docs/platform.adoc[Other Related Tutorials]
 * link:https://bits.netbeans.org/dev/javadoc/index.html[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-palette-api2.adoc b/modules/ROOT/pages/tutorials/nbm-palette-api2.adoc
index fd991e1..7e46515 100644
--- a/modules/ROOT/pages/tutorials/nbm-palette-api2.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-palette-api2.adoc
@@ -44,7 +44,7 @@
 
 In this tutorial, you implement several classes provided by the link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/overview-summary.html[NetBeans Palette API]. Then you register the new component palette in the  ``layer.xml``  file, for the  ``text/x-java``  MIME type. The palette that you create in this way will only be visible if a Java source file is open.
 
-If you do not want to create a new component palette, but only want to add a code snippet to an existing component palette, see the xref:./nbm-palette-api1.adoc[NetBeans Code Snippet Module Tutorial].
+If you do not want to create a new component palette, but only want to add a code snippet to an existing component palette, see the xref:tutorials/nbm-palette-api1.adoc[NetBeans Code Snippet Module Tutorial].
 
 
 == Setting up the Module Project
@@ -219,7 +219,7 @@
 import org.netbeans.spi.palette.PaletteItemRegistration;
 ----
 
-For all the details on the information referred to in this subsection, work through the xref:./nbm-palette-api1.adoc[NetBeans Code Snippet Module Tutorial].
+For all the details on the information referred to in this subsection, work through the xref:tutorials/nbm-palette-api1.adoc[NetBeans Code Snippet Module Tutorial].
 
 
 == Building and Installing the Module
@@ -244,5 +244,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-* xref:../kb/docs/platform.adoc[Other Related Tutorials]
+* xref:kb/docs/platform.adoc[Other Related Tutorials]
 * link:https://bits.netbeans.org/dev/javadoc/index.html[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-porting-basic.adoc b/modules/ROOT/pages/tutorials/nbm-porting-basic.adoc
index ee6b4b8..667b9fc 100644
--- a/modules/ROOT/pages/tutorials/nbm-porting-basic.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-porting-basic.adoc
@@ -178,7 +178,7 @@
 
 image::tutorials/porting_73_agp3.png[]
 
-Next, we create a first custom module. We will name it `AnagramCore` because, in the end, it will contain the essential parts of the application. Using subsequent tutorials on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail], we will be able to add more features to the application, none of which will be manadatory parts, since the user will be able to plug them into the application. The core module, however, that is, `AnagramCore`, will be a required module in every distribution of the application.
+Next, we create a first custom module. We will name it `AnagramCore` because, in the end, it will contain the essential parts of the application. Using subsequent tutorials on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail], we will be able to add more features to the application, none of which will be manadatory parts, since the user will be able to plug them into the application. The core module, however, that is, `AnagramCore`, will be a required module in every distribution of the application.
 
 
 [start=3]
@@ -802,7 +802,7 @@
 * *Learn from others.* Aside from joining the dev@platform.netbeans.org mailing list, also read the following two crucial articles:
 *  link:http://netbeans.dzone.com/10-tips-4-porting-2-netbeans[Top 10 Tips for Porting to the NetBeans Platform]
 *  link:http://java.dzone.com/news/how-to-split-into-modules[How to Split an Application into Modules?]
-* *Watch the Top 10 NetBeans APIs Screencast.* The  xref:./nbm-10-top-apis.adoc[screencast series] gives a good overview of the NetBeans Platform, with many useful code snippets and coding patterns.
+* *Watch the Top 10 NetBeans APIs Screencast.* The  xref:tutorials/nbm-10-top-apis.adoc[screencast series] gives a good overview of the NetBeans Platform, with many useful code snippets and coding patterns.
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
 
 
@@ -811,5 +811,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-1.adoc b/modules/ROOT/pages/tutorials/nbm-povray-1.adoc
index 0dde7bb..82ef695 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-1.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-1.adoc
@@ -36,7 +36,7 @@
 
 The POV-Ray tutorial is an advanced NetBeans Platform tutorial showing how to build an application for rendering POV-Ray files. In the process of creating the application, you will build on top of your existing NetBeans Platform knowledge, extending that knowledge into new areas, such as modular intercommunication and API design. You will touch upon many NetBeans APIs and learn how their best features can be combined in the creation of a real application.
 
-NOTE:  For a quick visual impression of the application you'll be creating, see the screenshot in the  xref:./nbm-povray-10.adoc[Conclusion] of this tutorial.
+NOTE:  For a quick visual impression of the application you'll be creating, see the screenshot in the  xref:tutorials/nbm-povray-10.adoc[Conclusion] of this tutorial.
 
 link:http://povray.org[POV-Ray]—the Persistence Of Vision Raytracer—is an open-source 3D rendering engine and one that only a programmer could love. Rather than having a graphical modeling tool, it is based around a _scene_ language which is "compiled" into an image.
 
@@ -44,15 +44,15 @@
 
 
 * Part 1: Application Structure &amp; File Support
-* Part 2:  xref:./nbm-povray-2.adoc[Project Type Design]
-* Part 3:  xref:./nbm-povray-3.adoc[Implementing a Project Type]
-* Part 4:  xref:./nbm-povray-4.adoc[Providing Project Templates]
-* Part 5:  xref:./nbm-povray-5.adoc[Creating an API]
-* Part 6:  xref:./nbm-povray-6.adoc[Implementing the API]
-* Part 7:  xref:./nbm-povray-7.adoc[Support For Running POV-Ray]
-* Part 8:  xref:./nbm-povray-8.adoc[Implementing ViewService and its Actions]
-* Part 9:  xref:./nbm-povray-9.adoc[Build Support]
-* Part 10:  xref:./nbm-povray-10.adoc[Conclusion]
+* Part 2:  xref:tutorials/nbm-povray-2.adoc[Project Type Design]
+* Part 3:  xref:tutorials/nbm-povray-3.adoc[Implementing a Project Type]
+* Part 4:  xref:tutorials/nbm-povray-4.adoc[Providing Project Templates]
+* Part 5:  xref:tutorials/nbm-povray-5.adoc[Creating an API]
+* Part 6:  xref:tutorials/nbm-povray-6.adoc[Implementing the API]
+* Part 7:  xref:tutorials/nbm-povray-7.adoc[Support For Running POV-Ray]
+* Part 8:  xref:tutorials/nbm-povray-8.adoc[Implementing ViewService and its Actions]
+* Part 9:  xref:tutorials/nbm-povray-9.adoc[Build Support]
+* Part 10:  xref:tutorials/nbm-povray-10.adoc[Conclusion]
 
 For troubleshooting purposes, you can download the code sources of this tutorial here:
 
@@ -63,9 +63,9 @@
 NOTE:  If you haven't developed a NetBeans Platform application before, you are advised to work through several other tutorials before working on this one—doing so will familiarize you with the basic concepts presented here. Particularly recommended are:
 
 * * xref:wiki::wiki/NbmIdioms.adoc[Introduction to NetBeans Idioms and Infrastructure]*—covers a lot of the concepts you will encounter here
-* * xref:./nbm-quick-start.adoc[NetBeans Platform Quick Start]*—the essential starting point for anyone interested in working with the NetBeans Platform
-* * xref:./nbm-selection-1.adoc[Selection in NetBeans]*—not directly relevant to writing project types, which is the focus of this tutorial, but will familiarize you with using the Lookup API which pops up in a number of places here
-* * xref:./nbm-filetype.adoc[File Type]*—the tutorial describing how new file types are supported in the NetBeans Platform
+* * xref:tutorials/nbm-quick-start.adoc[NetBeans Platform Quick Start]*—the essential starting point for anyone interested in working with the NetBeans Platform
+* * xref:tutorials/nbm-selection-1.adoc[Selection in NetBeans]*—not directly relevant to writing project types, which is the focus of this tutorial, but will familiarize you with using the Lookup API which pops up in a number of places here
+* * xref:tutorials/nbm-filetype.adoc[File Type]*—the tutorial describing how new file types are supported in the NetBeans Platform
 *  xref:wiki::wiki/index.adoc[NetBeans Developer FAQ]—contains essential definitions and descriptions of API classes and concepts, and how to perform the typical tasks you will need to do when using the NetBeans Platform
 
 
@@ -204,5 +204,5 @@
 
 == Next Steps
 
-The  xref:./nbm-povray-2.adoc[next section] will cover designing and planning our project type and file support and how they will interrelate.
+The  xref:tutorials/nbm-povray-2.adoc[next section] will cover designing and planning our project type and file support and how they will interrelate.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-10.adoc b/modules/ROOT/pages/tutorials/nbm-povray-10.adoc
index 36bb5be..56d02ef 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-10.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-10.adoc
@@ -34,7 +34,7 @@
 :imagesdir: ../../images
 endif::[]
 
-This is a continuation of the tutorial for building POV-Ray support for NetBeans. If you have not read the  xref:./nbm-povray-1.adoc[first],  xref:./nbm-povray-2.adoc[second],  xref:./nbm-povray-3.adoc[third],  xref:./nbm-povray-4.adoc[fourth],  xref:./nbm-povray-5.adoc[fifth],  xref:./nbm-povray-6.adoc[sixth],  xref:./nbm-povray-7.adoc[seventh],  xref:./nbm-povray-8.adoc[eighth], and  xref:./nbm-povray-9.adoc[ninth] parts of this tutorial, you may want to start there.
+This is a continuation of the tutorial for building POV-Ray support for NetBeans. If you have not read the  xref:tutorials/nbm-povray-1.adoc[first],  xref:tutorials/nbm-povray-2.adoc[second],  xref:tutorials/nbm-povray-3.adoc[third],  xref:tutorials/nbm-povray-4.adoc[fourth],  xref:tutorials/nbm-povray-5.adoc[fifth],  xref:tutorials/nbm-povray-6.adoc[sixth],  xref:tutorials/nbm-povray-7.adoc[seventh],  xref:tutorials/nbm-povray-8.adoc[eighth], and  xref:tutorials/nbm-povray-9.adoc[ninth] parts of this tutorial, you may want to start there.
 
 At this stage, you have completed the application, which should look like this:
 
@@ -46,7 +46,7 @@
 
 Additional steps to take to improve and enhance the application:
 
-* Test your application. (See the  xref:./nbm-test.adoc[Test Infrastructure Tutorial].)
+* Test your application. (See the  xref:tutorials/nbm-test.adoc[Test Infrastructure Tutorial].)
 * Hide the menus and toolbar buttons that you don't need in your application.
 * Add a Plugin Manager so that users can install new features at runtime.
 * Localize the application.
@@ -59,15 +59,15 @@
 
 We now have our POV-Ray rendering application working exactly as we want. During the course of this tutorial, many NetBeans Platform topics have been covered. Here they are listed, per part:
 
-* Part 1:  xref:./nbm-povray-1.adoc[Application Structure &amp; File Support]—Here you learn how to set up a NetBeans Platform application, how to create modules, and how the NetBeans Platform distinguishes between different types of files.
-* Part 2:  xref:./nbm-povray-2.adoc[Project Type Design]—Before beginning to code, you spend some time examining the requirements of the application and how you will implement those requirements.
-* Part 3:  xref:./nbm-povray-3.adoc[Implementing a Project Type]—Here you learn how the NetBeans Platform is able to recognize a set of folders and files on disk as being POV-Ray projects. By the end of this section, you're able to open POV-Ray projects into your application.
-* Part 4:  xref:./nbm-povray-4.adoc[Providing Project Templates]—You install your POV-Ray Project module into NetBeans IDE, so that the IDE is able to recognize POV-Ray projects. You then create some POV-Ray projects and create project template wizards, registering them in the module so that they're available to your users via the New Project dialog.
-* Part 5:  xref:./nbm-povray-5.adoc[Creating an API]—Here you create a provider of main files, a rendering service, and a viewing service. You are shown how to encapsulate these interfaces in a separate module, how to load that module on demand, and how to share it with the other two modules in the application. A first usage of one of the APIs is described—the  ``Node``  of a POV-Ray file will be bold-faced if the main file provider indicates that the  ``Node``  represents the main file of the project.
-* Part 6:  xref:./nbm-povray-6.adoc[Implementing the API]—In this section, you learn how implement the APIs created in the previous part, you add  ``Actions``  to the  ``Node``  for setting the main file and for rendering POV-Ray files, and you add some plumbing code for locating the POV-Ray executable.
-* Part 7:  xref:./nbm-povray-7.adoc[Support For Running POV-Ray]—For the first time, you actually begin working directly with the POV-Ray executable. By the end of this section, you're able to actually render POV-Ray files and display the rendered images.
-* Part 8:  xref:./nbm-povray-8.adoc[Implementing ViewService and its Actions]—An  ``Action``  for opening images, and rendering them if they don't already exist, is added. You're also introduced to the topic of icon badging, which you use to distinguish between  ``Nodes``  representing files that have been rendered and those that represent files that haven't been rendered.
-* Part 9:  xref:./nbm-povray-9.adoc[Build Support]—You now move away from working with the  ``Node``  representing POV-Ray files. Instead, you work on the project node and add new project actions, for rendering the main file of the POV-Ray project, for setting the main file if it has not been set, and for closing the project.
+* Part 1:  xref:tutorials/nbm-povray-1.adoc[Application Structure &amp; File Support]—Here you learn how to set up a NetBeans Platform application, how to create modules, and how the NetBeans Platform distinguishes between different types of files.
+* Part 2:  xref:tutorials/nbm-povray-2.adoc[Project Type Design]—Before beginning to code, you spend some time examining the requirements of the application and how you will implement those requirements.
+* Part 3:  xref:tutorials/nbm-povray-3.adoc[Implementing a Project Type]—Here you learn how the NetBeans Platform is able to recognize a set of folders and files on disk as being POV-Ray projects. By the end of this section, you're able to open POV-Ray projects into your application.
+* Part 4:  xref:tutorials/nbm-povray-4.adoc[Providing Project Templates]—You install your POV-Ray Project module into NetBeans IDE, so that the IDE is able to recognize POV-Ray projects. You then create some POV-Ray projects and create project template wizards, registering them in the module so that they're available to your users via the New Project dialog.
+* Part 5:  xref:tutorials/nbm-povray-5.adoc[Creating an API]—Here you create a provider of main files, a rendering service, and a viewing service. You are shown how to encapsulate these interfaces in a separate module, how to load that module on demand, and how to share it with the other two modules in the application. A first usage of one of the APIs is described—the  ``Node``  of a POV-Ray file will be bold-faced if the main file provider indicates that the  ``Node``  represents the main file of the project.
+* Part 6:  xref:tutorials/nbm-povray-6.adoc[Implementing the API]—In this section, you learn how implement the APIs created in the previous part, you add  ``Actions``  to the  ``Node``  for setting the main file and for rendering POV-Ray files, and you add some plumbing code for locating the POV-Ray executable.
+* Part 7:  xref:tutorials/nbm-povray-7.adoc[Support For Running POV-Ray]—For the first time, you actually begin working directly with the POV-Ray executable. By the end of this section, you're able to actually render POV-Ray files and display the rendered images.
+* Part 8:  xref:tutorials/nbm-povray-8.adoc[Implementing ViewService and its Actions]—An  ``Action``  for opening images, and rendering them if they don't already exist, is added. You're also introduced to the topic of icon badging, which you use to distinguish between  ``Nodes``  representing files that have been rendered and those that represent files that haven't been rendered.
+* Part 9:  xref:tutorials/nbm-povray-9.adoc[Build Support]—You now move away from working with the  ``Node``  representing POV-Ray files. Instead, you work on the project node and add new project actions, for rendering the main file of the POV-Ray project, for setting the main file if it has not been set, and for closing the project.
 
 
 == Next Steps
@@ -80,7 +80,7 @@
 * Stay in tune with the latest NetBeans API changes, by looking through this page now and again:  link:https://bits.netbeans.org/dev/javadoc/apichanges.html[http://bits.netbeans.org/dev/javadoc/apichanges.html]
 * As you learn more about the NetBeans Platform, blog about your experiences. You can publish or republish your blog entries, articles, tips, or any other thoughts here on NetBeans Zone:  link:http://netbeans.dzone.com/[http://netbeans.dzone.com/]
 * When you have an application ready, ask for it to be added to the  link:https://netbeans.apache.org/platform/screenshots.html[NetBeans Platform Showcase], which is a great page to look through when beginning your project, since more than likely a similar project that you can learn from, possibly in the open source community, already exists.
-* Read and work through the  xref:./nbm-porting-basic.adoc[NetBeans Platform Porting Tutorial] and apply its principles to your own existing applications.
+* Read and work through the  xref:tutorials/nbm-porting-basic.adoc[NetBeans Platform Porting Tutorial] and apply its principles to your own existing applications.
 
 
 == Appendix: Setting Up POV-Ray
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-2.adoc b/modules/ROOT/pages/tutorials/nbm-povray-2.adoc
index bdf02b5..a81c7fc 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-2.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-2.adoc
@@ -32,7 +32,7 @@
 
 In this part of the tutorial, we will walk through how to create a basic project type. It will be a project type that supports building 3D graphics scenes using  link:http://povray.org[POV-Ray]'s scene language, and eventually, rendering them as images and displaying the result in NetBeans.
 
-It is assumed you have completed the steps in the  xref:./nbm-povray-1.adoc[previous tutorial] for creating basic POV-Ray support.
+It is assumed you have completed the steps in the  xref:tutorials/nbm-povray-1.adoc[previous tutorial] for creating basic POV-Ray support.
 
 This tutorial will go through the up-front design and thinking through needed to successfully implement a project type that will serve its users well. The subsequent tutorial walks through the implementation of the basic project.
 
@@ -45,7 +45,7 @@
 
 Most Project types in NetBeans use link:https://ant.apache.org[Apache Ant] as their build infrastructure, and there are APIs for building Ant-based projects. This example does _not_ use Ant, but implements a simple basic project type. Even if you know you will use Ant, you will encounter all of the concepts presented here in implementing an Ant-based project.
 
-Notice that we implemented support for `.pov` and `.inc` files in a  xref:./nbm-povray-1.adoc[separate module]. Design-wise this makes sense—data recognition and project types are orthagonal—and it provides a good demonstration of how to do loose coupling between modules.
+Notice that we implemented support for `.pov` and `.inc` files in a  xref:tutorials/nbm-povray-1.adoc[separate module]. Design-wise this makes sense—data recognition and project types are orthagonal—and it provides a good demonstration of how to do loose coupling between modules.
 
 So at this point we need to think about what we're designing, what functionality belongs to which module, and what will serve our users' needs best. Before we do any coding, some design has to happen. Here's what we know about POV-Ray and its usage patterns:
 
@@ -116,5 +116,5 @@
 
 Design is an inescapable first-step in developing modules. It pays to think hard about what functionality belongs where, and what the user experience should be before starting to code.
 
-* xref:./nbm-povray-3.adoc[Next: Implementing POV-Ray Project Support]*
+* xref:tutorials/nbm-povray-3.adoc[Next: Implementing POV-Ray Project Support]*
 
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-3.adoc b/modules/ROOT/pages/tutorials/nbm-povray-3.adoc
index ba94ddf..5bee779 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-3.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-3.adoc
@@ -34,7 +34,7 @@
 :imagesdir: ../../images
 endif::[]
 
-This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:./nbm-povray-1.adoc[first] and  xref:./nbm-povray-2.adoc[second] parts of this tutorial, you may want to start there.
+This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:tutorials/nbm-povray-1.adoc[first] and  xref:tutorials/nbm-povray-2.adoc[second] parts of this tutorial, you may want to start there.
 
 
 == Setting Up Dependencies
@@ -569,7 +569,7 @@
 
 NOTE:  Part of the value of having a concept of a project is the ability to present data in a way that is closer to the way a user will _think_ about their project than the structure of files on disk may be. The logical view of a project should present a simplified structure showing users what they need to get their work done.
 
-NOTE:  In our case, we  xref:./nbm-povray-2.adoc#phys[already decided] that the user did not need to see the `images/` subdirectory, they should just be able to click a scene file and choose _View_, and that we want to put scene files in a `scenes/` subdirectory. So the logical thing to do for our logical view is to have it show the contents of that `scenes/` directory. We can return whatever `Node` we want as the root of our logical view of the project, and NetBeans makes using the content of the `scenes/` subdirectory very easy.
+NOTE:  In our case, we  xref:tutorials/nbm-povray-2.adoc#phys[already decided] that the user did not need to see the `images/` subdirectory, they should just be able to click a scene file and choose _View_, and that we want to put scene files in a `scenes/` subdirectory. So the logical thing to do for our logical view is to have it show the contents of that `scenes/` directory. We can return whatever `Node` we want as the root of our logical view of the project, and NetBeans makes using the content of the `scenes/` subdirectory very easy.
 
 In the Nodes API is a class called `FilterNode`. What it does is wrap an existing `Node`, and by default, simply expose the same child nodes, display name, icon, actions, etc. as the original. We can subclass `FilterNode` to change its icon and the set of actions available on it. The `DataLoader` infrastructure already provides a loader that recognizes Filesystem folders—an API class called `DataFolder`. So we get the original node for the folder for free—we just need to provide a subclass that uses our icon and (eventually) actions.
 
@@ -751,5 +751,5 @@
 
 == Next Steps
 
-The  xref:./nbm-povray-4.adoc[next tutorial] will begin to add truly useful functionality to our projects.
+The  xref:tutorials/nbm-povray-4.adoc[next tutorial] will begin to add truly useful functionality to our projects.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-4.adoc b/modules/ROOT/pages/tutorials/nbm-povray-4.adoc
index 80515ce..6de9c70 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-4.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-4.adoc
@@ -34,7 +34,7 @@
 :imagesdir: ../../images
 endif::[]
 
-This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:./nbm-povray-1.adoc[first],  xref:./nbm-povray-2.adoc[second], and  xref:./nbm-povray-3.adoc[third] parts of this tutorial, you may want to start there.
+This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:tutorials/nbm-povray-1.adoc[first],  xref:tutorials/nbm-povray-2.adoc[second], and  xref:tutorials/nbm-povray-3.adoc[third] parts of this tutorial, you may want to start there.
 
 
 == Project Templates
@@ -218,5 +218,5 @@
 
 == Next Steps
 
-In the  xref:./nbm-povray-5.adoc[next section] we will create the API needed for communication between our two current modules.
+In the  xref:tutorials/nbm-povray-5.adoc[next section] we will create the API needed for communication between our two current modules.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-5.adoc b/modules/ROOT/pages/tutorials/nbm-povray-5.adoc
index f7d32c7..6403f3e 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-5.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-5.adoc
@@ -34,12 +34,12 @@
 :imagesdir: ../../images
 endif::[]
 
-This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:./nbm-povray-1.adoc[first],  xref:./nbm-povray-2.adoc[second],  xref:./nbm-povray-3.adoc[third], and  xref:./nbm-povray-4.adoc[fourth] parts of this tutorial, you may want to start there.
+This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:tutorials/nbm-povray-1.adoc[first],  xref:tutorials/nbm-povray-2.adoc[second],  xref:tutorials/nbm-povray-3.adoc[third], and  xref:tutorials/nbm-povray-4.adoc[fourth] parts of this tutorial, you may want to start there.
 
 
 == Creating the API
 
-As discussed when we  xref:./nbm-povray-2.adoc[designed POV-Ray support], we will need an API—there will be some intercommunication between POV-Ray files and the project. In particular, we will need some interfaces:
+As discussed when we  xref:tutorials/nbm-povray-2.adoc[designed POV-Ray support], we will need an API—there will be some intercommunication between POV-Ray files and the project. In particular, we will need some interfaces:
 
 * `MainFileProvider`—find the main file of a project—the one to render when the whole file is built, and allow a POV-Ray scene file node to find out if it _is_ the main file (so it can bold-face its display name).
 * `RendererService`—an API a POV-Ray file node can call to ask that it be rendered as an image
@@ -326,5 +326,5 @@
 
 == Next Steps
 
-In the  xref:./nbm-povray-6.adoc[next section] we will implement the API we have created. But, from the above code, you can see how the API will be used by our  ``Node``  class, to determine whether a  ``Node``  should be boldfaced. Here we don't need to know nor care how the API is implemented. We simply ask for the availability of the  ``MainFileProvider``  and, depending on its availability, we change the display name of the  ``Node`` .
+In the  xref:tutorials/nbm-povray-6.adoc[next section] we will implement the API we have created. But, from the above code, you can see how the API will be used by our  ``Node``  class, to determine whether a  ``Node``  should be boldfaced. Here we don't need to know nor care how the API is implemented. We simply ask for the availability of the  ``MainFileProvider``  and, depending on its availability, we change the display name of the  ``Node`` .
 
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-6.adoc b/modules/ROOT/pages/tutorials/nbm-povray-6.adoc
index a4cc3f9..6877328 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-6.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-6.adoc
@@ -35,7 +35,7 @@
 endif::[]
 
 
-This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:./nbm-povray-1.adoc[first],  xref:./nbm-povray-2.adoc[second],  xref:./nbm-povray-3.adoc[third],  xref:./nbm-povray-4.adoc[fourth], and  xref:./nbm-povray-5.adoc[fifth] parts of this tutorial, you may want to start there.
+This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:tutorials/nbm-povray-1.adoc[first],  xref:tutorials/nbm-povray-2.adoc[second],  xref:tutorials/nbm-povray-3.adoc[third],  xref:tutorials/nbm-povray-4.adoc[fourth], and  xref:tutorials/nbm-povray-5.adoc[fifth] parts of this tutorial, you may want to start there.
 
 
 == Implementing MainFileProvider
@@ -152,7 +152,7 @@
 
 The next class to implement is `RendererService`—this is the service, belonging to the project, by which a project will be "compiled" into an image (by executing the POV-Ray program and passing it arguments).
 
-As we discussed  xref:./nbm-povray-2.adoc[earlier], we are not going to try to implement a complicated dialog that makes every possible POV-Ray setting adjustable via a GUI widget—this would add a lot of complexity when many users would be satisfied with a reasonable set of defaults. So we will have a set of different default combinations of settings that should satisfy most users. Later we will add the ability to create completely customized settings by editing the `project.properties` of a POV-Ray project, to satisfy the needs of power users.
+As we discussed  xref:tutorials/nbm-povray-2.adoc[earlier], we are not going to try to implement a complicated dialog that makes every possible POV-Ray setting adjustable via a GUI widget—this would add a lot of complexity when many users would be satisfied with a reasonable set of defaults. So we will have a set of different default combinations of settings that should satisfy most users. Later we will add the ability to create completely customized settings by editing the `project.properties` of a POV-Ray project, to satisfy the needs of power users.
 
 Right now, we will not worry about the execution part—`RendererService` also provides for named sets of settings—combinations of line switches which should be passed to POV-Ray to determine rendering quality, image size and speed. Right now we will only implement that part of `RendererService`.
 
@@ -628,7 +628,7 @@
 
 == Providing Render Actions on POV-Ray Files
 
-Now we have an implementation of some of our API, the next step is to use it. As  xref:./nbm-povray-2.adoc[discussed earlier], we want a user to be able to right-click and choose to render any file, not just the main file of the project. So there should be some menu items available from our `PovrayDataNode`s which will allow the user to render the file with one of our sets of settings.
+Now we have an implementation of some of our API, the next step is to use it. As  xref:tutorials/nbm-povray-2.adoc[discussed earlier], we want a user to be able to right-click and choose to render any file, not just the main file of the project. So there should be some menu items available from our `PovrayDataNode`s which will allow the user to render the file with one of our sets of settings.
 
 
 [start=1]
@@ -992,5 +992,5 @@
 
 == Next Steps
 
-The  xref:./nbm-povray-7.adoc[next section] will cover actually executing POV-Ray and piping its output to the Output window of our application.
+The  xref:tutorials/nbm-povray-7.adoc[next section] will cover actually executing POV-Ray and piping its output to the Output window of our application.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-7.adoc b/modules/ROOT/pages/tutorials/nbm-povray-7.adoc
index c74fcb9..392000f 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-7.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-7.adoc
@@ -34,7 +34,7 @@
 :imagesdir: ../../images
 endif::[]
 
-This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:./nbm-povray-1.adoc[first],  xref:./nbm-povray-2.adoc[second],  xref:./nbm-povray-3.adoc[third],  xref:./nbm-povray-4.adoc[fourth],  xref:./nbm-povray-5.adoc[fifth], and  xref:./nbm-povray-6.adoc[sixth] parts of this tutorial, you may want to start there.
+This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:tutorials/nbm-povray-1.adoc[first],  xref:tutorials/nbm-povray-2.adoc[second],  xref:tutorials/nbm-povray-3.adoc[third],  xref:tutorials/nbm-povray-4.adoc[fourth],  xref:tutorials/nbm-povray-5.adoc[fifth], and  xref:tutorials/nbm-povray-6.adoc[sixth] parts of this tutorial, you may want to start there.
 
 
 == Obtaining POV-Ray
@@ -45,7 +45,7 @@
 * Macintosh users may find  link:http://darwinports.opendarwin.org/[DarwinPorts] the easiest way—simply install DarwinPorts and then run `sudo port install povray`.
 * Linux and other Unix users should be fine with the downloads available from  link:http://povray.org[povray.org], using  link:http://povray.org/download/linux.php[these instructions]. Everything should work out of the box for these users, without any tweaks or post-install configurations. Make sure, however, that the POV-Ray launcher has the correct permissions, otherwise it will not execute. Run it from the command line to check that it executes.
 
-NOTE:  For details on setting up POV-Ray, especially for detailed instructions for Windows,  xref:./nbm-povray-10.adoc#appendix[see the Appendix].
+NOTE:  For details on setting up POV-Ray, especially for detailed instructions for Windows,  xref:tutorials/nbm-povray-10.adoc#appendix[see the Appendix].
 
 
 == Executing POV-Ray and Displaying the Output
@@ -502,5 +502,5 @@
 
 == Next Steps
 
-The  xref:./nbm-povray-8.adoc[next section] will cover implementing `ViewService` and adding actions for that.
+The  xref:tutorials/nbm-povray-8.adoc[next section] will cover implementing `ViewService` and adding actions for that.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-8.adoc b/modules/ROOT/pages/tutorials/nbm-povray-8.adoc
index d1929ac..30b2fc3 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-8.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-8.adoc
@@ -34,7 +34,7 @@
 :imagesdir: ../../images
 endif::[]
 
-This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:./nbm-povray-1.adoc[first],  xref:./nbm-povray-2.adoc[second],  xref:./nbm-povray-3.adoc[third],  xref:./nbm-povray-4.adoc[fourth],  xref:./nbm-povray-5.adoc[fifth],  xref:./nbm-povray-6.adoc[sixth], and  xref:./nbm-povray-7.adoc[seventh] parts of this tutorial, you may want to start there.
+This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:tutorials/nbm-povray-1.adoc[first],  xref:tutorials/nbm-povray-2.adoc[second],  xref:tutorials/nbm-povray-3.adoc[third],  xref:tutorials/nbm-povray-4.adoc[fourth],  xref:tutorials/nbm-povray-5.adoc[fifth],  xref:tutorials/nbm-povray-6.adoc[sixth], and  xref:tutorials/nbm-povray-7.adoc[seventh] parts of this tutorial, you may want to start there.
 
 
 == ViewService—the Final API Piece
@@ -665,5 +665,5 @@
 
 == Next Steps
 
-We're almost done. The  xref:./nbm-povray-9.adoc[next step] will be adding project build support and putting some finishing touches on our UI and code.
+We're almost done. The  xref:tutorials/nbm-povray-9.adoc[next step] will be adding project build support and putting some finishing touches on our UI and code.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-povray-9.adoc b/modules/ROOT/pages/tutorials/nbm-povray-9.adoc
index 2b9d107..295bdd4 100644
--- a/modules/ROOT/pages/tutorials/nbm-povray-9.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-povray-9.adoc
@@ -34,7 +34,7 @@
 :imagesdir: ../../images
 endif::[]
 
-This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:./nbm-povray-1.adoc[first],  xref:./nbm-povray-2.adoc[second],  xref:./nbm-povray-3.adoc[third],  xref:./nbm-povray-4.adoc[fourth],  xref:./nbm-povray-5.adoc[fifth]  xref:./nbm-povray-6.adoc[sixth],  xref:./nbm-povray-7.adoc[seventh], and  xref:./nbm-povray-8.adoc[eighth] parts of this tutorial, you may want to start there.
+This is a continuation of the tutorial for building a POV-Ray rendering application on the NetBeans Platform. If you have not read the  xref:tutorials/nbm-povray-1.adoc[first],  xref:tutorials/nbm-povray-2.adoc[second],  xref:tutorials/nbm-povray-3.adoc[third],  xref:tutorials/nbm-povray-4.adoc[fourth],  xref:tutorials/nbm-povray-5.adoc[fifth]  xref:tutorials/nbm-povray-6.adoc[sixth],  xref:tutorials/nbm-povray-7.adoc[seventh], and  xref:tutorials/nbm-povray-8.adoc[eighth] parts of this tutorial, you may want to start there.
 
 
 == Project Action Support
@@ -533,5 +533,5 @@
 
 == Next Steps
 
-Congratulations! You have completed the POV-Ray tutorial. The  xref:./nbm-povray-10.adoc[next step] is to review the concepts you've learned and then continue your journey on the NetBeans Platform.
+Congratulations! You have completed the POV-Ray tutorial. The  xref:tutorials/nbm-povray-10.adoc[next step] is to review the concepts you've learned and then continue your journey on the NetBeans Platform.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-projectextension.adoc b/modules/ROOT/pages/tutorials/nbm-projectextension.adoc
index 6567d94..84fdd89 100644
--- a/modules/ROOT/pages/tutorials/nbm-projectextension.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-projectextension.adoc
@@ -46,7 +46,7 @@
 
 image::tutorials/cc_72_result-2.png[]
 
-Prior to NetBeans IDE 6.0, no NetBeans IDE APIs existed for extending existing project types. Instead, you would need to create new project types from scratch. From 6.0 onwards, you are recommended to extend existing project types rather than create new ones, where possible. This will keep the number of project types to a minimum and avoid a large number of project types with very small differences. However, it is, of course, always possible to create project types from scratch, as before, following the  xref:./nbm-projecttype.adoc[NetBeans Project Type Module Tutorial].
+Prior to NetBeans IDE 6.0, no NetBeans IDE APIs existed for extending existing project types. Instead, you would need to create new project types from scratch. From 6.0 onwards, you are recommended to extend existing project types rather than create new ones, where possible. This will keep the number of project types to a minimum and avoid a large number of project types with very small differences. However, it is, of course, always possible to create project types from scratch, as before, following the  xref:tutorials/nbm-projecttype.adoc[NetBeans Project Type Module Tutorial].
 
 Annotations are used throughout this tutorial to register the lookup extension, logical view extension, and project customizer extension. As you will see below, the extensions will be registered for the project type "org-netbeans-modules-web-project", which is the web application project type. Here is a list of strings representing other project types supported by NetBeans IDE:
 
@@ -483,5 +483,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-projectsamples.adoc b/modules/ROOT/pages/tutorials/nbm-projectsamples.adoc
index 244daa8..e5c9e41 100644
--- a/modules/ROOT/pages/tutorials/nbm-projectsamples.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-projectsamples.adoc
@@ -305,5 +305,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-projecttype.adoc b/modules/ROOT/pages/tutorials/nbm-projecttype.adoc
index 9484fdf..5df8e1b 100644
--- a/modules/ROOT/pages/tutorials/nbm-projecttype.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-projecttype.adoc
@@ -39,9 +39,9 @@
 
 NOTE: Before going further, make sure this is the tutorial you actually need!
 
-* Rather than creating a new project type, you might want to extend an _existing_ project type instead, as described in the  xref:./nbm-projectextension.adoc[NetBeans Project Type Extension Module Tutorial].
+* Rather than creating a new project type, you might want to extend an _existing_ project type instead, as described in the  xref:tutorials/nbm-projectextension.adoc[NetBeans Project Type Extension Module Tutorial].
 * For Maven-based NetBeans Platform applications, see  link:http://web.archive.org/web/20130603022225/http://netbeans.dzone.com/how-create-maven-nb-project-type[How to Create a Custom Project Type in a Mavenized NetBeans Platform Application].
-* If the projects for which you're creating a project type (whether on Ant or Maven based NetBeans Platform applications) need to use Ant as their build tool, you should use the  xref:./nbm-projecttypeant.adoc[NetBeans Ant-Based Project Type Module Tutorial] instead.
+* If the projects for which you're creating a project type (whether on Ant or Maven based NetBeans Platform applications) need to use Ant as their build tool, you should use the  xref:tutorials/nbm-projecttypeant.adoc[NetBeans Ant-Based Project Type Module Tutorial] instead.
 
 
 You will also make use of these icons, which you can right-click here and download: image:tutorials/projecttypes_72pics_icon.png[] and image:tutorials/projecttypes_72pics_sub-icon.png[]
@@ -1087,7 +1087,7 @@
 
 image::tutorials/projecttypes_72pics_proj-temp-4.png[]
 
-You have now used the New Project Template wizard to register some project samples in your application. Also notice that you have some ZIP files containing your sample projects, created by the Project Template wizard, together with several classes from the NetBeans Wizard API. For further information, refer to the  xref:./nbm-projectsamples.adoc[NetBeans Project Sample Module Tutorial].
+You have now used the New Project Template wizard to register some project samples in your application. Also notice that you have some ZIP files containing your sample projects, created by the Project Template wizard, together with several classes from the NetBeans Wizard API. For further information, refer to the  xref:tutorials/nbm-projectsamples.adoc[NetBeans Project Sample Module Tutorial].
 
 
 [start=7]
@@ -1110,5 +1110,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/index.html[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-projecttypeant.adoc b/modules/ROOT/pages/tutorials/nbm-projecttypeant.adoc
index a4284ca..8607075 100644
--- a/modules/ROOT/pages/tutorials/nbm-projecttypeant.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-projecttypeant.adoc
@@ -36,7 +36,7 @@
 
 This tutorial demonstrates how to create a new project type for projects that need to use Ant as their build tool.
 
-This tutorial assumes you want to create a project type for projects that need to use Ant as their build tool. If this is not the case, you should use the  xref:./nbm-projecttype.adoc[NetBeans Project Type Module Tutorial] instead.
+This tutorial assumes you want to create a project type for projects that need to use Ant as their build tool. If this is not the case, you should use the  xref:tutorials/nbm-projecttype.adoc[NetBeans Project Type Module Tutorial] instead.
 
 
 
@@ -728,6 +728,6 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 
 *  link:https://bits.netbeans.org/dev/javadoc/index.html[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-property-editors.adoc b/modules/ROOT/pages/tutorials/nbm-property-editors.adoc
index 2075070..826b50e 100644
--- a/modules/ROOT/pages/tutorials/nbm-property-editors.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-property-editors.adoc
@@ -56,9 +56,9 @@
 
 This tutorial is intended as a follow-on to these preceding tutorials, and its code is based on the code from them:
 
-*  xref:./nbm-selection-1.adoc[Selection Management Tutorial I - Using a TopComponent's Lookup]
-*  xref:./nbm-selection-2.adoc[NetBeans Selection Management Tutorial II - Using Nodes]
-*  xref:./nbm-nodesapi2.adoc[Using the Nodes API]
+*  xref:tutorials/nbm-selection-1.adoc[Selection Management Tutorial I - Using a TopComponent's Lookup]
+*  xref:tutorials/nbm-selection-2.adoc[NetBeans Selection Management Tutorial II - Using Nodes]
+*  xref:tutorials/nbm-nodesapi2.adoc[Using the Nodes API]
 
 If you have not yet done these tutorials, you should do them first; or at least ensure you are familiar with the content and approach used, and download the completed result of the third tutorial. 
 
diff --git a/modules/ROOT/pages/tutorials/nbm-propertyeditors-integration.adoc b/modules/ROOT/pages/tutorials/nbm-propertyeditors-integration.adoc
index bd7b013..6757f6f 100644
--- a/modules/ROOT/pages/tutorials/nbm-propertyeditors-integration.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-propertyeditors-integration.adoc
@@ -298,7 +298,7 @@
 1. Open the build script by expanding the module project in the *Projects* tab in the IDE, and the *Important Files* node under it, and double clicking the *Build Script* node. This corresponds to the file `build.xml` in the `BeanLibraryModule` directory which is the root of our module project.
 
 [start=2]
-1. Add the code found in  xref:./nbm-propertyeditors-integration.adoc#listing3[Listing 3] to the build script, below the line `<import file="nbproject/build-impl.xml"/>`.
+1. Add the code found in  xref:tutorials/nbm-propertyeditors-integration.adoc#listing3[Listing 3] to the build script, below the line `<import file="nbproject/build-impl.xml"/>`.
 
 [[listing3]]
 ===Listing 3: Module Build Script Changes
@@ -815,7 +815,7 @@
 1. Change the class signature of `ColorValueCustomEditor` to look like <<listing15,listing 15, implementing `ChangeListener` and `DocumentListener`>>.
 
 [start=8]
-1. Add the code in  xref:./nbm-propertyeditors-integration.adoc#listing16[listing 16] to `ColorValueCustomEditor` to implement the listener interfaces and handle events.
+1. Add the code in  xref:tutorials/nbm-propertyeditors-integration.adoc#listing16[listing 16] to `ColorValueCustomEditor` to implement the listener interfaces and handle events.
 
 
 === Listing 14: ColorValueCustomEditor Constructor
@@ -955,7 +955,7 @@
 * Get the `Node.Property` object which created the property editor and represents the property being useful, using `env.getFeatureDescriptor()`. This is useful for passing hints to the property sheet about how an editor should behave when in the property sheet. Two useful hints are
 * Call `env.getFeatureDescriptor().setValue("canEditAsText", Boolean.FALSE)` to make the property non-editable inside the property sheet (so the only way to change the property is to open the custom editor).
 * Call `env.getFeatureDescriptor().setValue("suppressCustomEditor", Boolean.TRUE)` from a `PropertyEditor` subclass, to hide the [...] custom editor button on a property that would otherwise have one.
-* Register an `InplaceEditor.Factory` which can provide the UI component that is shown in the property sheet when the user edits the property without opening a custom editor (a tutorial on how to do that can  xref:./nbm-property-editors.adoc[be found here])
+* Register an `InplaceEditor.Factory` which can provide the UI component that is shown in the property sheet when the user edits the property without opening a custom editor (a tutorial on how to do that can  xref:tutorials/nbm-property-editors.adoc[be found here])
 * Get the Node for the file being edited like this:
 
 [source,java]
diff --git a/modules/ROOT/pages/tutorials/nbm-quick-search.adoc b/modules/ROOT/pages/tutorials/nbm-quick-search.adoc
index f9c98b5..73b2f7b 100644
--- a/modules/ROOT/pages/tutorials/nbm-quick-search.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-quick-search.adoc
@@ -427,4 +427,4 @@
 
 *  link:https://netbeans.apache.org/platform/index.html[NetBeans Platform Homepage]
 *  link:https://bits.netbeans.org/dev/javadoc/index.html[NetBeans API List (Current Development Version)]
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
diff --git a/modules/ROOT/pages/tutorials/nbm-quick-start-visual.adoc b/modules/ROOT/pages/tutorials/nbm-quick-start-visual.adoc
index 6d270e8..cd43bde 100644
--- a/modules/ROOT/pages/tutorials/nbm-quick-start-visual.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-quick-start-visual.adoc
@@ -436,7 +436,7 @@
 
 image::tutorials/vislib_vislib-java-6.png[]
 
-Now that you have a basic idea of the features that the Visual Library API provides, see the section called "NetBeans APIs for Visualizing Data" on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+Now that you have a basic idea of the features that the Visual Library API provides, see the section called "NetBeans APIs for Visualizing Data" on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
 xref:front::community/mailing-lists.adoc[Send Us Your Feedback]
 
@@ -445,5 +445,5 @@
 
 For more information about using NetBeans APIs, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]
diff --git a/modules/ROOT/pages/tutorials/nbm-quick-start.adoc b/modules/ROOT/pages/tutorials/nbm-quick-start.adoc
index aba175b..7eed2aa 100644
--- a/modules/ROOT/pages/tutorials/nbm-quick-start.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-quick-start.adoc
@@ -39,7 +39,7 @@
 
 The NetBeans Platform is a generic application framework primarily for Java desktop applications. The main benefit of the NetBeans Platform is its predefined modular architecture. Secondary benefits are the NetBeans Platform's reusable solutions such as its docking framework and its out-of-the-box pluggable components, in combination with the tools provided by its SDK, NetBeans IDE, in particular its award winning "Matisse" GUI Builder for designing GUI components.
 
-In this quick start, you are introduced to the benefits and usages of modularity on the Java desktop via a very simple example, contributed by Thomas Würthinger, a PhD student at the Johannes Kepler University in Linz, Austria. Once you have grasped the concepts introduced in this quick start, you will be ready to step onto the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail], providing a very rich variety of tutorials for many different scenarios relating to the NetBeans Platform.
+In this quick start, you are introduced to the benefits and usages of modularity on the Java desktop via a very simple example, contributed by Thomas Würthinger, a PhD student at the Johannes Kepler University in Linz, Austria. Once you have grasped the concepts introduced in this quick start, you will be ready to step onto the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail], providing a very rich variety of tutorials for many different scenarios relating to the NetBeans Platform.
 
 If you are new to the NetBeans Platform, it is highly recommended to get hold of  link:https://leanpub.com/nbp4beginners[NetBeans Platform for Beginners] (published in 2014).
 
@@ -664,7 +664,7 @@
 
 2. Secondly, the  `Lookup`  class has been introduced as a mechanism for communicating between modules. Implementations are loaded via their interfaces. Without using any code from an implementation, the "WordEditorCore" module is able to display the service provided by the implementor. This enables loose coupling in the Apache NetBeans Platform applications.
 
-To continue learning about modularity and the NetBeans Platform, head on to the four-part "NetBeans Platform Selection Management" series,  xref:./nbm-selection-1.adoc[which starts here]. After that, get started with the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail], choosing the tutorials that are most relevant to your particular business scenario. Also, whenever you have questions about the NetBeans Platform, of any kind, feel free to write to the mailing list, dev@platform.netbeans.org; also check its related archive  link:https://mail-archives.apache.org/mod_mbox/netbeans-dev/[is here].
+To continue learning about modularity and the NetBeans Platform, head on to the four-part "NetBeans Platform Selection Management" series,  xref:tutorials/nbm-selection-1.adoc[which starts here]. After that, get started with the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail], choosing the tutorials that are most relevant to your particular business scenario. Also, whenever you have questions about the NetBeans Platform, of any kind, feel free to write to the mailing list, dev@platform.netbeans.org; also check its related archive  link:https://mail-archives.apache.org/mod_mbox/netbeans-dev/[is here].
 
 Have fun with the NetBeans Platform and see you on the mailing list!
 
diff --git a/modules/ROOT/pages/tutorials/nbm-runtime-container.adoc b/modules/ROOT/pages/tutorials/nbm-runtime-container.adoc
index 82d3ba1..86aa875 100644
--- a/modules/ROOT/pages/tutorials/nbm-runtime-container.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-runtime-container.adoc
@@ -36,7 +36,7 @@
 
 This tutorial covers the most fundamental concept in the NetBeans Platform: the runtime container. The runtime container is the execution environment for the modules that make up a NetBeans Platform application. It consists of modules provided by the NetBeans Platform. In this tutorial, we will look at these modules, and use them in a very simple modular application.
 
-Before going further, you can watch this video series, which covers the same material as the rest of this tutorial:  xref:./nbm-10-top-apis.adoc[Top 10 NetBeans APIs]
+Before going further, you can watch this video series, which covers the same material as the rest of this tutorial:  xref:tutorials/nbm-10-top-apis.adoc[Top 10 NetBeans APIs]
 
 For troubleshooting purposes, you are welcome to download the link:https://github.com/bradh/NetBeansRuntimeTutorial[completed tutorial source code].
 
@@ -243,6 +243,6 @@
 To continue your journey on the NetBeans Platform, see:
 
 *  xref:kb/docs/platform.adoc[NNetBeans Platform Learning Trail]
-*  xref:./nbm-quick-start.adoc[NetBeans Platform Quick Start]
-*  xref:./nbm-selection-1.adoc[NetBeans Selection Management Tutorial I—Using a TopComponent's Lookup]
-*  xref:./nbm-10-top-apis.adoc[Top 10 NetBeans APIs]
+*  xref:tutorials/nbm-quick-start.adoc[NetBeans Platform Quick Start]
+*  xref:tutorials/nbm-selection-1.adoc[NetBeans Selection Management Tutorial I—Using a TopComponent's Lookup]
+*  xref:tutorials/nbm-10-top-apis.adoc[Top 10 NetBeans APIs]
diff --git a/modules/ROOT/pages/tutorials/nbm-selection-1.adoc b/modules/ROOT/pages/tutorials/nbm-selection-1.adoc
index b330046..8cc69be 100644
--- a/modules/ROOT/pages/tutorials/nbm-selection-1.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-selection-1.adoc
@@ -644,5 +644,5 @@
 
 == Next Steps
 
-By now you may have noticed that some components have more granular selection logic, and even involve multiple selection. In the xref:./nbm-selection-2.adoc[next tutorial] you will cover how to use the link:https://bits.netbeans.org/dev/javadoc/org-openide-nodes/overview-summary.html[Nodes API] to handle that.
+By now you may have noticed that some components have more granular selection logic, and even involve multiple selection. In the xref:tutorials/nbm-selection-2.adoc[next tutorial] you will cover how to use the link:https://bits.netbeans.org/dev/javadoc/org-openide-nodes/overview-summary.html[Nodes API] to handle that.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-selection-2.adoc b/modules/ROOT/pages/tutorials/nbm-selection-2.adoc
index de1c872..c34ecd6 100644
--- a/modules/ROOT/pages/tutorials/nbm-selection-2.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-selection-2.adoc
@@ -35,7 +35,7 @@
 :imagesdir: ../../images
 endif::[]
 
-This tutorial is part 2 of a series. The xref:./nbm-selection-1.adoc[previous tutorial] covered the basics of component-wide selection handling in NetBeans - how to provide objects from a ` xref:wiki::wiki/DevFaqWindowsTopComponent.adoc[TopComponent]`'s ` xref:wiki::wiki/DevFaqLookup.adoc[Lookup]`, and how to write other components that are sensitive to the `Lookup` of whatever component has focus. This tutorial assumes that you have completed the previous tutorial, and have the source code to hand, since we will be modifying it in this part.
+This tutorial is part 2 of a series. The xref:tutorials/nbm-selection-1.adoc[previous tutorial] covered the basics of component-wide selection handling in NetBeans - how to provide objects from a ` xref:wiki::wiki/DevFaqWindowsTopComponent.adoc[TopComponent]`'s ` xref:wiki::wiki/DevFaqLookup.adoc[Lookup]`, and how to write other components that are sensitive to the `Lookup` of whatever component has focus. This tutorial assumes that you have completed the previous tutorial, and have the source code to hand, since we will be modifying it in this part.
 
 This tutorial focuses on the  link:https://bits.netbeans.org/dev/javadoc/org-openide-nodes/overview-summary.html[Nodes API], which makes it possible to do more granular views and selection than just component-level selection. Of course, you could write a component that reads and writes into its own Lookup whatever it wants, and provides more granular selection logic that way. But the Nodes API makes it very easy to do this, and offers a number of advantages over doing it yourself.
 
@@ -66,7 +66,7 @@
 
 == Creating an Explorer View
 
-The first thing you will do is some substantial modifications to your `MyEditor` editor component (from the xref:./nbm-selection-1.adoc[previous tutorial]). This starts with opening it in the editor.
+The first thing you will do is some substantial modifications to your `MyEditor` editor component (from the xref:tutorials/nbm-selection-1.adoc[previous tutorial]). This starts with opening it in the editor.
 
 
 [start=1]
@@ -341,5 +341,5 @@
 
 == Next Steps
 
-So you now have a view that can display `Node` s that expose some underlying model object (`Event` in your case). In the  xref:./nbm-nodesapi2.adoc[next tutorial], you will cover how to enhance the Nodes you have already created with actions, properties and more colorful display names.
+So you now have a view that can display `Node` s that expose some underlying model object (`Event` in your case). In the  xref:tutorials/nbm-nodesapi2.adoc[next tutorial], you will cover how to enhance the Nodes you have already created with actions, properties and more colorful display names.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-server-plugin.adoc b/modules/ROOT/pages/tutorials/nbm-server-plugin.adoc
index 89eda6f..9f441c0 100644
--- a/modules/ROOT/pages/tutorials/nbm-server-plugin.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-server-plugin.adoc
@@ -67,7 +67,7 @@
 
 Once the software is installed, this tutorial can be completed in 60 minutes.
 
-For more information on working with NetBeans modules, see the  xref:../kb/docs/platform.adoc[ NetBeans Module and Rich-Client Application tutorials page] on the NetBeans website. If you have questions, visit the  xref:wiki::wiki/DevFaqIndex.adoc[ NetBeans Developer FAQ] or use the feedback link at the top of this page.
+For more information on working with NetBeans modules, see the  xref:kb/docs/platform.adoc[ NetBeans Module and Rich-Client Application tutorials page] on the NetBeans website. If you have questions, visit the  xref:wiki::wiki/DevFaqIndex.adoc[ NetBeans Developer FAQ] or use the feedback link at the top of this page.
 
 
 == Getting to Know the Sample
@@ -232,7 +232,7 @@
 | ``<<server.gif,server.gif>>``  |Icon for the new server type's node in the IDE. 
 |===
 
-For basic information each of the Important Files, see the  xref:./nbm-quick-start.adoc[Introduction to NetBeans Module Development].
+For basic information each of the Important Files, see the  xref:tutorials/nbm-quick-start.adoc[Introduction to NetBeans Module Development].
 
 We have now looked at the features provided by the server skeleton and at each of the files that you need to create it from scratch. Let's now go through the whole process from start to finish, during which we will recreate the whole server skeleton. At the end, we will look at further resources worth exploring when building your own server implementation on top of the server skeleton.
 
@@ -262,7 +262,7 @@
 
 image::tutorials/myserver_projects-window-original.png[]
 
-For basic information on each of the files created by the New Project wizard, see the  xref:./nbm-quick-start.adoc[Introduction to NetBeans Module Development].
+For basic information on each of the files created by the New Project wizard, see the  xref:tutorials/nbm-quick-start.adoc[Introduction to NetBeans Module Development].
 
 
 === Specifying the Module's Dependencies
diff --git a/modules/ROOT/pages/tutorials/nbm-visual_library.adoc b/modules/ROOT/pages/tutorials/nbm-visual_library.adoc
index 4da0754..27b55d4 100644
--- a/modules/ROOT/pages/tutorials/nbm-visual_library.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-visual_library.adoc
@@ -186,7 +186,7 @@
 
 
 [start=1]
-1. Since the focus of this tutorial is the Visual Library API, and not the Palette API, no time will be spent here explaining how the Palette API works. Many tutorials exist on this subject already ( xref:../kb/docs/platform.adoc[here]). Therefore, you can simply copy and paste the following files into a new package called  ``org.netbeans.shapesample.palette`` :
+1. Since the focus of this tutorial is the Visual Library API, and not the Palette API, no time will be spent here explaining how the Palette API works. Many tutorials exist on this subject already ( xref:kb/docs/platform.adoc[here]). Therefore, you can simply copy and paste the following files into a new package called  ``org.netbeans.shapesample.palette`` :
 
 *  link:images/vislib_Category.java[Category.java]
 *  link:images/vislib_CategoryChildren.java[CategoryChildren.java]
diff --git a/modules/ROOT/pages/tutorials/nbm-visual_library2.adoc b/modules/ROOT/pages/tutorials/nbm-visual_library2.adoc
index 47d43a2..9de9d57 100644
--- a/modules/ROOT/pages/tutorials/nbm-visual_library2.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-visual_library2.adoc
@@ -54,7 +54,7 @@
 
 Also, see  link:http://www.javalobby.org/eps/netbeans_visual_library/[Roman Strobl's Visual Library Screencast] on Javalobby.
 
-Before continuing, you are assumed to have read the  xref:./nbm-visual_library.adoc[NetBeans Visual Library Tutorial], which gives you the basics for working with the Visual Library. The basics discussed in that tutorial will not be repeated here.
+Before continuing, you are assumed to have read the  xref:tutorials/nbm-visual_library.adoc[NetBeans Visual Library Tutorial], which gives you the basics for working with the Visual Library. The basics discussed in that tutorial will not be repeated here.
 
 
 == Setting Up the Module
diff --git a/modules/ROOT/pages/tutorials/nbm-visual_library3.adoc b/modules/ROOT/pages/tutorials/nbm-visual_library3.adoc
index b5057cc..03b51b8 100644
--- a/modules/ROOT/pages/tutorials/nbm-visual_library3.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-visual_library3.adoc
@@ -354,5 +354,5 @@
 [start=4]
 1. Run the application. Scroll the middle mousebutton, or do whatever your operating system requires for "zooming", and notice that the whole scene increases/decreases in size.
 
-Now that you have a basic idea of the features that the Visual Library API provides, see the section called "NetBeans APIs for Visualizing Data" on the  xref:../kb/docs/platform.adoc[NetBeans Platform Learning Trail].
+Now that you have a basic idea of the features that the Visual Library API provides, see the section called "NetBeans APIs for Visualizing Data" on the  xref:kb/docs/platform.adoc[NetBeans Platform Learning Trail].
 
diff --git a/modules/ROOT/pages/tutorials/nbm-visual_library4.adoc b/modules/ROOT/pages/tutorials/nbm-visual_library4.adoc
index ac50f5f..de45261 100644
--- a/modules/ROOT/pages/tutorials/nbm-visual_library4.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-visual_library4.adoc
@@ -36,9 +36,9 @@
 
 In this tutorial, you will learn about a different approach to creating widgets in Visual Library scenes. Other approaches are described in other tutorials:
 
-*  xref:./nbm-visual_library.adoc[NetBeans Visual Library Tutorial.] In this introductory tutorial to the Visual Library, you are shown how widgets can be created when the user drags-and-drops an item from the Component Palette.
-*  xref:./nbm-visual_library2.adoc[NetBeans Visual Database Explorer Tutorial.] In this tutorial, you are shown how widgets can be created from tables in a database via a database connection in the Services window.
-*  xref:./nbm-visual_library3.adoc[NetBeans Visual Library Tutorial for Java Applications.] In this tutorial aimed at general Java SE applications, you are shown how widgets can be generated from the constructor of a NetBeans Visual Library Scene class.
+*  xref:tutorials/nbm-visual_library.adoc[NetBeans Visual Library Tutorial.] In this introductory tutorial to the Visual Library, you are shown how widgets can be created when the user drags-and-drops an item from the Component Palette.
+*  xref:tutorials/nbm-visual_library2.adoc[NetBeans Visual Database Explorer Tutorial.] In this tutorial, you are shown how widgets can be created from tables in a database via a database connection in the Services window.
+*  xref:tutorials/nbm-visual_library3.adoc[NetBeans Visual Library Tutorial for Java Applications.] In this tutorial aimed at general Java SE applications, you are shown how widgets can be generated from the constructor of a NetBeans Visual Library Scene class.
 
 In this tutorial, widgets are created in a slightly different way, more common to typical Visual Library scenarios. When the user clicks in a scene, a dialog will appear, where the user can specify certain attributes of the widget, after which the widget itself will be created. In other words, in contrast to the above tutorials, widgets will be created on-demand, that is, when the user requires them, when clicking in the scene, that is, without using the Component Palette.
 
diff --git a/modules/ROOT/pages/tutorials/nbm-wizard.adoc b/modules/ROOT/pages/tutorials/nbm-wizard.adoc
index 2026f60..adcb6ab 100644
--- a/modules/ROOT/pages/tutorials/nbm-wizard.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-wizard.adoc
@@ -42,7 +42,7 @@
 
 
 
-In NetBeans Platform applications, many different kinds of wizards can be created. If you want to create a wizard that appears in the New Project dialog, see the  xref:./nbm-projectsamples.adoc[Project Sample Module Tutorial]. If you want to create a wizard that appears in the New File dialog, see the  xref:./nbm-filetemplates.adoc[File Template Module Tutorial]. In this tutorial, you create a general wizard that appears when you click a button in the toolbar.
+In NetBeans Platform applications, many different kinds of wizards can be created. If you want to create a wizard that appears in the New Project dialog, see the  xref:tutorials/nbm-projectsamples.adoc[Project Sample Module Tutorial]. If you want to create a wizard that appears in the New File dialog, see the  xref:tutorials/nbm-filetemplates.adoc[File Template Module Tutorial]. In this tutorial, you create a general wizard that appears when you click a button in the toolbar.
 
 
 
@@ -472,7 +472,7 @@
 
 You now know how to persist wizard data across restarts.
 
-For more information on the  ``NbPreferences``  class, used above, see the  link:https://bits.netbeans.org/dev/javadoc/org-openide-util/org/openide/util/NbPreferences.html[ ``NbPreferences``  javadoc], as well as the  xref:./nbm-options.adoc[NetBeans Options Window Tutorial].
+For more information on the  ``NbPreferences``  class, used above, see the  link:https://bits.netbeans.org/dev/javadoc/org-openide-util/org/openide/util/NbPreferences.html[ ``NbPreferences``  javadoc], as well as the  xref:tutorials/nbm-options.adoc[NetBeans Options Window Tutorial].
 
 
 == Branding the Wizard
diff --git a/modules/ROOT/pages/tutorials/nbm-xmleditor.adoc b/modules/ROOT/pages/tutorials/nbm-xmleditor.adoc
index 468149d..e209637 100644
--- a/modules/ROOT/pages/tutorials/nbm-xmleditor.adoc
+++ b/modules/ROOT/pages/tutorials/nbm-xmleditor.adoc
@@ -230,5 +230,5 @@
 
 For more information about creating and developing NetBeans modules, see the following resources:
 
-*  xref:../kb/docs/platform.adoc[Other Related Tutorials]
+*  xref:kb/docs/platform.adoc[Other Related Tutorials]
 *  link:https://bits.netbeans.org/dev/javadoc/[NetBeans API Javadoc]