You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ec...@apache.org on 2018/03/06 21:44:50 UTC

[geode-native] branch develop updated: GEODE-4786: Reconfigure sidenav and delete existing pages (#232)

This is an automated email from the ASF dual-hosted git repository.

echobravo pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git


The following commit(s) were added to refs/heads/develop by this push:
     new c887190  GEODE-4786: Reconfigure sidenav and delete existing pages (#232)
c887190 is described below

commit c88719003499b7baa71789259391f7ce844be703
Author: Dave Barnes <db...@pivotal.io>
AuthorDate: Tue Mar 6 13:44:48 2018 -0800

    GEODE-4786: Reconfigure sidenav and delete existing pages (#232)
---
 docs/{geode-native-book => }/README.md             |  21 +-
 docs/geode-native-book/config.yml                  |   6 +-
 .../source/subnavs/geode-nc-nav.erb                | 895 +--------------------
 docs/geode-native-book/redirects.rb                |  11 +-
 docs/geode-native-docs/README.md                   |   1 -
 .../about-client-users-guide.html.md.erb           |  73 +-
 .../cache-init-file/chapter-overview.html.md.erb   |  80 --
 .../client-cache/accessing-entries.html.md.erb     |  55 --
 .../adding-entries-to-cache.html.md.erb            |  48 --
 .../client-cache/application-plugins.html.md.erb   | 278 -------
 .../client-cache/cache-management.html.md.erb      |  46 --
 .../client-cache/cache-ownership.html.md.erb       |  28 -
 .../client-cache/caches.html.md.erb                |  44 -
 .../client-cache/caching-apis.html.md.erb          |  45 --
 .../client-cache/caching-enabled.html.md.erb       |  44 -
 .../client-cache/chapter-overview.html.md.erb      |  54 --
 .../client-to-server-connection.html.md.erb        |  56 --
 .../client-cache/closing-cache.html.md.erb         |  28 -
 .../concurrency-checks-enabled.html.md.erb         |  35 -
 .../client-cache/concurrency-level.html.md.erb     |  35 -
 .../consistency-checking-in-regions.html.md.erb    |  34 -
 .../controlling-cache-size.html.md.erb             |  37 -
 .../client-cache/create-access-cache.html.md.erb   |  69 --
 .../declarative-region-creation.html.md.erb        |  52 --
 .../client-cache/disk-policy.html.md.erb           |  51 --
 .../client-cache/entries.html.md.erb               |  37 -
 .../client-cache/expiration-attributes.html.md.erb |  82 --
 .../getting-the-region-size.html.md.erb            |  28 -
 .../client-cache/initial-capacity.html.md.erb      |  32 -
 .../invalidating-cached-entries.html.md.erb        |  33 -
 .../client-cache/invalidating-region.html.md.erb   |  43 -
 .../client-cache/load-factor.html.md.erb           |  32 -
 .../client-cache/lru-entries-limit.html.md.erb     |  48 --
 .../managing-lifetime-cached-object.html.md.erb    |  65 --
 .../notification-for-operations.html.md.erb        |  33 -
 .../client-cache/overview-client-cache.html.md.erb |  41 -
 .../client-cache/persistence-manager.html.md.erb   | 241 ------
 .../programmatic-region-creation.html.md.erb       |  37 -
 .../client-cache/region-access.html.md.erb         |  38 -
 .../region-attributes-desc.html.md.erb             |  56 --
 .../client-cache/region-attributes.html.md.erb     |  50 --
 .../client-cache/region-shortcuts.html.md.erb      |  76 --
 .../client-cache/regions.html.md.erb               |  47 --
 .../registering-interest-for-entries.html.md.erb   | 110 ---
 .../requirements-for-distrib.html.md.erb           |  28 -
 .../specify-region-attributes.html.md.erb          |  26 -
 .../client-cache/troubleshooting.html.md.erb       |  58 --
 .../client-cache/updating-entries.html.md.erb      |  33 -
 .../using-serverkeys-to-retrieve.html.md.erb       |  49 --
 .../client-cache/using-thread-safety.html.md.erb   |  30 -
 .../common/images/10-Continuous_Querying-1.gif     | Bin 7411 -> 0 bytes
 .../common/images/10-Continuous_Querying-3.gif     | Bin 8611 -> 0 bytes
 .../common/images/6-DotNet_API-1.gif               | Bin 4218 -> 0 bytes
 .../common/images/7-Preserving_Data-2.gif          | Bin 13146 -> 0 bytes
 .../common/images/client-cache-data-flow.gif       | Bin 4422 -> 0 bytes
 .../common/images/client-cache-plugins-run.gif     | Bin 4340 -> 0 bytes
 .../common/images/client-overview.gif              | Bin 6421 -> 0 bytes
 .../common/images/client-server-arch.gif           | Bin 7198 -> 0 bytes
 .../common/images/data-dep-func-from-client.gif    | Bin 10336 -> 0 bytes
 .../common/images/data-dep-func-with-filter.gif    | Bin 11062 -> 0 bytes
 .../common/images/data-indep-func-from-client.gif  | Bin 8105 -> 0 bytes
 .../images/delta-propagation-in-client-server.gif  | Bin 7115 -> 0 bytes
 .../common/images/ha-data-dep-func.gif             | Bin 14684 -> 0 bytes
 .../common/images/security-client-connections.gif  | Bin 8300 -> 0 bytes
 .../common/images/xact-run-from-client.gif         | Bin 9928 -> 0 bytes
 .../about-connection-pools.html.md.erb             |  37 -
 .../about-server-locators.html.md.erb              |  34 -
 .../client-load-balancing.html.md.erb              |  38 -
 .../connection-pools/client-pool-api.html.md.erb   |  39 -
 ...onfiguring-pools-attributes-example.html.md.erb | 173 ----
 .../connection-pools/configuring-pools.html.md.erb |  42 -
 .../connection-pools/connection-pools.html.md.erb  |  32 -
 .../discovering-locators-dynamically.html.md.erb   |  34 -
 .../running-connection-pool-code.html.md.erb       |  76 --
 .../subscription-properties.html.md.erb            |  41 -
 .../1-how-cont-query-works.html.md.erb             |  72 --
 .../2-config-for-continuous-querying.html.md.erb   |  30 -
 .../3-client-cq-api.html.md.erb                    |  56 --
 .../5-implementing-cq.html.md.erb                  |  39 -
 .../continuous-querying/5a-writing-cq.html.md.erb  |  43 -
 .../5b-writing-cq-listener.html.md.erb             | 297 -------
 .../5c-cq-event-object.html.md.erb                 |  77 --
 .../5d-when-error-occurs.html.md.erb               |  34 -
 .../5e-running-cq-code.html.md.erb                 |  84 --
 .../5f-cq-execution-options.html.md.erb            |  30 -
 .../continuous-querying/6-managing-cqs.html.md.erb |  52 --
 .../continuous-querying.html.md.erb                |  40 -
 .../cpp-caching-api/accessing-entry.html.md.erb    |  45 --
 .../cpp-caching-api/add-entry-to-cache.html.md.erb |  60 --
 .../cpp-caching-api/cpp-caching-api.html.md.erb    |  24 -
 .../cpp-caching-api/creating-cache.html.md.erb     |  39 -
 .../creating-new-statistics.html.md.erb            |  70 --
 .../cpp-caching-api/creating-region.html.md.erb    |  51 --
 .../cpp-caching-api/data-as-blob.html.md.erb       |  25 -
 .../cpp-caching-api/gfe-cpp-api.html.md.erb        |  78 --
 .../cpp-caching-api/object-graphs.html.md.erb      |  23 -
 .../pdx-auto-serialization.html.md.erb             | 366 ---------
 .../pdx-ignore-unread-fields.html.md.erb           |  37 -
 .../cpp-caching-api/pdx-serialization.html.md.erb  |  60 --
 .../pdx-with-delta-propagation.html.md.erb         |  45 --
 .../pdxserializable-interface.html.md.erb          | 112 ---
 .../performing-ops-with-pdx-object.html.md.erb     |  60 --
 ...region-data-requiring-serialization.html.md.erb |  36 -
 .../cpp-caching-api/removing-entry.html.md.erb     |  36 -
 .../serialization-options.html.md.erb              |  79 --
 .../serialization-overview.html.md.erb             |  48 --
 .../serialization-using-serializable.html.md.erb   | 256 ------
 .../type-interoperability.html.md.erb              |  63 --
 .../user-defined-objects.html.md.erb               |  46 --
 .../cpp-caching-api/using-custom-class.html.md.erb |  85 --
 .../using-enum-type-with-pdx.html.md.erb           | 130 ---
 .../cpp-caching-api/using-pdxinstance.html.md.erb  |  59 --
 .../using-pdxinstancefactory.html.md.erb           | 134 ---
 .../using-pdxserializer.html.md.erb                | 119 ---
 .../delta-propagation-api.html.md.erb              |  43 -
 .../delta-propagation-properties.html.md.erb       |  57 --
 .../delta-propagation.html.md.erb                  |  43 -
 .../how-delta-propagation-works.html.md.erb        |  33 -
 .../implementing-delta-propagation.html.md.erb     |  54 --
 .../delta-propagation/performance.html.md.erb      |  65 --
 .../application-callbacks.html.md.erb              |  98 ---
 .../dotnet-caching-api/cache-apis.html.md.erb      |  27 -
 .../cpp-class-to-dotnet-class-mappings.html.md.erb | 181 -----
 .../creating-a-cache.html.md.erb                   |  50 --
 .../creating-a-region.html.md.erb                  |  54 --
 .../csharp-dotnet-api.html.md.erb                  |  44 -
 .../csharp-dotnet-naming-conventions.html.md.erb   |  32 -
 .../custom-class-igfserializable.html.md.erb       | 153 ----
 .../data-serialization-apis.html.md.erb            |  40 -
 .../dotnet-accessing-an-entry.html.md.erb          |  48 --
 .../dotnet-adding-entry-to-cache.html.md.erb       |  46 --
 .../dotnet-application-domains.html.md.erb         |  25 -
 .../dotnet-caching-api.html.md.erb                 |  80 --
 .../dotnet-data-serialization-options.html.md.erb  |  79 --
 .../dotnet-data-serialization.html.md.erb          |  35 -
 .../dotnet-pdx-autoserializer.html.md.erb          |  72 --
 .../dotnet-pdx-serialization-features.html.md.erb  |  42 -
 .../dotnet-pdx-serialization.html.md.erb           |  26 -
 .../event-handling-apis.html.md.erb                |  32 -
 .../extending-pdx-autoserializer.html.md.erb       |  76 --
 .../how-igfserializable-works.html.md.erb          |  36 -
 .../implementing-igfserializable.html.md.erb       | 139 ----
 .../implementing-shared-assembly.html.md.erb       |  38 -
 .../java-to-dotnet-type-mapping.html.md.erb        | 163 ----
 .../mapping-dotnet-domain-type-names.html.md.erb   |  42 -
 .../object-lifetimes.html.md.erb                   |  54 --
 .../dotnet-caching-api/other-apis.html.md.erb      |  31 -
 .../primary-apis-cache-generic.html.md.erb         |  47 --
 .../private-assembly.html.md.erb                   |  56 --
 .../problem-scenarios.html.md.erb                  |  41 -
 .../programming-ipdxinstance.html.md.erb           |  62 --
 .../region-entry-apis.html.md.erb                  |  35 -
 .../registering-the-type.html.md.erb               |  44 -
 .../dotnet-caching-api/removing-entry.html.md.erb  |  38 -
 .../resolving-the-error.html.md.erb                |  26 -
 .../serializable-types.html.md.erb                 |  36 -
 .../serialize-using-igfserializable.html.md.erb    |  40 -
 .../serialize-using-ipdxserializable.html.md.erb   | 120 ---
 .../serializing-domain-objects.html.md.erb         |  46 --
 .../simple-csharp-example.html.md.erb              |  60 --
 ...troubleshooting-dotnet-applications.html.md.erb |  27 -
 .../using-ipdxinstancefactory.html.md.erb          |  27 -
 .../data-aware-function-execution.html.md.erb      |  28 -
 .../executing-functions.html.md.erb                |  38 -
 .../function-execution.html.md.erb                 |  38 -
 .../handling-function-results.html.md.erb          |  49 --
 .../how-functions-execute.html.md.erb              |  76 --
 .../running-function.html.md.erb                   | 139 ----
 .../solutions-use-cases.html.md.erb                |  30 -
 docs/geode-native-docs/glossary.html.md.erb        | 230 ------
 .../images/SQLite_Persistence_Mgr.png              | Bin 58388 -> 0 bytes
 .../images/client-cache-plugins-run.png            | Bin 19227 -> 0 bytes
 .../geode-native-docs/images/delta-propagation.png | Bin 78773 -> 0 bytes
 .../introduction/client-configurations.html.md.erb | 162 ----
 .../introduction/client-intro.html.md.erb          |  36 -
 .../introduction/client-overview.html.md.erb       |  37 -
 .../introduction/developing-linux.html.md.erb      | 103 ---
 .../introduction/developing-solaris.html.md.erb    |  61 --
 .../introduction/developing-windows.html.md.erb    |  71 --
 .../introduction/examples.html.md.erb              |  35 -
 .../introduction/install-overview.html.md.erb      | 213 -----
 .../introduction/running-client-apps.html.md.erb   |  36 -
 .../app-ops-during-int-reg.html.md.erb             |  34 -
 .../preserving-data/client-side-config.html.md.erb |  36 -
 .../config-durable-interest-keys.html.md.erb       |  50 --
 .../config-durable-reconnect.html.md.erb           |  59 --
 .../configuring-durable-nc.html.md.erb             |  53 --
 .../preserving-data/configuring-nc-ha.html.md.erb  |  65 --
 .../disconnecting-from-server.html.md.erb          |  36 -
 .../preserving-data/disconnection.html.md.erb      |  44 -
 .../durable-client-life-cycle.html.md.erb          |  44 -
 .../durable-client-messaging-req.html.md.erb       |  36 -
 .../durable-client-messaging.html.md.erb           |  48 --
 .../durable-message-replay.html.md.erb             |  44 -
 .../high-availability-client-server.html.md.erb    |  32 -
 ...mpl-cache-listeners-durable-clients.html.md.erb |  36 -
 .../preserving-data/initial-operation.html.md.erb  |  26 -
 .../preserving-data/preserving-data.html.md.erb    |  38 -
 .../preserving-data/reconnection.html.md.erb       |  49 --
 .../sending-cache-ready-message.html.md.erb        |  36 -
 .../sending-periodic-ack.html.md.erb               |  48 --
 .../using-queue-conflation.html.md.erb             |  40 -
 .../1-quickintro-overview.html.md.erb              |  32 -
 .../2-quickintro-querycodeexamples.html.md.erb     |  58 --
 .../3-quickintro-requirements.html.md.erb          |  58 --
 ...4-quickintro-exampleportfolioregion.html.md.erb |  77 --
 ...41-quickintro-query-portfolioregion.html.md.erb | 113 ---
 .../42-quickintro-modify-cachecontents.html.md.erb |  42 -
 .../91-quickintro/94-indexes-overview.html.md.erb  |  46 --
 .../92-querylanguage/2-accessingdata.html.md.erb   |  30 -
 .../21-basic-region-access.html.md.erb             |  50 --
 .../22-drilldown-modify-query-scope.html.md.erb    |  46 --
 .../23-attribute-visibility.html.md.erb            |  66 --
 .../24-nested-query-scope.html.md.erb              |  55 --
 .../25-when-names-cant-resolve.html.md.erb         |  22 -
 .../1-querystring-overview.html.md.erb             |  28 -
 .../93-querystrings/3-from-clause.html.md.erb      |  75 --
 .../3a-iterator-variables.html.md.erb              |  33 -
 .../3b-importing-using-object-classes.html.md.erb  |  49 --
 .../3c-predefined-class-types.html.md.erb          |  46 --
 .../3d-specify-object-types.html.md.erb            |  70 --
 .../93-querystrings/4-where-clause.html.md.erb     |  38 -
 .../93-querystrings/5-joins.html.md.erb            |  32 -
 .../6-select-projection-list.html.md.erb           |  36 -
 .../7-select-statement-query-results.html.md.erb   | 130 ---
 .../8-query-language-elements.html.md.erb          |  36 -
 .../8a-method-invocation.html.md.erb               |  35 -
 .../8b-query-lang-literals.html.md.erb             |  36 -
 .../8c-type-conversions.html.md.erb                |  48 --
 .../1-remote-query-api-overview.html.md.erb        |  40 -
 .../2-create-manage-queries.html.md.erb            |  61 --
 .../3-query-result-sets.html.md.erb                |  27 -
 .../2-query-code-examples-resultset.html.md.erb    |  85 --
 .../3-query-code-examples-structset.html.md.erb    | 209 -----
 .../remote-querying/remote-querying.html.md.erb    |  44 -
 .../security/LDAPserverauth.html.md.erb            |  42 -
 docs/geode-native-docs/security/PKCS.html.md.erb   |  43 -
 .../security/authentication-levels.html.md.erb     |  38 -
 .../security/authforcacheserver.html.md.erb        |  40 -
 .../security/caveatregionservice.html.md.erb       |  43 -
 .../config-clientauthorization.html.md.erb         |  30 -
 .../createsecureconnregionservice.html.md.erb      |  60 --
 .../security/encrypted-auth.html.md.erb            |  32 -
 .../security/handling-serv-auth-errors.html.md.erb |  24 -
 .../security/overviewauthentication.html.md.erb    |  46 --
 .../overviewclientauthorization.html.md.erb        |  38 -
 .../security/overviewencryptcred.html.md.erb       |  59 --
 .../security/overviewsecurity.html.md.erb          |  46 --
 .../security/postopauthorization.html.md.erb       |  32 -
 .../security/security-systemprops.html.md.erb      |  89 --
 .../security/sslclientserver.html.md.erb           | 131 ---
 .../security/systempropsforauth.html.md.erb        |  85 --
 .../security/usingoperationcontext.html.md.erb     |  38 -
 .../attribute-def-priority.html.md.erb             |  34 -
 .../cache-server-config.html.md.erb                |  34 -
 .../chapter-overview.html.md.erb                   |  36 -
 .../setting-properties/client-config.html.md.erb   |  52 --
 .../setting-properties/config-overview.html.md.erb |  48 --
 .../define-programmatically.html.md.erb            |  35 -
 .../propfile-attributes.html.md.erb                | 278 -------
 .../propfile-overriding.html.md.erb                |  26 -
 .../propfile-overview.html.md.erb                  |  34 -
 .../setting-properties/propfile-sample.html.md.erb | 121 ---
 .../propfile-search-path.html.md.erb               |  28 -
 .../chapter-overview.html.md.erb                   |  38 -
 .../sqlite-persistence/linux-install.html.md.erb   |  60 --
 .../sqlite-persistence/solaris-install.html.md.erb |  72 --
 .../sqlite-persistence/windows-install.html.md.erb |  55 --
 .../cache-performance-statistics.html.md.erb       |  47 --
 .../system-statistics/chapter-overview.html.md.erb |  41 -
 .../continuous-query-statistics.html.md.erb        |  31 -
 .../cq-service-statistics.html.md.erb              |  32 -
 .../system-statistics/delta-statistics.html.md.erb |  31 -
 .../linux-os-statistics.html.md.erb                |  34 -
 .../operating-system-statistics.html.md.erb        |  36 -
 .../system-statistics/pool-statistics.html.md.erb  |  47 --
 .../region-statistics.html.md.erb                  | 126 ---
 .../sampling-statistics.html.md.erb                |  34 -
 .../solaris-os-statistics.html.md.erb              |  34 -
 .../system-performance-statistics.html.md.erb      |  48 --
 .../windows-os-statistics.html.md.erb              |  43 -
 .../transactions/how-client-xacts-work.html.md.erb |  56 --
 .../transactions/running-client-xact.html.md.erb   |  90 ---
 .../transactions/suspend-resume-xacts.html.md.erb  |  34 -
 .../transactions/transactions.html.md.erb          |  46 --
 .../type-mappings/chapter-overview.html.md.erb     |  30 -
 .../cpp-class-to-dotnet-class-mappings.html.md.erb | 180 -----
 .../java-to-dotnet-type-mapping.html.md.erb        | 163 ----
 288 files changed, 11 insertions(+), 16936 deletions(-)

diff --git a/docs/geode-native-book/README.md b/docs/README.md
similarity index 60%
rename from docs/geode-native-book/README.md
rename to docs/README.md
index 402cd1d..aac67f8 100644
--- a/docs/geode-native-book/README.md
+++ b/docs/README.md
@@ -1,16 +1,15 @@
 # Apache Geode Native Client User Guide
 
-This document contains instructions for building and viewing the Apache Geode Native Client User Guide locally and moving the built guide to the Apache Geode website for publication.
+This document contains instructions for building and viewing the Apache Geode Native Client User Guide.
 
 - [About](#about)
 - [Prerequisites](#prerequisites)
 - [Bookbinder Usage](#bookbinder-usage)
 - [Building the Documentation](#building-the-documentation)
-- [Embedding the User Guide in the Geode Website](#embedding-the-user-guide-in-the-geode-website)
 
 ## About
 
-Apache Geode provides the full source for the Apache Geode Native Client User Guide in markdown format (see `{geode-native-project-dir}/geode-docs/CONTRIBUTE.md`). The latest check-ins to `{geode-native-project-dir}/docs/geode-native-docs` on the `develop` branch are regularly built and published to http://geode.apache.org/docs/. Users can build the markdown into an HTML user guide using [Bookbinder](https://github.com/pivotal-cf/bookbinder) and the instructions below.
+The geode-native repository provides the full source for the Apache Geode Native Client User Guide in markdown format (see `{geode-project-dir}/geode-docs/CONTRIBUTE.md` for more information on how to use markdown in this context). Users can build the markdown into an HTML user guide using [Bookbinder](https://github.com/pivotal-cf/bookbinder) and the instructions below.
 
 Bookbinder is a Ruby gem that binds  a unified documentation web application from markdown, html, and/or DITA source material. The source material for bookbinder must be stored either in local directories or in GitHub repositories. Bookbinder runs [Middleman](http://middlemanapp.com/) to produce a Rackup app that can be deployed locally or as a web application.
 
@@ -63,19 +62,3 @@ For Geode Native Client, a preconfigured **book** is provided in the directory `
 
    You can now view the local documentation at <http://localhost:9292>. 
 
-## Publishing the User Guide to the Geode Website
-
-Once you have reviewed your local build of the User Guide, you can move it to the Apache Geode website by doing the following:
-
-1. Navigate to: `{geode-native-project-dir}/docs/geode-native-book/final_app/public/docs/guide/NN`, where `NN` is the product version of your documentation (e.g., `{geode-native-project-dir}/docs/geode-native-book/final_app/public/docs/guide/11` if you are building the documentation for Apache Geode 1.1).
-
-2. To move the directory, enter:
-
-    ```
-    $ tar cvf ~/Desktop/new-guide-content.tar .
-    $ cd {geode-site-project-dir}/website/content/docs/guide/NN
-    $ tar xvf ~/Desktop/new-guide-content.tar
-    ```
-   **Note:** If the "`NN`" directory doesn't exist in the `{geode-site-project-dir}/website/content/docs/guide/` directory, you will need to create it first.
-
-3. Follow the instructions at `{geode-site-project-dir}/website/README.md` to build, review, and publish the Apache Geode website.
diff --git a/docs/geode-native-book/config.yml b/docs/geode-native-book/config.yml
index 738d790..fdb3081 100644
--- a/docs/geode-native-book/config.yml
+++ b/docs/geode-native-book/config.yml
@@ -21,13 +21,15 @@ public_host: localhost
 sections:
 - repository:
     name: geode-native-docs
-  directory: docs/guide-native/11
+  directory: docs/guide-native/15
   subnav_template: geode-nc-nav
 
 template_variables:
   product_name_long: Apache Geode
   product_name: Geode
-  product_version: 1.3
+  product_version: 1.5
+  product_version_nodot: 15
+  min_java_update: 121
   support_url: http://geode.apache.org/community
   product_url: http://geode.apache.org
   book_title: Apache Geode Native Documentation
diff --git a/docs/geode-native-book/master_middleman/source/subnavs/geode-nc-nav.erb b/docs/geode-native-book/master_middleman/source/subnavs/geode-nc-nav.erb
index e99b494..97a9373 100644
--- a/docs/geode-native-book/master_middleman/source/subnavs/geode-nc-nav.erb
+++ b/docs/geode-native-book/master_middleman/source/subnavs/geode-nc-nav.erb
@@ -20,900 +20,7 @@ limitations under the License.
     <div class="nav-content">
         <ul>
             <li>
-                <a href="/docs/guide-native/11/about-client-users-guide.html">Apache Geode Native Documentation</a>
-            </li>
-        </ul>
-        <ul>
-            <li>
-                <a href="/docs/guide-native/11/introduction/client-overview.html">About the Client</a>
-            </li>
-        </ul>
-        <ul>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/introduction/client-intro.html">Getting Started with the Client</a>
-                <ul>
-                    <li>
-                        <a href="/docs/guide-native/11/introduction/client-configurations.html">System Configurations</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/introduction/install-overview.html">Installing the Client</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/introduction/examples.html">Examples</a>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/setting-properties/chapter-overview.html">Setting System Properties</a>
-                <ul>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/setting-properties/config-overview.html">Configuring the Client and Server</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/setting-properties/client-config.html">Client Configuration</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/setting-properties/cache-server-config.html">Cache Server Configuration</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/setting-properties/attribute-def-priority.html">Attribute Definition Priority</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/setting-properties/propfile-search-path.html">Search Path for Multiple Properties Files</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/setting-properties/propfile-overriding.html">Overriding Properties File Settings</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/setting-properties/define-programmatically.html">Defining Properties Programmatically</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/setting-properties/propfile-attributes.html">Attributes in the Properties File</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/setting-properties/propfile-overview.html">Properties File Example</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/setting-properties/propfile-sample.html">Using the Default Sample File</a>
-                            </li>
-                        </ul>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/client-cache/chapter-overview.html">Configuring the Client Cache</a>
-                <ul>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/client-cache/caches.html">Caches</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/overview-client-cache.html">About the Client Cache</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/caching-apis.html">Cache APIs</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/cache-ownership.html">Local, Remote, and Distributed Caches</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/create-access-cache.html">Creating and Accessing a Cache</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/closing-cache.html">Closing the Cache</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cache-init-file/chapter-overview.html">Cache Initialization File (cache.xml)</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/client-cache/regions.html">Regions</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/declarative-region-creation.html">Declarative Region Creation</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/programmatic-region-creation.html">Programmatic Region Creation</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/invalidating-region.html">Invalidating and Destroying Regions</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/region-access.html">Region Access</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/getting-the-region-size.html">Getting the Region Size</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/client-cache/entries.html">Region Entries</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/requirements-for-distrib.html">Entry Distribution Requirements</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/registering-interest-for-entries.html">Registering Interest for Entries</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/using-serverkeys-to-retrieve.html">Using serverKeys to Retrieve a Set of Region Keys</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/adding-entries-to-cache.html">Adding Entries to the Cache</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/updating-entries.html">Updating Entries</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/accessing-entries.html">Accessing Entries</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/invalidating-cached-entries.html">Invalidating or Destroying Cached Entries</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/notification-for-operations.html">Notification for Operations</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/client-cache/consistency-checking-in-regions.html">Region Consistency</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/client-cache/region-attributes.html">Region Attributes</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/specify-region-attributes.html">Specifying Region Attributes</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/region-shortcuts.html">RegionShortcuts</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/region-attributes-desc.html">Mutable and Immutable Region Attributes</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/caching-enabled.html">CachingEnabled</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/initial-capacity.html">InitialCapacity</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/load-factor.html">LoadFactor</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/concurrency-level.html">ConcurrencyLevel</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/concurrency-checks-enabled.html">ConcurrencyChecksEnabled</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/lru-entries-limit.html">LruEntriesLimit</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/disk-policy.html">DiskPolicy</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/persistence-manager.html">PersistenceManager</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/expiration-attributes.html">Specifying Expiration Attributes</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/client-cache/application-plugins.html">Application Plug-ins</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/client-cache/cache-management.html">Cache Management</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/client-to-server-connection.html">Client-to-Server Connection Process</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/controlling-cache-size.html">Controlling Cache Size</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/managing-lifetime-cached-object.html">Managing the Lifetime of a Cached Object</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/using-thread-safety.html">Using Thread Safety in Cache Management</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/client-cache/troubleshooting.html">Troubleshooting</a>
-                            </li>
-                        </ul>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/cpp-caching-api/cpp-caching-api.html">C++ Client API</a>
-                <ul>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/gfe-cpp-api.html">About the C++ Client API</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/creating-cache.html">Creating a Cache</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/creating-region.html">Creating a Proxy Client-Side Region</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/add-entry-to-cache.html">Adding an Entry to the Cache</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/accessing-entry.html">Accessing an Entry</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/removing-entry.html">Removing an Entry</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/cpp-caching-api/serialization-overview.html">Serializing Data</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/cpp-caching-api/region-data-requiring-serialization.html">Region Data Requiring Serialization</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/cpp-caching-api/serialization-options.html">Data Serialization Options</a>
-                            </li>
-                            <li class="has_submenu">
-                                <a href="/docs/guide-native/11/cpp-caching-api/pdx-serialization.html">Serializing Data with PDX Serialization</a>
-                                <ul>
-                                    <li>
-                                        <a href="/docs/guide-native/11/cpp-caching-api/using-pdxserializer.html">Serialize Your Domain Objects with PdxSerializer and PdxWrapper</a>
-                                    </li>
-                                    <li class="has_submenu">
-                                        <a href="/docs/guide-native/11/cpp-caching-api/pdxserializable-interface.html">Serialize Using the PdxSerializable Class</a>
-                                        <ul>
-                                            <li>
-                                                <a href="/docs/guide-native/11/cpp-caching-api/performing-ops-with-pdx-object.html">Performing put, get, and localDestroy Operations with a PDX Domain Object</a>
-                                            </li>
-                                        </ul>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/cpp-caching-api/pdx-auto-serialization.html">Using Automatic PDX Serialization</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/cpp-caching-api/using-pdxinstance.html">Programming Your Application to Use PdxInstances</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/cpp-caching-api/pdx-ignore-unread-fields.html">Configuring PDX to Ignore Unread Fields During Deserialization</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/cpp-caching-api/using-pdxinstancefactory.html">Using PdxInstanceFactory to Create PdxInstances</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/cpp-caching-api/using-enum-type-with-pdx.html">Using C++ Enum Type with PDX Serialization</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/cpp-caching-api/pdx-with-delta-propagation.html">Using PDX Serialization with Delta Propagation</a>
-                                    </li>
-                                </ul>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/cpp-caching-api/serialization-using-serializable.html">Serializing Data with the Serializable Interface</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/cpp-caching-api/object-graphs.html">Serializing Object Graphs</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/cpp-caching-api/data-as-blob.html">Serializing and Accessing Data as a Blob</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/user-defined-objects.html">Implementing User-Defined Objects in Java Clients</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/using-custom-class.html">Using a Custom Class</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/cpp-caching-api/creating-new-statistics.html">Creating New Statistics</a>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-caching-api.html">.NET Client API</a>
-                <ul>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/dotnet-caching-api/csharp-dotnet-api.html">About the .NET Client API</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/dotnet-caching-api/csharp-dotnet-naming-conventions.html">.NET Naming and Usage Conventions</a>
-                            </li>
-                            <li class="has_submenu">
-                                <a href="/docs/guide-native/11/dotnet-caching-api/primary-apis-cache-generic.html">Primary APIs</a>
-                                <ul>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/cache-apis.html">Cache APIs</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/region-entry-apis.html">Region and Entry APIs</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/data-serialization-apis.html">Data Serialization APIs</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/event-handling-apis.html">Event Handling APIs</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/other-apis.html">Property Collections and Logging APIs</a>
-                                    </li>
-                                </ul>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html">C++ Class to .NET Class Mappings</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/java-to-dotnet-type-mapping.html">Java to .NET Type Mapping Table</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/object-lifetimes.html">Object Lifetimes</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-application-domains.html">.NET Application Domains</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/dotnet-caching-api/problem-scenarios.html">Problem Scenarios</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/creating-a-cache.html">Creating a Cache</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/creating-a-region.html">Creating a Region</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-adding-entry-to-cache.html">Adding an Entry to the Cache</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-accessing-an-entry.html">Accessing an Entry</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/removing-entry.html">Removing an Entry</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-data-serialization.html">Data Serialization</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-data-serialization-options.html">Data Serialization Options</a>
-                            </li>
-                            <li class="has_submenu">
-                                <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-pdx-serialization.html">Serialize with PDX Serialization</a>
-                                <ul>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-pdx-serialization-features.html">Geode PDX Serialization Features</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/dotnet-pdx-autoserializer.html">Serialize Using the Geode PDX Autoserializer</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/extending-pdx-autoserializer.html">Extend the PDX Autoserializer</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/serializing-domain-objects.html">Serialize Your Domain Objects with IPdxSerializer</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/serialize-using-ipdxserializable.html">Serialize Using the IPdxSerializable Interface</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/programming-ipdxinstance.html">Program Your Application to Use IPdxInstance</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/using-ipdxinstancefactory.html">Use the IPdxInstanceFactory to Create IPdxInstances</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/mapping-dotnet-domain-type-names.html">Map .NET Domain Type Names to PDX Type Names with IPdxTypeMapper</a>
-                                    </li>
-                                </ul>
-                            </li>
-                            <li class="has_submenu">
-                                <a href="/docs/guide-native/11/dotnet-caching-api/serialize-using-igfserializable.html">Serialize with the IGeodeSerializable Interface</a>
-                                <ul>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/serializable-types.html">Generic and Custom Serializable Types</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/how-igfserializable-works.html">How Serialization Works with IGeodeSerializable</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/implementing-igfserializable.html">Implement the IGeodeSerializable Interface</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/dotnet-caching-api/registering-the-type.html">Register the Type</a>
-                                    </li>
-                                </ul>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/dotnet-caching-api/custom-class-igfserializable.html">Using a Custom Class With IGeodeSerializable</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/application-callbacks.html">Application Callbacks</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/dotnet-caching-api/simple-csharp-example.html">A Simple C# Example</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/dotnet-caching-api/troubleshooting-dotnet-applications.html">Troubleshooting .NET Applications</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/dotnet-caching-api/resolving-the-error.html">Resolving the Error</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/dotnet-caching-api/private-assembly.html">Using Apache.Geode.dll As a Private Assembly</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/dotnet-caching-api/implementing-shared-assembly.html">Implementing the Shared Assembly</a>
-                            </li>
-                        </ul>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/preserving-data/preserving-data.html">Preserving Data</a>
-                <ul>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/preserving-data/high-availability-client-server.html">High Availability for Client-Server Communication</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/preserving-data/configuring-nc-ha.html">Configuring Clients for High Availability</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/preserving-data/sending-periodic-ack.html">Sending Periodic Acknowledgment</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/preserving-data/using-queue-conflation.html">Enabling Queue Conflation to Improve Update Performance</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/preserving-data/durable-client-messaging.html">Durable Client Messaging</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/preserving-data/durable-client-messaging-req.html">Durable Client Messaging Requirements</a>
-                            </li>
-                            <li class="has_submenu">
-                                <a href="/docs/guide-native/11/preserving-data/client-side-config.html">Client-Side Configuration</a>
-                                <ul>
-                                    <li>
-                                        <a href="/docs/guide-native/11/preserving-data/configuring-durable-nc.html">Configuring a Durable Client</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/preserving-data/config-durable-interest-keys.html">Configuring Durable Interest in Keys</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/preserving-data/config-durable-reconnect.html">Configuring Durable Client Reconnection</a>
-                                    </li>
-                                </ul>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/preserving-data/sending-cache-ready-message.html">Sending Cache Ready Messages to the Server</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/preserving-data/disconnecting-from-server.html">Disconnecting from the Server</a>
-                            </li>
-                            <li class="has_submenu">
-                                <a href="/docs/guide-native/11/preserving-data/durable-client-life-cycle.html">Life Cycle of a Durable Client</a>
-                                <ul>
-                                    <li>
-                                        <a href="/docs/guide-native/11/preserving-data/initial-operation.html">Initial Operation</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/preserving-data/disconnection.html">Disconnection</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/preserving-data/reconnection.html">Reconnection</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/preserving-data/durable-message-replay.html">Durable Message Replay</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/preserving-data/app-ops-during-int-reg.html">Application Operations During Interest Registration</a>
-                                    </li>
-                                </ul>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/preserving-data/impl-cache-listeners-durable-clients.html">Implementing Cache Listeners for Durable Clients</a>
-                            </li>
-                        </ul>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/security/overviewsecurity.html">Security</a>
-                <ul>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/security/overviewauthentication.html">Authentication</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/security/authentication-levels.html">Process and Multiuser Authentication</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/security/systempropsforauth.html">Configuring Credentials for Authentication</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/security/authforcacheserver.html">Configuring Authentication by the Cache Server</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/security/handling-serv-auth-errors.html">Server Authentication Errors</a>
-                            </li>
-                            <li class="has_submenu">
-                                <a href="/docs/guide-native/11/security/createsecureconnregionservice.html">Creating Multiple Secure User Connections</a>
-                                <ul>
-                                    <li>
-                                        <a href="/docs/guide-native/11/security/caveatregionservice.html">Requirements and Caveats for RegionService</a>
-                                    </li>
-                                </ul>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/security/LDAPserverauth.html">Using an LDAP Server for Client Authentication</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/security/encrypted-auth.html">Encrypted Authentication</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/security/overviewencryptcred.html">Encrypt Credentials with Diffe-Hellman</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/security/PKCS.html">Using PKCS for Encrypted Authentication</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/security/overviewclientauthorization.html">Client Authorization</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/security/config-clientauthorization.html">Configuring Client Authorization</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/security/postopauthorization.html">Post-Operative Authorization</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/security/usingoperationcontext.html">
-                                    Determining Pre- or Post-Operation Authorization</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/security/security-systemprops.html">Security-Related System Properties (geode.properties)</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/security/sslclientserver.html">SSL Client/Server Communication</a>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/remote-querying/remote-querying.html">Remote Querying</a>
-                <ul>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/remote-querying/91-quickintro/1-quickintro-overview.html">Remote Querying Basics</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html">Example Data and Class Definitions</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/91-quickintro/2-quickintro-querycodeexamples.html">Executing a Query from the Native Client</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html">Querying the Portfolios Region</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html">Modifying Cache Contents</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/91-quickintro/94-indexes-overview.html">Creating Indexes</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/91-quickintro/3-quickintro-requirements.html">Remote Querying Requirements</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/remote-querying/93-querystrings/1-querystring-overview.html">Using Query Strings in the Client</a>
-                        <ul>
-                            <li class="has_submenu">
-                                <a href="/docs/guide-native/11/remote-querying/93-querystrings/3-from-clause.html">FROM Clause</a>
-                                <ul>
-                                    <li>
-                                        <a href="/docs/guide-native/11/remote-querying/93-querystrings/3a-iterator-variables.html">Using Iterator Variables</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/remote-querying/93-querystrings/3b-importing-using-object-classes.html">Importing and Using Object Classes</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/remote-querying/93-querystrings/3c-predefined-class-types.html">Predefined Class Types</a>
-                                    </li>
-                                    <li>
-                                        <a href="/docs/guide-native/11/remote-querying/93-querystrings/3d-specify-object-types.html">Specifying the Object Types of FROM Clause Collections</a>
-                                    </li>
-                                </ul>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/93-querystrings/6-select-projection-list.html">SELECT Projection List</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/93-querystrings/7-select-statement-query-results.html">SELECT Statement Query Results</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/93-querystrings/4-where-clause.html">WHERE Clause</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/93-querystrings/5-joins.html">Joins</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/remote-querying/92-querylanguage/2-accessingdata.html">Accessing Cached Data</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/92-querylanguage/21-basic-region-access.html">Basic Region Access</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/92-querylanguage/23-attribute-visibility.html">Attribute Visibility</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html">Modifying Query Scope</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/92-querylanguage/24-nested-query-scope.html">Nested Query Scopes</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/92-querylanguage/25-when-names-cant-resolve.html">When Names Cannot Be Resolved</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/remote-querying/93-querystrings/8-query-language-elements.html">Query Language Elements</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/93-querystrings/8a-method-invocation.html">Method Invocation</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/93-querystrings/8b-query-lang-literals.html">Supported Query Language Literals</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/93-querystrings/8c-type-conversions.html">Type Conversions</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html">Remote Query API</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/95-remotequeryapi/2-create-manage-queries.html">Creating and Managing Queries</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/95-remotequeryapi/3-query-result-sets.html">Query Result Sets</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/96-progexamples/2-query-code-examples-resultset.html">Query Code Samples Returning ResultSet</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/remote-querying/96-progexamples/3-query-code-examples-structset.html">Query Code Samples Returning StructSet</a>
-                            </li>
-                        </ul>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/continuous-querying/continuous-querying.html">Continuous Querying</a>
-                <ul>
-                    <li>
-                        <a href="/docs/guide-native/11/continuous-querying/1-how-cont-query-works.html">How Continuous Querying Works</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/continuous-querying/5-implementing-cq.html">Implementing a Continuous Query</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/continuous-querying/2-config-for-continuous-querying.html">Configuring for Continuous Querying</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/continuous-querying/5a-writing-cq.html">Writing the Continuous Query</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/continuous-querying/5b-writing-cq-listener.html">Writing the CQ Listener</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/continuous-querying/5c-cq-event-object.html">CqEvent Object</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/continuous-querying/5e-running-cq-code.html">Running the Continuous Query Code</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/continuous-querying/5f-cq-execution-options.html">CQ Execution Options</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/continuous-querying/5d-when-error-occurs.html">When an Error Occurs in a Running CQ</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/continuous-querying/6-managing-cqs.html">Managing Continuous Queries</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/continuous-querying/3-client-cq-api.html">CQ API and Main Features</a>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/connection-pools/connection-pools.html">Using Connection Pools</a>
-                <ul>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/connection-pools/client-load-balancing.html">How Client Load Balancing Works</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/connection-pools/about-server-locators.html">Server Locators</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/connection-pools/about-connection-pools.html">Connection Pools</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/connection-pools/discovering-locators-dynamically.html">Discovering Locators Dynamically</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/connection-pools/configuring-pools.html">Configuring Pools</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/connection-pools/client-pool-api.html">Native Client Pool API</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/connection-pools/subscription-properties.html">Subscription Properties</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/connection-pools/running-connection-pool-code.html">Running the Connection Pool Code</a>
-                            </li>
-                        </ul>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/transactions/transactions.html">Transactions</a>
-                <ul>
-                    <li>
-                        <a href="/docs/guide-native/11/transactions/how-client-xacts-work.html">How Client Transactions Work</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/transactions/running-client-xact.html">Running a Client Transaction</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/transactions/suspend-resume-xacts.html">Suspending and Resuming Transactions</a>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/function-execution/function-execution.html">Function Execution</a>
-                <ul>
-                    <li>
-                        <a href="/docs/guide-native/11/function-execution/data-aware-function-execution.html">Understanding Data-Aware Function Routing</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/function-execution/how-functions-execute.html">How Functions Execute</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/function-execution/executing-functions.html">Executing Functions</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/function-execution/running-function.html">Running the Function</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/function-execution/handling-function-results.html">Programming to Get Function Results</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/function-execution/solutions-use-cases.html">Solutions and Use Cases</a>
-                            </li>
-                        </ul>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/delta-propagation/delta-propagation.html">Delta Propagation</a>
-                <ul>
-                    <li>
-                        <a href="/docs/guide-native/11/delta-propagation/how-delta-propagation-works.html">How Delta Propagation Works</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/delta-propagation/delta-propagation-api.html">Delta Propagation API</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/delta-propagation/delta-propagation-properties.html">Cloning</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/delta-propagation/implementing-delta-propagation.html">Implementing Delta Propagation</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/delta-propagation/performance.html">Exceptions and Limitations</a>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/type-mappings/chapter-overview.html">Interoperability of Language Classes and Types</a>
-                <ul>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/type-mappings/cpp-class-to-dotnet-class-mappings.html">C++ Class to .NET Class Mappings</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/cpp-caching-api/type-interoperability.html">Interoperability of C++ Types When Using PDX Serialization</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/type-mappings/java-to-dotnet-type-mapping.html">Java to .NET Type Mapping Table</a>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/system-statistics/chapter-overview.html">System Statistics</a>
-                <ul>
-                    <li>
-                        <a href="/docs/guide-native/11/system-statistics/sampling-statistics.html">Sampling Statistics</a>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/system-statistics/system-performance-statistics.html">System Performance Statistics</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/region-statistics.html">Region Statistics</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/cache-performance-statistics.html">Cache Performance Statistics</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/continuous-query-statistics.html">Continuous Query Statistics</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/cq-service-statistics.html">CQ Service Statistics</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/pool-statistics.html">Pool Statistics</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/delta-statistics.html">Delta Statistics</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li class="has_submenu">
-                        <a href="/docs/guide-native/11/system-statistics/operating-system-statistics.html">Operating System Statistics</a>
-                        <ul>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/linux-os-statistics.html">Linux Process Statistics</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/solaris-os-statistics.html">Solaris Process Statistics</a>
-                            </li>
-                            <li>
-                                <a href="/docs/guide-native/11/system-statistics/windows-os-statistics.html">Windows Process Statistics</a>
-                            </li>
-                        </ul>
-                    </li>
-                </ul>
-            </li>
-            <li class="has_submenu">
-                <a href="/docs/guide-native/11/sqlite-persistence/chapter-overview.html">Installing the SQLite Persistence Manager</a>
-                <ul>
-                    <li>
-                        <a href="/docs/guide-native/11/sqlite-persistence/linux-install.html">Linux Installation</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/sqlite-persistence/solaris-install.html">Solaris Installation</a>
-                    </li>
-                    <li>
-                        <a href="/docs/guide-native/11/sqlite-persistence/windows-install.html">Windows Installation</a>
-                    </li>
-                </ul>
-            </li>
-            <li>
-                <a href="/docs/guide-native/11/glossary.html">Glossary</a>
+                <a href="/docs/guide-native/15/about-client-users-guide.html">Apache Geode Native Documentation</a>
             </li>
         </ul>
     </div>
diff --git a/docs/geode-native-book/redirects.rb b/docs/geode-native-book/redirects.rb
index 9430681..9a7425c 100644
--- a/docs/geode-native-book/redirects.rb
+++ b/docs/geode-native-book/redirects.rb
@@ -15,14 +15,7 @@
 
 # Links to API Documentation #
 r301 %r{/releases/latest/javadoc/(.*)}, 'http://geode.apache.org/releases/latest/javadoc/$1'
-r301 %r{/releases/latest/cpp_api/(.*)}, 'http://data-docs-samples.cfapps.io/docs-gemfire/821/cpp_api/$1'
-r301 %r{/releases/latest/net_api/(.*)}, 'http://data-docs-samples.cfapps.io/docs-gemfire/821/net_api/$1'
-r301 %r{/releases/latest/api/cppdocs/(.*)}, 'http://data-docs-samples.cfapps.io/docs-gemfire/821/cpp_api/$1'
-r301 %r{/releases/latest/api/dotnetdocs/(.*)}, 'http://data-docs-samples.cfapps.io/docs-gemfire/821/net_api/$1'
 
 # Links to User Guides #
-r301 %r{/geodeman/(.*)}, 'http://geode.apache.org/docs/guide/11/$1'
-r301 %r{/serverman/(.*)}, 'http://geode.apache.org/docs/guide/11/$1'
-r302 '/index-10.html', 'http://geode.apache.org/docs/guide-native/10/about_native_client_users_guide.html'
-rewrite '/', '/docs/guide-native/11/about-client-users-guide.html'
-rewrite '/index.html', '/docs/guide-native/11/about-client-users-guide.html'
+rewrite '/', '/docs/guide-native/15/about-client-users-guide.html'
+rewrite '/index.html', '/docs/guide-native/15/about-client-users-guide.html'
diff --git a/docs/geode-native-docs/README.md b/docs/geode-native-docs/README.md
deleted file mode 100644
index c19a92a..0000000
--- a/docs/geode-native-docs/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# docs-gemfire-nc
diff --git a/docs/geode-native-docs/about-client-users-guide.html.md.erb b/docs/geode-native-docs/about-client-users-guide.html.md.erb
index c3beb76..87db624 100644
--- a/docs/geode-native-docs/about-client-users-guide.html.md.erb
+++ b/docs/geode-native-docs/about-client-users-guide.html.md.erb
@@ -17,76 +17,7 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-Published September 12, 2017
+Published March 6, 2018
 
-This documentation provides step-by-step procedures for installation, configuration, and development of clients.
+This documentation describes the <%=vars.product_name_long%> Native Client.
 
--   **[C++ and .NET API](http://geode.apache.org/docs/)**
-
--   **[Getting Started with the Client](introduction/client-intro.html)**
-
-    This section gives you a conceptual overview of the client. It shows you how to install the product, build client applications on various platforms, and run the product examples.
-
--   **[Setting System Properties](setting-properties/chapter-overview.html)**
-
-    *Setting System Properties* describes how to configure <%=vars.product_name_long%> clients and cache servers to participate in a distributed system.
-
--   **[Configuring the Client Cache](client-cache/chapter-overview.html)**
-
-    This section describes the client cache functionality, initialization file, and APIs. It provides information about creating and working with caches, cache regions, and region entries.
-
--   **[C++ Client API](cpp-caching-api/cpp-caching-api.html)**
-
-    This section describes the primary classes, and usage conventions for the C++ client API. It demonstrates how to use the API to create caches and perform data serialization. See the [C++ API](/releases/latest/api/cppdocs) documentation for API details.
-
--   **[.NET Client API](dotnet-caching-api/dotnet-caching-api.html)**
-
-    This section describes the primary classes, usage conventions, and C++ to .NET class mappings of the client .NET API. It demonstrates how to use the API to create caches and perform data serialization. See the [.NET API](/releases/latest/api/dotnetdocs) documentation for API details.
-
--   **[Preserving Data](preserving-data/preserving-data.html)**
-
-    A server may preserve the data queued and intended to be sent to a client, such that the data is not discarded if communication between the server and client is disrupted. Preservation prevents message loss, which can cause a client to have inconsistent data. Redundant queues and a high availability server implementation may further ensure that queued data is not lost.
-
--   **[Security](security/overviewsecurity.html)**
-
-    *Security* describes how to implement the security framework for the <%=vars.product_name%> client, including authentication, authorization, ecryption, and SSL client/server communication.
-
--   **[Remote Querying](remote-querying/remote-querying.html)**
-
-    *Remote Querying* documents remote querying from the client to the <%=vars.product_name%> cache server. Using examples and procedures, it describes how to use the APIs to run queries against cached data; work with query strings in the client; create and manage queries; and create indexes.
-
--   **[Continuous Querying](continuous-querying/continuous-querying.html)**
-
-    *Continuous Querying* describes how to implement continuous querying in the <%=vars.product_name_long%> client so that C++ and .NET clients can run queries against events in the <%=vars.product_name%> cache server region. It also describes main features and the client CQ API.
-
--   **[Using Connection Pools](connection-pools/connection-pools.html)**
-
-    *Using Connection Pools* describes how connection pools achieve load balancing for the client and describes how to configure connection pools as server locators or as a list of servers.
-
--   **[Transactions](transactions/transactions.html)**
-
-    *Transactions* describes how transactions work on the client side. It provides examples for running, suspending, and resuming transactions.
-
--   **[Function Execution](function-execution/function-execution.html)**
-
-    *Function Execution* describes how you can execute application functions to achieve linear scalability. It explains how function execution works and lists specific use cases.
-
--   **[Delta Propagation](delta-propagation/delta-propagation.html)**
-
-    *Delta Propagation* describes how deltas (updates to data) are propagated and how to implement delta propagation. It also analyzes performance limitations.
-
--   **[Interoperability of Language Classes and Types](type-mappings/chapter-overview.html)**
-
-    *Interoperability of Language Classes and Types* provides a table that maps C++ class methods to corresponding .NET class methods and a table that maps Java types to .NET types.
-
--   **[System Statistics](system-statistics/chapter-overview.html)**
-
-    *System Statistics* provides information on the statistics for caching and distribution activities.
-
--   **[Installing the SQLite Persistence Manager](sqlite-persistence/chapter-overview.html)**
-
-    *Installing the SQLite Persistence Manager* describes how to download, build and install the SQLite database libraries for use with disk overflow.
-
--   **[Glossary](glossary.html)**
-
-    This glossary defines terms used in the documentation.
diff --git a/docs/geode-native-docs/cache-init-file/chapter-overview.html.md.erb b/docs/geode-native-docs/cache-init-file/chapter-overview.html.md.erb
deleted file mode 100644
index db6654f..0000000
--- a/docs/geode-native-docs/cache-init-file/chapter-overview.html.md.erb
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title:  Cache Initialization File (cache.xml)
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-To ease the task of managing the structure of the cache, you can define the default <%=vars.product_name%> cache structure in an XML-based initialization file.
-
-# Cache Initialization File Basics
-
-The contents of the cache initialization file are used to populate or update a cache.
-
-This occurs when a cache server starts up, when a client application explicitly creates its cache, or when a client explicitly loads a new structure into an existing cache.
-
-The initialization file can have any name, but is generally referred to as `cache.xml`. Both client applications and cache servers can use an optional `cache.xml` file to ease the initialization process.
-
-## <a id="file-basics__section_E54BF7911C224016B822768B537FA464" class="no-quick-link"></a>File Contents
-
-The contents of a declarative XML file correspond to APIs declared in the `Cache.hpp` and `Region.hpp` header files. The cache initialization file allows you to accomplish declaratively many of the cache management activities that you can program through the API.
-
--   The contents of the cache initialization file must conform to the XML definition in [http://geode.apache.org/schema/cache/cache-1.0.xsd](http://geode.apache.org/schema/cache/cache-1.0.xsd). This file identifies the valid element tags that may be present in your XML file, the attributes that correspond to each element, and the valid values for the elements and attributes.
--   The name of the declarative XML file is specified when establishing a connection to the distributed system. You can define it by setting the `cache-xml-file` configuration attribute in the `geode.properties` file for the client. For details about the `geode.properties` file, see [Setting System and Cache Properties](../setting-properties/chapter-overview.html).
-
-
-#  Example cache.xml File
-
-An example `cache.xml` file shows cache and region initialization for a client, presenting a subset of the possible data configurations.
-
-Specific information about cache and region attributes is in [Region Attributes](../client-cache/region-attributes.html).
-
-For information on using a cache with a server pool, see [Using Connection Pools](../connection-pools/connection-pools.html). The example below shows a `cache.xml` file that creates a region.
-
-``` pre
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE cache PUBLIC
-    "-//Example Systems, Inc.//Example Declarative Caching 1.0//EN"
-    "http://geode.apache.org/schema/cache/cache-1.0.xsd">
-<!-- Sample cache.xml file -->
-<!-- Example Declarative Cache Initialization with cache.xml -->
-<cache>
-    <pool name="examplePool" subscription-enabled="true">
-        <server host="localhost" port="24680" />
-    </pool>
-    <region name="root1" refid="CACHING_PROXY">
-        <region-attributes pool-name="examplePool"
-            initial-capacity="25"
-            load-factor="0.32"
-            concurrency-level="10"
-            lru-entries-limit="35">
-            <region-idle-time>
-                <expiration-attributes timeout="20" action="destroy"/>
-            </region-idle-time>
-            <entry-idle-time>
-                <expiration-attributes timeout="10" action="invalidate"/>
-            </entry-idle-time>
-            <region-time-to-live>
-                <expiration-attributes timeout="5" action="local-destroy"/>
-            </region-time-to-live>
-            <entry-time-to-live>
-                <expiration-attributes timeout="10" action="local-invalidate"/>
-            </entry-time-to-live>
-        </region-attributes>
-    </region>
-</cache>
-```
diff --git a/docs/geode-native-docs/client-cache/accessing-entries.html.md.erb b/docs/geode-native-docs/client-cache/accessing-entries.html.md.erb
deleted file mode 100644
index 5f13246..0000000
--- a/docs/geode-native-docs/client-cache/accessing-entries.html.md.erb
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title:  Accessing Entries
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="accessing-entries__section_310C0BE952BC489C9E97811DAE8736E4"></a>
-Use the API to retrieve the entry key, entry value, and the `RegionEntry` object itself. A variety of functions provide information for individual entries and for the set of all entries resident in the region.
-
-A region's entry keys and `RegionEntry` objects are directly available from the local cache. Applications can directly access the local cache's stored entry value through the `RegionEntry::getValue` function. The `getValue` function either returns the value if a valid value is present in the local cache, or `NULL` if the value is not valid locally. This function does no data loading, nor does it look elsewhere in the distributed system for a valid value.
-
-**Note:** Direct access through `RegionEntry::getValue` does not reset an entry's timestamp for LRU expiration. See [Specifying Expiration Attributes](expiration-attributes.html) for more information about LRU expiration.
-
-In comparison, the `Region::get` functions consider all caches and all applicable loaders in the distributed system in an attempt to return a valid entry value to the calling application. The primary attribute setting affecting entry retrieval is `CacheLoader`. See [Specifying Application Plug-In Attributes](application-plugins.html).
-
-The `Region::get` functions may implement more than one operation in order to retrieve a valid entry value. The operations used depend on the region's attribute settings and on the state of the entry itself. By default, the client retrieves entry values through calls to the `get` function. The client can override this behavior for any region by defining a cache loader for the region.
-
-The following sections discuss the `get` function and special considerations for entry retrieval.
-
-## <a id="accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372" class="no-quick-link"></a>Entry Retrieval
-
-Retrieve entry values with the `Region::get` function.
-
-When an entry value is requested from a region, it is either retrieved from the cache server or fetched by the region's locally-defined cache loader in this sequence:
-
-1.  local cache search
-2.  server cache
-3.  local load (For distributed regions, the local load is fetched before remote cache values)
-
-## <a id="accessing-entries__section_82B624FE364F4034AF010D20A8D0DF68" class="no-quick-link"></a>How the get Operation Affects the Local Entry Value
-
-If a `get` operation retrieves an entry value from outside the local cache through a local load, it automatically `put`s the value into the cache for future reference.
-
-Note that these load operations do not invoke a cache writer. Because the loader and writer operate against the same data source, you do not need to perform a cache write for entries that were just fetched from that data source. For descriptions of these processes, see the [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).
-
-**Note:** Access through a `get` operation resets an entry's timestamp for LRU expiration.
-
-## <a id="accessing-entries__section_F636614605C84513B2B7F4A674FD6E38" class="no-quick-link"></a>Getting Multiple Entries Using getAll
-
-You can use the `getAll` Region function to get all values for an array of keys from the local cache or cache server. Subsection [Bulk Put Operations Using putAll](../cpp-caching-api/add-entry-to-cache.html#concept_26D4E6C6BC6F4AB8884E33119999656D__section_748916759F0246619CD27E7456DCA365) has more information.
diff --git a/docs/geode-native-docs/client-cache/adding-entries-to-cache.html.md.erb b/docs/geode-native-docs/client-cache/adding-entries-to-cache.html.md.erb
deleted file mode 100644
index 283d999..0000000
--- a/docs/geode-native-docs/client-cache/adding-entries-to-cache.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  Adding Entries to the Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="adding-entries-to-cache__section_57CE90DC5C694CB79F05C943DE6F5E4B"></a>
-A region is populated with cached entries in several ways:
-
--   Explicitly, when an application executes a `create` or a `put` operation for a single entry or for multiple entries that do not already exist in the cache.
--   Implicitly, when a client does a get on a single entry or on multiple entries that do not already exist in the cache. In this case, the entry is retrieved from a remote cache or through a cache loader. 
-Read about cache loaders at [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).
-A client can also use `getAll` to populate a region with all values for an array of keys. See [Accessing Entries](accessing-entries.html).
--   Automatically, when entries are created in remote caches.
-
-If any cache writer is available in the distributed region, it is called before the entry is created and it can abort the creation process.
-
-## <a id="adding-entries-to-cache__section_873FFF2CAC804B8E9676AB8098CF2434" class="no-quick-link"></a>Adding Entries to the Local Cache
-
-If just the local cache is to be populated, you can either `create` an entry using the `localCreate` Region API, or `put` an entry using `localPut`.
-
-`DateTime` objects must be stored in the cache in UTC, so that times correspond between client and server. If you use a date with a different time zone, convert it when storing into and retrieving from the cache. This example converts a local time to UTC for a put operation:
-
-``` pre
-DateTime t1( 2009, 8, 13, 4, 11, 0, DateTimeKind.Local);
-region0.Put( 1, t1.ToUniversalTime() );
-```
-
-## <a id="adding-entries-to-cache__section_7CFEB263E2FE4775A3C9A29351A33911" class="no-quick-link"></a>Adding Multiple Entries Using PutAll
-
-If you need to add many cache entries to a region at one time, you can improve cache performance by using the `putAll` function to add them in a single distributed operation. Multiple key/value pairs are stored in a hashmap, then the hashmap contents are processed on the server as either new entries, updates, or invalidates for existing entries.
-
-Under [Adding an Entry to the Cache](../cpp-caching-api/add-entry-to-cache.html) see the subsection titled Bulk Put Operations Using putAll for more information about the `putAll` API.
diff --git a/docs/geode-native-docs/client-cache/application-plugins.html.md.erb b/docs/geode-native-docs/client-cache/application-plugins.html.md.erb
deleted file mode 100644
index 2269b12..0000000
--- a/docs/geode-native-docs/client-cache/application-plugins.html.md.erb
+++ /dev/null
@@ -1,278 +0,0 @@
----
-title: Application Plug-ins
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<a id="application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597" class="no-quick-link"></a>
-
-The API provides the framework for application plug-ins with callback functions for the appropriate events. Your classes and functions can customize these for your application's needs. When creating a region, specify these as part of the region's attributes settings. For regions already in the cache, you can specify new `CacheLoader`, `CacheWriter`, and `CacheListener` using the region's `AttributesMutator`. The `PartitionResolver` is not mutable.
-
--   `CacheLoader`: A data loader called when an entry get operation fails to find a value for a given key. A cache loader is generally used to retrieve data from an outside source such as a database, but it may perform any operation defined by the user. Loaders are invoked as part of the distributed loading activities for entry retrieval, described in [Entry Retrieval](accessing-entries.html#accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372).
--   `CacheWriter`: A synchronous event listener that receives callbacks before region events occur and has the ability to abort the operations. Writers are generally used to keep a back-end data source synchronized with the cache.
--   `CacheListener`: An asynchronous event listener for region events in the local cache.
--   `PartitionResolver`: Used for single-hop access to partitioned region entries on the server side. This resolver implementation must match that of the `PartitionResolver` on the server side.
-
-The following XML declaration specifies a cache loader for a region when the region is created.
-
-``` pre
-<region-attributes>
-    <cache-loader library-name="appl-lib"
-        library-function-name ="createCacheLoader">
-    </cache-loader>
-</region-attributes>
-```
-
-The rest of this section gives more detailed descriptions of these application plug-ins, followed by special considerations for plug-ins in distributed regions and some guidelines for writing callbacks.
-
-## <a id="application-plugins__section_FD3057C0416840BAB76850E115F48B5C" class="no-quick-link"></a>CacheLoader
-
-A cache loader is an application plug-in used to load data into the region. When an entry is requested that is unavailable in the region, a cache loader may be called upon to load it. Generally, you use a cache loader to retrieve the data from a database or another source outside the distributed system, but it may perform any operation defined by the user.
-
-The `CacheLoader` interface provides one function, `load`, for customizing region entry loading. A distributed region may have cache loaders defined in any or all caches where the region is defined. When loading an entry value, a locally defined cache loader is always used before a remote loader. In distributed regions, loaders are available for remote entry retrieval.
-
-## <a id="application-plugins__section_1754F575011742A59149FD280CEA0F16" class="no-quick-link"></a>CacheWriter
-
-A cache writer is an application plug-in that synchronously handles changes to a region's contents. It is generally used to keep back-end data sources synchronized with a cache region. A cache writer has callback functions to handle region destruction and entry creation, update, and destruction. These functions are all called before the modification has taken place and can abort the operation.
-
-You can also use cache writers to store data that you want to make persistent.
-
-## <a id="application-plugins__section_3F43B898CD254076B4DD777E9B4CC8F0" class="no-quick-link"></a>CacheListener
-
-A cache listener is an application plug-in that asynchronously handles changes to a region's contents. A cache listener has callback functions to handle region destruction and invalidation, along with entry creation, update, invalidation, and destruction. These functions are called asynchronously after the modification has taken place.
-
-This declarative XML example establishes a cache listener when a region is created:
-
-``` pre
-<region name="region11">
-    <region-attributes>
-        <cache-listener library-name="appl-lib"
-            library-function-name ="createCacheListener" />
-    </region-attributes>
-</region>
-```
-
-Unlike cache loaders and cache writers, cache listeners only receive events for entries to which the client has performed operations or registered interest.
-
-When the listener is attached to a region with caching disabled, the old value is always `NULL`.
-
-**Note:**
-Do not perform region operations inside the cache listener. Once you have configured a cache listener, the event supplies the new entry values to the application. Performing a get with a key from the `EntryEvent` can result in distributed deadlock. For more about this, see the API documentation for `EntryEvent`.
-
-When a region disconnects from a cache listener, you can implement the `afterRegionDisconnected` callback. This callback is only be invoked when using the `pool` API and `subscription` is enabled on the pool. For example:
-
-``` pre
-class DisconnectCacheListener : public CacheListener
-{
-    void afterRegionDisconnected( const RegionPtr& region )
-    {
-        printf("After Region Disconnected event received");
-    }
-};
-```
-
-## <a id="application-plugins__section_348E00A84F274D4B9DBA9ECFEB2F012E" class="no-quick-link"></a>PartitionResolver
-
-This section pertains to data access in server regions that have custom partitioning. Custom partitioning uses a Java `PartitionResolver` to colocate like data in the same buckets. For the client, you can use a `PartitionResolver` that matches the server's implementation to access data in a single hop. With single-hop data access, the client pool maintains information on where a partitioned region's data is hosted. When accessing a single entry, the client directly contacts the server th [...]
-
-**Note:**
-Single hop is used for the following operations: `put`, `get`, `destroy`, `putAll`, `getAll`, `removeAll` and `onRegion` function execution.
-
-**Implementing Single-Hop on a Partitioned Region**
-
-1.  Make sure the pool attribute, `pr-single-hop-enabled`, is set to `true` or not set. It is `true` by default.
-2.  If the server uses a custom `PartitionResolver` install an implementation of `PartitionResolver` in the client region that returns, entry for entry, the same value as the server's Java `PartitionResolver` implementation. The server uses the resolver to colocate like data within a partitioned region.
-
-    If the server does not use a custom resolver, the default resolvers in client and server match, so single hop will work there by default.
-
-Disable single hop behavior for a region by setting its pool attribute `pr-single-hop-enabled` to `false`.
-
-See [&lt;client-cache&gt; Element Reference](geodeman/reference/topics/client-cache.html) in the server's documentation for information on setting `pr-single-hop-enabled`.
-
-See the server documentation on [Partitioned Regions](geodeman/developing/partitioned_regions/chapter_overview.html) for more information, including colocating like data within a partitioned region and how to get the best performance with PR single hop.
-
-**Implementing a PartitionResolver**
-
-See the server documentation on [Custom-Partitioning and Colocating Data](geodeman/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html) for information on custom-partitioning the server partitioned regions.
-
-1.  Implement `PartitionResolver` in the same place that you did in the server--custom class, key, or cache callback argument.
-2.  Program the resolver's functions the same way you programmed them in the Java implementation. Your implementation must match the server's.
-
-    Example of programming the `PartitionResolver` in C++:
-
-    ``` pre
-    class TradeKeyResolver : public PartitionResolver
-    {
-    private:
-        string m_tradeID;
-        int m_month;
-        int m_year;
-    public:
-        TradeKeyResolver() { }
-        TradeKeyResolver(int month, int year) {
-            m_month = month;
-            m_year = year;
-        }
-
-        ~TradeKeyResolver() { }
-
-        static PartitionResolverPtr createTradeKeyResolver() {
-            PartitionResolverPtr tradeKeyResolver( new TradeKeyResolver());
-        return tradeKeyResolver;
-        }
-        const char* getName() {
-            return "TradeKey";
-        }
-        CacheableKeyPtr getRoutingObject(const EntryEvent& opDetails) {
-            return CacheableKey::create(m_month + m_year);
-        }
-    };
-    ```
-
-    Example of programming the `PartitionResolver` in C\#:
-
-    ``` pre
-    using System;
-    using System.Threading;
-    using Apache.Geode.Client;
-    class TradeKeyResolver : IPartitionResolver
-    {
-        private int m_month = 0;
-        private int m_year = 0;
-
-        public static TradeKeyResolver CreateTradeKeyResolver()
-        {
-            return new TradeKeyResolver();
-        }
-
-        public virtual ICacheableKey GetRoutingObject(EntryEvent entry)
-        {
-            return new CacheableInt32(m_month + m_year);
-        }
-
-        public virtual String GetName()
-        {
-            return "TradeKeyResolver";
-        }
-    }
-    ```
-
-3.  Install the resolver in the region. Use one of these methods:
-
-    XML partition resolver declaration:
-
-    ``` pre
-    <region name="trades" refid="CACHING_PROXY">
-        <region-attributes>
-            <partition-resolver library-name="appl-lib" library-function-name=
-            "createTradeKeyResolver"/>
-        </region-attributes>
-    </region>
-    <pool free-connection-timeout="12345" idle-timeout="5555"
-            load-conditioning-interval="23456" max-connections="7"
-            min-connections="3" name="test_pool_1" ping-interval="12345"
-            read-timeout="23456" retry-attempts="3" server-group="ServerGroup1"
-            socket-buffer-size="32768" statistic-interval="10123"
-            subscription-ack-interval="567" subscription-enabled="true"
-            subscription-message-tracking-timeout="900123"
-            subscription-redundancy="0" thread-local-connections="5"
-            pr-single-hop-enabled="true" >
-        <locator host="localhost" port="34756"/>
-    </pool>
-    ```
-
-    Programmatic partition resolver installation:
-
-    ``` pre
-    void setPartitionResolver()
-    {
-        CachePtr cachePtr = CacheFactory::createCacheFactory()->create();
-        PartitionResolverPtr resolver( new TradeKeyResolver());
-        RegionFactoryPtr regionFactory =
-            cachePtr->createRegionFactory(PROXY)
-            ->setClientNotificationEnabled(true)
-            ->setPartitionResolver(resolver);
-        RegionPtr regionPtr = regionFactory->create( "Trades" );
-    }
-    ```
-
-Your implementation of `PartitionResolver` must match that of the server side.
-
-## <a id="application-plugins__section_4EC30A57C37E4DDF83990A264D2C0284" class="no-quick-link"></a>Using AttributesMutator to Modify a Plug-In
-
-A cache listener, cache loader or cache writer can be added to or removed from a region after the region is created by retrieving and running the `Region` object's `AttributesMutator`. Mutable attributes define operations that are run from the client itself.
-
-This example shows how to use `AttributesMutator` to dynamically add a cache listener to an existing region.
-
-``` pre
-void setListener(RegionPtr& region)
-{
-    CacheListenerPtr regionListener = new TestCacheListener();
-    AttributesMutatorPtr regionAttributesMutator =
-        region->getAttributesMutator();
-
-    // Change cache listener for region.
-    regionAttributesMutator->setCacheListener(regionListener);
-}
-```
-
-The plug-ins can also be implemented using a dynamically linked library. The class is not available to the application code in this case, so a `factory` method is required by the `set` function along with the name of the library.
-
-This example shows how to use `AttributesMutator` along with the `setCacheListener` function to obtain a new cache listener object using the `factory` function provided by the library. Next, the listener is set for the region.
-
-``` pre
-void setListenerUsingFactory(RegionPtr& region)
-{
-    AttributesMutatorPtr regionAttributesMutator =
-    region->getAttributesMutator();
-
-    // Change cache listener for region.
-    regionAttributesMutator->setCacheListener("Library", "createTestCacheListener");
-}
-```
-
-To use `AttributesMutator` to remove a plug-in from a region, set the plug-in's value to `NULLPTR`, as shown in the following example.
-
-``` pre
-void removeListener(RegionPtr& region)
-{
-    CacheListenerPtr nullListener = NULLPTR;
-    AttributesMutatorPtr regionAttributesMutator =
-        region->getAttributesMutator();
-
-    // Change cache listener for region to NULLPTR
-    regionAttributesMutator->setCacheListener(nullListener);
-}
-```
-
-## <a id="application-plugins__section_428DCC57B6344603AA19DCAFCE483A10" class="no-quick-link"></a>Considerations for Implementing Callbacks
-
-Keep your callback implementations lightweight and prevent situations that might cause them to hang. For example, do not perform distribution operations or disconnects inside event handlers.
-
-Your code should handle any exceptions that it generates. If not, <%=vars.product_name%> handles them as well as possible. Because C++ has no standard for exceptions, in many cases <%=vars.product_name%> can only print an `unknown error` message.
-
-## <a id="application-plugins__section_E81DB00AE0784BA2819DB3683C257647" class="no-quick-link"></a>Specifying Application Plug-In Attributes
-
-The plug-in attributes allow you to customize client region behavior for loading, updating, deleting, and overflowing region data and for accessing data in server partitioned regions. All client plug-ins are available through the C++ and .NET API.
-
-Application plug-ins for cache regions in clients can be declared either programmatically or in the `cache.xml` file.
-
-
-<a id="application-plugins__fig_630074710E134805A96B50AA5373866F"></a>
-<span class="figtitleprefix">Figure: </span>Where Application Plug-Ins Run
-
-<img src="../images/client-cache-plugins-run.png" alt="Where Application Plug-Ins Run" class="image" />
diff --git a/docs/geode-native-docs/client-cache/cache-management.html.md.erb b/docs/geode-native-docs/client-cache/cache-management.html.md.erb
deleted file mode 100644
index 90694c2..0000000
--- a/docs/geode-native-docs/client-cache/cache-management.html.md.erb
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title:  Cache Management
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This section covers cache management.
-
-<a id="using-thread-safety__section_165DAD3CE6CA44D9A883FC91D4F09343"></a>
-
--   **[Client-to-Server Connection Process](client-to-server-connection.html)**
-
-    It is important to understand the sequence of events that occur when the client connects with a server.
-
--   **[Controlling Cache Size](controlling-cache-size.html)**
-
-    You can control cache size through region size limits, cache size limits, or a combination of the two.
-
--   **[Managing the Lifetime of a Cached Object](managing-lifetime-cached-object.html)**
-
-    All cacheable objects derive from `SharedBase` , which provides reference counting. Cacheable objects are referenced using `SharedPtr` types.
-
--   **[Using Thread Safety in Cache Management](using-thread-safety.html)**
-
-    When you perform structural changes on your cache, such as creating or closing a `Cache`, `Pool`, or `Region`, synchronize your operations or do them in a single thread.
-
--   **[Troubleshooting](troubleshooting.html)**
-
-    This section provides troubleshooting information for the client.
-
-
diff --git a/docs/geode-native-docs/client-cache/cache-ownership.html.md.erb b/docs/geode-native-docs/client-cache/cache-ownership.html.md.erb
deleted file mode 100644
index e8af29c..0000000
--- a/docs/geode-native-docs/client-cache/cache-ownership.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Local, Remote, and Distributed Caches
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The *distributed system* defines how client and server processes find each other.
-
-The distributed system keeps track of its membership list and makes its members aware of the identities of the other members in the distributed system.
-
-A cache within the client is referred to as its *local cache*. All other caches in the distributed system are considered *remote caches* to the application. Every cache server and application process has its own cache. The term *distributed cache* is used to describe the union of all caches in the distributed system.
-
-
diff --git a/docs/geode-native-docs/client-cache/caches.html.md.erb b/docs/geode-native-docs/client-cache/caches.html.md.erb
deleted file mode 100644
index 785c3f8..0000000
--- a/docs/geode-native-docs/client-cache/caches.html.md.erb
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title:  Caches
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The cache is the entry point to data caching in <%=vars.product_name%>. Through the cache, clients gain access to the <%=vars.product_name%> caching framework for data loading, distribution, and maintenance.
-
--   **[About the Client Cache](overview-client-cache.html)**
-
-    The cache consists of data regions, each of which can contain any number of entries. Region entries hold the cached data. Every entry has a key that uniquely identifies it within the region and a value where the data object is stored.
-
--   **[Cache APIs](caching-apis.html)**
-
-    The client has two cache APIs, `RegionService` and `Cache`.
-
--   **[Local, Remote, and Distributed Caches](cache-ownership.html)**
-
-    The *distributed system* defines how client and cache server processes find each other.
-
--   **[Creating and Accessing a Cache](create-access-cache.html)**
-
-    When you create a client cache, you are creating a client cache instance. You must provide some basic configuration information such as a connection name and cache initialization parameters for the client's cache instance.
-
--   **[Closing the Cache](closing-cache.html)**
-
-    Use the `Cache::close` function to release system resources when you finish using the cache.
-
-
diff --git a/docs/geode-native-docs/client-cache/caching-apis.html.md.erb b/docs/geode-native-docs/client-cache/caching-apis.html.md.erb
deleted file mode 100644
index 1a33d67..0000000
--- a/docs/geode-native-docs/client-cache/caching-apis.html.md.erb
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title:  Cache APIs
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The client has two cache APIs, `RegionService` and `Cache`.
-
-## <a id="caching-apis__section_8F81996678B64BBE94EF352527F7F006" class="no-quick-link"></a>RegionService API
-
-`RegionService` provides:
-
--   Access to existing cache regions.
--   Access to the query service for the cache, which sends queries to the servers. See [Remote Querying](../remote-querying/remote-querying.html) and [Continuous Querying](../continuous-querying/continuous-querying.html).
-
-`RegionService` is inherited by `Cache`.
-
-You do not use instances of `RegionService` except for secure client applications with many users. See [Creating Multiple Secure User Connections with RegionService](../security/createsecureconnregionservice.html).
-
-## <a id="caching-apis__section_403383B9B5044A939A89A5BBB4915452" class="no-quick-link"></a>Cache API
-
-Use the `Cache` to manage your client caches. You have one `Cache` per client.
-
-The `Cache` inherits `RegionService` and adds management of these client caching features:
-
--   Region creation.
--   Subscription keepalive management for durable clients.
--   Access to the underlying distributed system.
--   `RegionService` creation for secure access by multiple users.
-
diff --git a/docs/geode-native-docs/client-cache/caching-enabled.html.md.erb b/docs/geode-native-docs/client-cache/caching-enabled.html.md.erb
deleted file mode 100644
index 7160756..0000000
--- a/docs/geode-native-docs/client-cache/caching-enabled.html.md.erb
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title:  CachingEnabled
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This attribute determines whether data is cached in this region. For example, you might choose to configure the distributed system as a simple messaging service where clients run without a cache.
-
-**Note:**
-You can configure the most common of these options with the predefined region attributes. See [Region Shortcuts](region-shortcuts.html#region-shortcuts) and the Javadocs for `RegionShortcut`.
-
-If `CachingEnabled` is false (no caching), an `IllegalStateException` is thrown if any of these attributes are set:
-
--   [InitialCapacity](initial-capacity.html#initial-capacity)
--   `EntryTimeToLive` under [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes)
--   `EntryIdleTimeout` under [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes)
--   [LoadFactor](load-factor.html#load-factor)
--   [ConcurrencyLevel](concurrency-level.html#concurrency-level)
--   [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A)
--   [DiskPolicy](disk-policy.html#disk-policy)
-
-The following declaration enables caching for the region:
-
-``` pre
-<region-attributes caching-enabled="true"> 
-</region-attributes>
-```
-
-
diff --git a/docs/geode-native-docs/client-cache/chapter-overview.html.md.erb b/docs/geode-native-docs/client-cache/chapter-overview.html.md.erb
deleted file mode 100644
index 15ba5bf..0000000
--- a/docs/geode-native-docs/client-cache/chapter-overview.html.md.erb
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title:  Configuring the Native Client Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This section describes the client cache functionality, initialization file, and APIs. It provides information about creating and working with caches, cache regions, and region entries.
-
-The client cache provides a framework for clients to store, manage, and distribute application data.
-
--   **[Caches](caches.html)**
-
-    The cache is the entry point to data caching in <%=vars.product_name%>. Through the cache, clients gain access to the <%=vars.product_name%> caching framework for data loading, distribution, and maintenance.
-
--   **[Cache Initialization File (cache.xml)](../cache-init-file/chapter-overview.html)**
-
-    To ease the task of managing the structure of the cache, you can define the default <%=vars.product_name%> cache structure in an XML-based initialization file.
-
--   **[Regions](regions.html)**
-
-    You create cache regions either programmatically or through declarative statements in the `cache.xml` file. Generally, a cache is organized and populated through a combination of the two approaches.
-
--   **[Region Entries](entries.html)**
-
-    Region entries hold cached application data. Entries are automatically managed according to region attribute settings.
-
--   **[Region Consistency](consistency-checking-in-regions.html)**
-
-    <%=vars.product_name%> ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region.
-
--   **[Region Attributes](region-attributes.html)**
-
-    Region attributes govern the automated management of a region and its entries.
-
--   **[Cache Management](cache-management.html)**
-
-    This section covers cache management.
-
-
diff --git a/docs/geode-native-docs/client-cache/client-to-server-connection.html.md.erb b/docs/geode-native-docs/client-cache/client-to-server-connection.html.md.erb
deleted file mode 100644
index b0d2475..0000000
--- a/docs/geode-native-docs/client-cache/client-to-server-connection.html.md.erb
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title:  Client-to-Server Connection Process
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-It is important to understand the sequence of events that occur when the client connects with a server.
-
-<a id="client-to-server-connection__section_C1E805D842FD44B984041C2ED1D4C2EF"></a>
-
-1.  A client region is configured in `cache.xml` or programmatically with a set of server connection endpoints. Server endpoints identify each cache server by specifying the server's name and port number.
-
-    Client threads obtain, use, and release a connection to a connection pool that maintains new connections. The number of connections that a client can establish is governed by the pool's `min-connections` and `max-connections` settings, either using client XML configuration or programmatically through the `CacheFactory::setMinConnections()` and `CacheFactory::setMaxConnections()` functions. The defaults for `min-connections` is 1 and `max-connections` is -1 meaning the connection coun [...]
-
-    This example shows how to use `cache.xml` to configure a client region with endpoints set to two cache servers:
-
-    ``` pre
-    <pool name="examplePool" subscription-enabled="true" >
-        <server host="java_servername1" port="java_port1" />
-        <server host="java_servername2" port="java_port2" />
-    </pool>
-    <region name="ClientRegion" refid="CACHING_PROXY">
-        <region-attributes pool-name="examplePool"/>
-    </region>
-    ```
-    TCP connections on the client are specified at the cache level, or by overriding endpoints for specific regions. The connections are created as the regions are created. In addition, connections can also get created for querying without having any created regions. In this case, when endpoints are defined at the cache level no regions are yet created and a query is fired.
-
-    You can configure client-server connections in two ways. Use either the region/cache endpoints or the Pool API. For more information about the pool API, see [Using Connection Pools](../connection-pools/connection-pools.html).
-
-2.  The client announces to the server which entries it wishes to have updated by programmatically registering interest in those entries. See [Registering Interest for Entries](registering-interest-for-entries.html) for more information.
-
-3.  The client `cache.xml` file should have the following parameters configured so the client can update the server and the client can receive updates from the server:
-    -   Caching enabled in the client region, by using the `CACHING_PROXY RegionShortcut` setting in the region attribute `refid`. A listener could also be defined so event notification occurs. You can use both, but at least one of the two methods must be used by the client to receive event notifications.
-    -   Set `subscription-enabled` to `true` so the client receives update notifications from the server for entries to which it has registered interest.
-
-4.  A client application calls the C++ or .NET API to connect to a cache server.
-5.  The client and the cache server exchange a handshake over a configured endpoint to create a connection.
-6.  Any `create`, `put`, `invalidate`, and `destroy` events sent to the server are propagated across the distributed cache so the client can receive the events.
-
-**Note:**
-You may be able to improve system performance by making adjustments to the cache server.
diff --git a/docs/geode-native-docs/client-cache/closing-cache.html.md.erb b/docs/geode-native-docs/client-cache/closing-cache.html.md.erb
deleted file mode 100644
index c795d95..0000000
--- a/docs/geode-native-docs/client-cache/closing-cache.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Closing the Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Use the `Cache::close` function to release system resources when you finish using the cache.
-
-After the cache is closed, any further method calls on the cache or any region object result in a `CacheClosedException`.
-
-If the cache is in a durable client, you need to use the `keepalive` version of the close method. See [Disconnecting From the Server](../preserving-data/disconnecting-from-server.html).
-
-
diff --git a/docs/geode-native-docs/client-cache/concurrency-checks-enabled.html.md.erb b/docs/geode-native-docs/client-cache/concurrency-checks-enabled.html.md.erb
deleted file mode 100644
index 3c85c50..0000000
--- a/docs/geode-native-docs/client-cache/concurrency-checks-enabled.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  ConcurrencyChecksEnabled
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This attribute determines whether members perform checks to provide consistent handling for concurrent or out-of-order updates to distributed regions.
-
-A client cache can disable consistency checking for a region even if server caches enable consistency checking for the same region. This configuration ensures that the client sees all events for the region, but it does not prevent the client cache region from becoming out-of-sync with the server cache.
-
-Optionally enable concurrency checks for the region. Example:
-
-``` pre
-<region-attributes concurrency-checks-enabled="true"> 
-</region-attributes>
-```
-
-See [Region Consistency](consistency-checking-in-regions.html) for more information.
-
-
diff --git a/docs/geode-native-docs/client-cache/concurrency-level.html.md.erb b/docs/geode-native-docs/client-cache/concurrency-level.html.md.erb
deleted file mode 100644
index 66fa016..0000000
--- a/docs/geode-native-docs/client-cache/concurrency-level.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  ConcurrencyLevel
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="concurrency-level__section_20FB0B9EEE9442BAAD87E3C488610866"></a>
-This attribute estimates the maximum number of application threads that concurrently access a region entry at one time. This attribute helps optimize the use of system resources and reduce thread contention.
-
-The following declaration sets the region's `ConcurrencyLevel` to `16`:
-
-``` pre
-<region-attributes concurrency-level="16">
-</region-attributes>
-```
-
-**Note:**
-When `CachingEnabled` is `false`, do not set the `ConcurrencyLevel` attribute. An `IllegalStateException` is thrown if the attribute is set.
-
-
diff --git a/docs/geode-native-docs/client-cache/consistency-checking-in-regions.html.md.erb b/docs/geode-native-docs/client-cache/consistency-checking-in-regions.html.md.erb
deleted file mode 100644
index 84bc252..0000000
--- a/docs/geode-native-docs/client-cache/consistency-checking-in-regions.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Region Consistency
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<%=vars.product_name%> ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region.
-
-By default <%=vars.product_name%> members perform consistency checks when they apply updates to a distributed region, in order to ensure that all copies of the region eventually become consistent on all <%=vars.product_name%> members and client caches that host the region. Different types of region ensure consistency using different techniques. However, when consistency checking is enabled (the default) all entries in a region require additional overhead in order to store version and tim [...]
-
-Although a region must have the same consistency checking configuration on all <%=vars.product_name%> members that host the region, you can optionally disable consistency checking in a client cache region while leaving consistency checking enabled for the region on <%=vars.product_name%> members. This configuration may be necessary in certain cases where the client must view all updates to a given region, even when <%=vars.product_name%> members discards an update in order to preserve re [...]
-
-See [Consistency for Region Updates](geodeman/developing/distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045) in the server's documentation for more information.
-
-## <a id="concept_77340A4999AC4861972A0EE10303E557__section_167CD194A5374C64B4064783490F3EA8" class="no-quick-link"></a>Client Overhead for Consistency Checks
-
-In the client regions, the overhead for performing consistency check is an additional 11 bytes per region entry. This overhead is slightly smaller than the overhead required to provide consistency checking on server-side region entries.
-
-If you cannot support the additional overhead in your deployment, you can disable consistency checks by setting the region attribute `concurrency-checks-enabled` to false for each region hosted by your client.
diff --git a/docs/geode-native-docs/client-cache/controlling-cache-size.html.md.erb b/docs/geode-native-docs/client-cache/controlling-cache-size.html.md.erb
deleted file mode 100644
index 52cce63..0000000
--- a/docs/geode-native-docs/client-cache/controlling-cache-size.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Controlling Cache Size
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You can control cache size through region size limits, cache size limits, or a combination of the two.
-
-<a id="controlling-cache-size__section_A0C25D6D1D5243778800AE67CAD8CB2C"></a>
-<%=vars.product_name%> controls region size by moving least recently used (LRU) entries from the region or from all cache regions.
-
-## <a id="controlling-cache-size__section_3C7994A4C9D9468F860D99C0ED086D74" class="no-quick-link"></a>Controlling Region Size
-
-You can cap the size of any region with the region attribute [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A). You can specify whether to destroy the entries or overflow them to disk in the attribute [DiskPolicy](disk-policy.html#disk-policy). If you overflow entries to disk, you must also specify the attribute [PersistenceManager](persistence-manager.html#persistence-manager).
-
-## <a id="controlling-cache-size__section_E59CA4D5724147DC83E8991E654AC155" class="no-quick-link"></a>Controlling Cache Size
-
-You can control overall cache size with the [heap-lru-limit](../setting-properties/propfile-attributes.html#attributes-gfcpp), which is set in `geode.properties`. This property sets the maximum amount of memory used for the cache, in megabytes. If a new entry causes memory to grow past this limit, the LRU algorithm is called to evict entries. Heap LRU causes eviction to occur on all regions in the cache, overriding region-level [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E0 [...]
-
-For each region, evictions are performed according to the region's `DiskPolicy` and `PersistenceManager` settings. If you use `heap-lru-limit`, review these region attributes for all your caching regions, to be sure you are evicting the way you want to.
-
-The related [heap-lru-delta](../setting-properties/propfile-attributes.html#attributes-gfcpp) property, also set in `geode.properties`, is the amount of memory to free up once the LRU evictions have begun. Memory is reclaimed until the amount of memory used is below `heap-lru-limit` minus `heap-lru-delta`.
diff --git a/docs/geode-native-docs/client-cache/create-access-cache.html.md.erb b/docs/geode-native-docs/client-cache/create-access-cache.html.md.erb
deleted file mode 100644
index 215b6a8..0000000
--- a/docs/geode-native-docs/client-cache/create-access-cache.html.md.erb
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title:  Creating and Accessing a Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-When you create a client cache, you are creating a client cache instance. You must provide some basic configuration information such as a connection name and cache initialization parameters for the client's cache instance.
-
-When you create a cache, you provide the following input:
-
--   **Connection name**. Used in logging to identify both the distributed system connection and the cache instance. If you do not specify a connection name, a unique (but non-descriptive) default name is assigned.
--   **`cache.xml` to initialize the cache (if the initialization is not done programmatically)**. To modify the cache structure, edit `cache.xml` in your preferred text editor. No changes to the application code are required. If you do not specify a `cache.xml` file, you need to initialize the cache programmatically.
-
-The `cache.xml` file contains XML declarations for cache, region, and region entry configuration.
-
-This XML declares server connection pools and regions:
-
-``` pre
-<cache>
-  <region name="clientRegion1" refid="PROXY">
-    <region-attributes pool-name="serverPool1"/>
-  </region>
-  <region name="clientRegion2" refid="PROXY">
-    <region-attributes pool-name="serverPool2"/>
-  </region>
-  <region name="localRegion3" refid="LOCAL"/>
-  <pool name="serverPool1">
-    <locator host="host1" port="40404"/>
-  </pool>
-  <pool name="serverPool2">
-    <locator host="host2" port="40404"/>
-  </pool>
-</cache>
-    
-```
-
-When you use the regions, the client regions connect to the servers through the pools named in their configurations.
-
-This file can have any name, but is generally referred to as `cache.xml` .
-
-For a list of the parameters in the `cache.xml` file, including the XSD, see [Cache Initialization File](../cache-init-file/chapter-overview.html).
-
-To create your cache, call the `CacheFactory create` function.
-The `cache` object it returns gives access to the client caching API. For example:
-
-``` pre
-CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-CachePtr cachePtr = cacheFactory->create();
-    
-```
-
-**Note:** For more information on how to create a cache for C++ clients, see [Creating a Cache](../cpp-caching-api/creating-cache.html), or for .NET clients, see [Creating a Cache](../dotnet-caching-api/creating-a-cache.html).
-
-
diff --git a/docs/geode-native-docs/client-cache/declarative-region-creation.html.md.erb b/docs/geode-native-docs/client-cache/declarative-region-creation.html.md.erb
deleted file mode 100644
index ab07b5d..0000000
--- a/docs/geode-native-docs/client-cache/declarative-region-creation.html.md.erb
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title:  Declarative Region Creation
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Declarative region creation involves placing the region's XML declaration, with the appropriate attribute settings, in the `cache.xml` file that is loaded at cache creation.
-
-**Note:**
-Before creating a region, specify region attributes. See [Region Attributes](region-attributes.html).
-
-Regions are placed inside the cache declaration in `region` elements. For example:
-
-``` pre
-<cache>
-  <pool name="examplePool" subscription-enabled="true" >
-    <server host="localhost" port="40404" />
-  </pool>
-  <region name="A" refid="PROXY">
-    <region-attributes pool-name="examplePool"/>
-  </region>
-  <region name="A1">
-    <region-attributes refid="PROXY" pool-name="examplePool"/>
-  </region>
-  <region name="A2" refid="CACHING_PROXY">
-    <region-attributes pool-name="examplePool">
-      <region-time-to-live>
-        <expiration-attributes timeout="120" action="invalidate"/>
-      </region-time-to-live>
-    </region-attributes>
-  </region>
-</cache>
-    
-```
-
-The `cache.xml` file contents must conform to the XML described at [http://geode.apache.org/schema/cache/cache-1.0.xsd](http://geode.apache.org/schema/cache/cache-1.0.xsd). For details, see [Cache Initialization File](../cache-init-file/chapter-overview.html).
-
diff --git a/docs/geode-native-docs/client-cache/disk-policy.html.md.erb b/docs/geode-native-docs/client-cache/disk-policy.html.md.erb
deleted file mode 100644
index 3121fb5..0000000
--- a/docs/geode-native-docs/client-cache/disk-policy.html.md.erb
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title:  DiskPolicy
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="disk-policy__section_F3A921FC67B44DD795BD9B5C180FCBB1"></a>
-If the `lru-entries-limit` attribute is greater than zero, the optional `disk-policy` attribute determines how over-limit LRU entries are handled. LRU entries over the limit are either destroyed by default (`disk-policy` is none ) or written to disk (`overflows`).
-
-**Note:**
-If `LruEntriesLimit` is `0`, or `CachingEnabled` is `false`, do not set the `disk-policy` attribute. An `IllegalStateException` is thrown if the attribute is set.
-
-This declaration causes LRU to overflow to disk:
-
-``` pre
-<region-attributes lru-entries-limit="20000"
-    disk-policy="overflows">
-  <persistence-manager ... />
-</region-attributes>
-```
-
-Overflow requires a persistence manager for cache-to-disk and disk-to-cache operations. See [PersistenceManager](persistence-manager.html#persistence-manager).
-
-## <a id="disk-policy__section_FE325E59644149ACA43DA2ABB4CF0F7A" class="no-quick-link"></a>Overflowing Data to Disk
-
-Region data can be stored to disk using the overflow process to satisfy region capacity restrictions without completely destroying the local cache data. The storage mechanism uses disk files to hold region entry data. When an entry is overflowed, its value is written to disk but its key and entry object remain in the cache. This also uses the region attribute [DiskPolicy](disk-policy.html#disk-policy).
-
-Overflow allows you to keep the region within a user-specified size in memory by relegating the values of least recently used (LRU) entries to disk. Overflow essentially uses disk as a swap space for entry values. When the region size reaches the specified threshold, entry values are moved from memory to disk, as shown in the following figure. If an entry is requested whose value is only on disk, the value is copied back into memory, possibly causing the value of a different LRU entry to [...]
-
-<a id="disk-policy__fig_67963EC3BDD64272BBDAD9517E1D78A0"></a>
-
-<span class="figtitleprefix">Figure: </span>Data Flow Between Overflow Region and Disk Files
-
-<img src="../common/images/client-cache-data-flow.gif" alt="Data Flow Between Overflow Region and Disk Files" id="disk-policy__image_687021ECD97A40FB843DBDE59C555384" class="image" />
-
-In this figure the value of the LRU entry X has been moved to disk to recover space in memory. The key for the entry remains in memory. From the distributed system perspective, the value on disk is as much a part of the region as the data in memory. A `get` performed on region B looks first in memory and then on disk as part of the local cache search.
diff --git a/docs/geode-native-docs/client-cache/entries.html.md.erb b/docs/geode-native-docs/client-cache/entries.html.md.erb
deleted file mode 100644
index 6e1699c..0000000
--- a/docs/geode-native-docs/client-cache/entries.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Region Entries
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Region entries hold cached application data. Entries are automatically managed according to region attribute settings.
-
-You can create, update, invalidate, and destroy entries through explicit API calls or through operations distributed from other caches.
-
-When the number of entries is very large, a partitioned region can provide the required data management capacity if the total size of the data is greater than the heap in any single JVM.
-
-When an entry is created, a new object is instantiated in the region containing:
-
--   The entry key.
--   The entry value. This is the application data object. The entry value may be set to `NULL`, which is the equivalent of an invalid value.
-
-Entry operations invoke callbacks to user-defined application plug-ins. In this chapter, the calls that may affect the entry operation itself (by providing a value or aborting the operation, for example) are highlighted, but all possible interactions are not listed. For details of plug-ins, see the [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).
-
-`DateTime` objects must be stored in the cache in UTC, so that times correspond between client and server. If you use a date with a different time zone, convert it when storing into and retrieving from the cache.
-
-
diff --git a/docs/geode-native-docs/client-cache/expiration-attributes.html.md.erb b/docs/geode-native-docs/client-cache/expiration-attributes.html.md.erb
deleted file mode 100644
index a2875a8..0000000
--- a/docs/geode-native-docs/client-cache/expiration-attributes.html.md.erb
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title:  Specifying Expiration Attributes
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="expiration-attributes__section_4901B92DE7EB408F81792920C9E4ED7C"></a>
-Expiration attributes govern the automatic eviction of regions and region entries from the cache. Eviction is based on the time elapsed since the last update or access to the object. This is referred to as the least-recently-used (LRU) eviction process. Expiration options range from marking the expired object as invalid to completely removing it from the distributed cache. Eviction can help keep data current by removing outdated entries, prompting a reload the next time they are requeste [...]
-
-Similar to application plug-ins, expiration activities are hosted by each application that defines a region in its cache.
-
-The following example shows a declaration that causes the region's entries to be invalidated in the local cache after they have not been accessed for one minute.
-
-``` pre
-<region-attributes>
-    <entry-idle-time>
-        <expiration-attributes timeout="60" action="local-invalidate"/>
-    </entry-idle-time>
-</region-attributes>
-```
-
-Region and region entry expiration attributes are set at the region level. By default, regions and entries do not expire. The following attributes cover two types of expiration: time-to-live (TTL) and idle timeout.
-
-<table>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">RegionTimeToLive</code></td>
-<td>Number of seconds that the region remains in the cache after the last creation or update before the expiration action occurs.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">EntryTimeToLive</code></td>
-<td>For entries, the counter is set to zero for <code class="ph codeph">create</code> and <code class="ph codeph">put</code> operations. Region counters are reset when the region is created and when an entry has its counter reset. An update to an entry causes the time-to-live (TTL) counters to be reset for the entry and its region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">RegionIdleTimeout</code></td>
-<td>Number of seconds that the region remains in the cache after the last access before the expiration action occurs.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">EntryIdleTimeout</code></td>
-<td>The idle timeout counter for an object is reset when its TTL counter is reset. An entry's idle timeout counter is also reset whenever the entry is accessed through a <code class="ph codeph">get</code> operation.
-<p>The idle timeout counter for a region is reset whenever the idle timeout is reset for one of its entries.</p></td>
-</tr>
-</tbody>
-</table>
-
-## <a id="expiration-attributes__section_F338C1117B7B44398F59523B881EDD55" class="no-quick-link"></a>Using Statistics to Measure Expiration
-
-Expiration is measured by comparing expiration attribute settings with the last accessed time and last modified time statistics. These statistics are directly available to applications through the `CacheStatistics` object that is returned by the `Region::getStatistics` and `RegionEntry::getStatistics` functions. The `CacheStatistics` object also provides a function for resetting the statistics counters.
-
-## <a id="expiration-attributes__section_6B402F97ECD8492A8798AC838D0BB606" class="no-quick-link"></a>Expiration Actions
-
-You can specify one of the following actions for each expiration attribute:
-
--   **Destroy**. Removes the object completely from the cache. For regions, all entries are destroyed as well. Destroy actions are distributed according to the region's distribution settings.
--   **Invalidate**. Marks the object as invalid. For entries, the value is set to `NULL`. You invalidate a region by invalidating all its entries. Invalidate actions are distributed according to the region's distribution settings. When an entry is invalid, a `get` causes the cache to retrieve the entry according to the steps described in [Entry Retrieval](accessing-entries.html#accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372).
--   **Local destroy**. Destroys the object in the local cache but does not distribute the operation.
--   **Local invalidate**. Invalidates the object in the local cache but does not distribute the operation.
-    **Note:**
-    Destruction and invalidation cause the same event notification activities whether carried out explicitly or through expiration activities.
-
-## <a id="expiration-attributes__section_57F5B32CE9B34F29907E8697F51817F9" class="no-quick-link"></a>Region Expiration
-
-Expiration activities in distributed regions can be distributed or performed only in the local cache. So one cache could control region expiration for a number of caches in the distributed system.
diff --git a/docs/geode-native-docs/client-cache/getting-the-region-size.html.md.erb b/docs/geode-native-docs/client-cache/getting-the-region-size.html.md.erb
deleted file mode 100644
index 2f96133..0000000
--- a/docs/geode-native-docs/client-cache/getting-the-region-size.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Getting the Region Size
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The `Region` API provides a `size` method (`Size` property for .NET) that gets the size of a region.
-
-For client regions, this gives the number of entries in the local cache, not on the servers.
-
-See the `Region` API documentation for details.
-
-
diff --git a/docs/geode-native-docs/client-cache/initial-capacity.html.md.erb b/docs/geode-native-docs/client-cache/initial-capacity.html.md.erb
deleted file mode 100644
index 5763216..0000000
--- a/docs/geode-native-docs/client-cache/initial-capacity.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  InitialCapacity
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="initial-capacity__section_AB0163B072DA4DA0B858293CA02E91A1"></a>
-Use this attribute, together with the `LoadFactor` attribute, to set the initial parameters on the underlying hashmap that stores region entries. This is the number of entries that the region map will be ready to hold when it is created.
-
-This declaration sets the region's initial capacity to `10000`:
-
-``` pre
-<region-attributes initial-capacity="10000">
-</region-attributes>
-```
-
-
diff --git a/docs/geode-native-docs/client-cache/invalidating-cached-entries.html.md.erb b/docs/geode-native-docs/client-cache/invalidating-cached-entries.html.md.erb
deleted file mode 100644
index 40e71a2..0000000
--- a/docs/geode-native-docs/client-cache/invalidating-cached-entries.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Invalidating or Destroying Cached Entries
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="invalidating-cached-entries__section_9244FABA5204452A8D25D1184310B7EE"></a>
-Invalidating an entry sets the entry's value to `NULL`. Destroying it removes the entry from the region altogether. These operations can be carried out in the local cache in the following ways:
-
--   Through direct API calls from the client.
--   Through expiration activities based on the entry's statistics and the region's attribute settings.
-
-**Note:**
-A user-defined cache writer is called before an operation is completed, and can abort an entry destroy operation.
-
-Whether carried out explicitly or through expiration activities, invalidation and destruction cause event notification: The `CacheEvent` object has an `isExpiration` flag that is set to true for events resulting from expiration activities, and set to `false` for all other events.
-
-
diff --git a/docs/geode-native-docs/client-cache/invalidating-region.html.md.erb b/docs/geode-native-docs/client-cache/invalidating-region.html.md.erb
deleted file mode 100644
index b45dcb1..0000000
--- a/docs/geode-native-docs/client-cache/invalidating-region.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Invalidating and Destroying Regions
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Invalidation marks all entries contained in the region as invalid (with null values). Destruction removes the region and all of its contents from the cache.
-
-<a id="invalidating-region__section_6F7E304D1D5743F1B53FCBD4F82651D0"></a>
-You can execute these operations explicitly in the local cache in the following ways:
-
--   Through direct API calls from the client.
--   Through expiration activities based on the region's statistics and attribute settings.
-
-In either case, you can perform invalidation and destruction as a local or a distributed operation.
-
--   A local operation affects the region only in the local cache.
--   A distributed operation works first on the region in the local cache and then distributes the operation to all other caches where the region is defined. This is the proper choice when the region is no longer needed, or valid, for any application in the distributed system.
--   If the region on the server is configured as a partitioned region, it cannot be cleared using API calls from the client.
-
-A user-defined cache writer can abort a region destroy operation. Cache writers are synchronous listeners with the ability to abort operations. If a cache writer is defined for the region anywhere in the distributed system, it is invoked before the region is explicitly destroyed.
-
-Region invalidation and destruction can cause other user-defined application plug-ins to be invoked as well. These plug-ins are described in detail in the [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).
-
-
-Whether carried out explicitly or through expiration activities, invalidation and destruction cause event notification.
-
-
diff --git a/docs/geode-native-docs/client-cache/load-factor.html.md.erb b/docs/geode-native-docs/client-cache/load-factor.html.md.erb
deleted file mode 100644
index 12f2513..0000000
--- a/docs/geode-native-docs/client-cache/load-factor.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  LoadFactor
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="load-factor__section_D4102F0D396E4E2DA05654A20FA0723D"></a>
-Use this attribute, together with the `InitialCapacity` attribute, to set the initial parameters on the underlying hashmap that stores region entries. When the number of entries in the map exceeds the `LoadFactor` times current capacity, the capacity is increased and the map is rehashed. You get the best performance if you configure a properly sized region at the start and do not have to rehash it.
-
-This declaration sets the region's load factor to `0.75` :
-
-``` pre
-<region-attributes load-factor="0.75">
-</region-attributes>
-```
-
-
diff --git a/docs/geode-native-docs/client-cache/lru-entries-limit.html.md.erb b/docs/geode-native-docs/client-cache/lru-entries-limit.html.md.erb
deleted file mode 100644
index 2acb215..0000000
--- a/docs/geode-native-docs/client-cache/lru-entries-limit.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  LruEntriesLimit
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="concept_75D723D60E044FF9AE97C939699AB10A__section_B0174EA802CB47C9981EF3BDF4B7D169"></a>
-This attribute sets the maximum number of entries to hold in a caching region. When the capacity of the caching region is exceeded, a least-recently-used (LRU) algorithm is used to evict entries.
-
-**Note:**
-This is a tuning parameter that affects system performance.
-
-When eviction is configured, memory consumption or entry count is monitored and, when capacity is reached, <%=vars.product_name%> makes way for new entries by removing or overflowing the stalest LRU entries to disk.
-
-If you use disk data overflow to supplement memory for your data cache, make sure you have enough disk space to store the data.
-
-This declaration limits the region to 20,000 entries:
-
-``` pre
-<region-attributes lru-entries-limit="20000"
-     initial-capacity="20000"
-     load-factor="1">
-</region-attributes>
-```
-
-Evicted entries can be destroyed or moved to disk as an extension of the cache. See [DiskPolicy](disk-policy.html#disk-policy).
-
-**Note:**
-When `CachingEnabled` is `false`, do not set the `LruEntriesLimit` attribute. An `IllegalStateException` is thrown if the attribute is set.
-
-See also [Controlling Cache Size](controlling-cache-size.html).
-
-
diff --git a/docs/geode-native-docs/client-cache/managing-lifetime-cached-object.html.md.erb b/docs/geode-native-docs/client-cache/managing-lifetime-cached-object.html.md.erb
deleted file mode 100644
index 38832af..0000000
--- a/docs/geode-native-docs/client-cache/managing-lifetime-cached-object.html.md.erb
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title:  Managing the Lifetime of a Cached Object
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-All cacheable objects derive from `SharedBase` , which provides reference counting. Cacheable objects are referenced using `SharedPtr` types.
-
-<a id="managing-lifetime-cached-object__section_5F8E6FE4F9AB4C658516DB0D31DD4FF8"></a>
-When `SharedPtr` retrieves a cached object, the object remains alive as long as that pointer or the cache itself references the object.
-
-A client may have many pointers that reference an object. Regardless of how many pointers to the object are deleted, the object remains alive until the last remaining pointer is deleted. At that point the object is deleted.
-
-This is a very simple example:
-
-``` pre
-CacheableStringPtr p = CacheableString::create("string");
-region.put("key", p) ;
-```
-
-In the example:
-
--   The act of object creation allocates memory and initializes the object.
--   When you assign the object to a `SharedPtr`, you relinquish control of the lifetime of that object to the reference counting mechanism for the cache.
--   The put operation does not actually copy the object into the cache. Rather, it copies a `SharedPtr` into the cache's hashmap. Consequently, the object remains alive in the cache when the original `SharedPtr` goes away.
-
-The client can make use of an object after you have initialized the object. For example, another `SharedPtr` might issue a `get` to retrieve the object from the cache:
-
-``` pre
-CacheableStringPtr p2 = region.get("key");
-```
-
-Because `p` (the original `SharedPtr`) and `p2` point to the same object in memory, it is possible under some circumstances for multiple `SharedPtr` types to work on the same object in data storage.
-
-**Note:**
-Once you have put an object into the cache, do not delete it explicitly. Attempting to do so can produce undesirable results.
-
-## <a id="managing-lifetime-cached-object__section_8753DE6DF3864BEC806D39F623CBE3E0" class="no-quick-link"></a>Changed Objects
-
-If an object update is received, the cache no longer holds the same object. Rather, it holds a completely different instance of the object. The client does not see the updates until it calls a `get` to fetch the object again from the local cache, or (in a cache plug-in) calls `EntryEvent::getNewValue`.
-
-For more about plug-ins, see [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).
-
-## <a id="managing-lifetime-cached-object__section_065526A7FFBB464591A5E119EB8D6CA6" class="no-quick-link"></a>Object Expiration
-
-When a cache automatically deletes an object as a result of an expiration action, the reference counting pointers protect the client from situations that might otherwise result if the cache actually freed the object's memory. Instead, the client disconnects the object from the cache by deleting the cache's `SharedPtr` reference, while leaving untouched any client threads with a `SharedPtr` to that object.
-
-## <a id="managing-lifetime-cached-object__section_6D700999EE534BD7999D5B428301F5A6" class="no-quick-link"></a>Object Lifetime Across the Distributed Cache
-
-An object remains alive until every copy of the object is gone. In distributed regions, expiration activities can be local or distributed, depending on a region's distribution settings. One cache could control the expiration of all copies of an object in all the caches in the distributed system. Alternatively, each cache could control the expiration of its own local copy of the object. If the configuration gives each cache local control, and the expiration parameters are set to different [...]
diff --git a/docs/geode-native-docs/client-cache/notification-for-operations.html.md.erb b/docs/geode-native-docs/client-cache/notification-for-operations.html.md.erb
deleted file mode 100644
index 76185b9..0000000
--- a/docs/geode-native-docs/client-cache/notification-for-operations.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Notification for Operations
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="notification-for-operations__section_53F43C51118C4087915CB954CA3439E0"></a>
-Listeners are invoked for client-initiated operations only after the client operation succeeds on the server. Listener invocation on the client indicates that the server has the same data as the client.
-
-If a client operation fails on the server, the operation is rolled back, assuming that no other thread has modified the data in the intervening period. Rollback may not be possible in cases where the entry has been evicted by LRU or expiration during this period. Thus when an exception is received from the server for an operation, local changes may not have been rolled back.
-
-## <a id="notification-for-operations__section_48240559E20D4FAF8FDEC8D62C098357" class="no-quick-link"></a>Event Notification Sequence
-
-Events received on the clients that originated on the server invoke the subscription for the event as seen by the server. Events originating on the client invoke the subscription as seen by the client.
-
-For example, a client that receives a `create` and an `update` from the server fires a `create` event and an `update` event because that is how the server saw it. A cacheless client that does two consecutive put operations has two `afterCreate` events invoked on the originating client because the client does not have any history about the first put, since it is cacheless.
-
-For the same sequence, the server sees an `afterCreate` and an `afterUpdate` event, and a remote client receiving the event sees an `afterCreate` followed by an `afterUpdate` event. A client that caches locally sees an `afterCreate` and an `afterUpdate` for the same scenario (as will the server and remote clients).
diff --git a/docs/geode-native-docs/client-cache/overview-client-cache.html.md.erb b/docs/geode-native-docs/client-cache/overview-client-cache.html.md.erb
deleted file mode 100644
index dbd6d9e..0000000
--- a/docs/geode-native-docs/client-cache/overview-client-cache.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  About the Client Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The cache consists of data regions, each of which can contain any number of entries. Region entries hold the cached data. Every entry has a key that uniquely identifies it within the region and a value where the data object is stored.
-
-The `Cache` instance allows your process to set general parameters for communication between a cache and other caches in the distributed system, and to create and access any region in the cache.
-
-Regions are created from the `Cache` instance. Regions provide the entry point to the interfaces for instances of `Region` and `RegionEntry`.
-
-## <a id="native-client-cache__section_A0F2E9EF30324736BD0D5F92FE3D1BD7" class="no-quick-link"></a>Main Features and Functionality
-
-The client cache provides the following features and functionality.
-
--   Local and distributed data caching for fast access.
--   Data distribution between applications on the same or different platforms.
--   Local and remote data loading through application plug-ins.
--   Application plug-ins for synchronous and asynchronous handling of data events.
--   Automated and application-specific data eviction for freeing up space in the cache, including optional overflow to disk.
--   System message logging, and statistics gathering and archiving.
-
-For more information specific to your client programming language, see [C++ Client API](../cpp-caching-api/cpp-caching-api.html) or [.NET Client API](../dotnet-caching-api/dotnet-caching-api.html).
-
-
diff --git a/docs/geode-native-docs/client-cache/persistence-manager.html.md.erb b/docs/geode-native-docs/client-cache/persistence-manager.html.md.erb
deleted file mode 100644
index 2e3a733..0000000
--- a/docs/geode-native-docs/client-cache/persistence-manager.html.md.erb
+++ /dev/null
@@ -1,241 +0,0 @@
----
-title:  PersistenceManager
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-For each region, if the disk-policy attribute is set to overflows, a persistence-manager plug-in must perform cache-to-disk and disk-to-cache operations. See the [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).
-
-Persistence manager declaration:
-
-``` pre
-<region-attributes lru-entries-limit="nnnnn"
-        disk-policy="overflows">
-    <persistence-manager library-name="libraryName"
-            library-function-name="functionName">
-        <properties>
-            <property name="propertyName" value="propertyValue" />
-        </properties>
-    </persistence-manager>
-</region-attributes>
-```
-
-The optional properties set parameters for the plug-in.
-
-
-## <a id="persistence-manager__section_9FC7089FDF8044868F17A2659397402A" class="no-quick-link"></a>Using SQLite as a Persistence Manager
-
-The client distribution includes a persistence manager that uses the open-source SQLite library.
-
-SQLite is a software library that implements a self-contained transactional SQL database. SQLite does not require its own server or separate configuration, and the source code for SQLite is in the public domain. For more information on SQLite, see [http://www.sqlite.org](http://www.sqlite.org).
-
-Each SQLite persistence manager persists its region data in a SQLite database that is stored in disk files. In a given client application process, each region must have a unique persistence (overflow) directory.
-
-<a id="persistence-manager__fig_6A0C9F1A29134ACBA0FDD8236CD836B6"></a>
-<span class="figtitleprefix">Figure: </span>SQLite Database Persistence Manager Directory Structure
-
-<img src="../images/SQLite_Persistence_Mgr.png" id="persistence-manager__image_BD1AF915E09548D68D9307E2F52737F9" class="image" />
-
-## <a id="persistence-manager__section_3C6991A39C5F4FB8A945EF15FB089287" class="no-quick-link"></a>SQLite Persistence Manager Region Attributes
-
-The following table describes the region attributes that can be configured for the SQLite persistence manager.
-
-| Property             | Description                                                                                                                                                                                                                                                                                                | Default Setting                                                                                                                                                        [...]
-|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
-| PersistenceDirectory | Directory where each region's database files are stored. This setting must be different for each region including regions in different processes. This directory is created by the persistence manager. The persistence manager fails to initialize if this directory already exists or cannot be created. | Default is to create a subdirectory named GemFireRegionData in the directory where the process using the region was started.                                           [...]
-| PageSize             | Maximum page size of the SQLite database. SQLite can limit the size of a database file to prevent the database file from growing too large and consuming too much disk space.                                                                                                                              | Ordinarily, if no value is explicitly provided, SQLite creates a database with the page size set to SQLITE\_DEFAULT\_PAGE\_SIZE (default is 1024). However, based on c [...]
-| MaxPageCount         | Maximum number of pages in one database file.                                                                                                                                                                                                                                                              | SQLite default, which is 1073741823.                                                                                                                                   [...]
-
-## <a id="persistence-manager__section_A9583FBEB5D74B92AD61CB6158AE2B4C" class="no-quick-link"></a>Configuring the SQLite Persistence Manager Plug-In for C++ Applications
-
-To load the SQLite persistence manager plug-in for C++ applications, you can configure it either in your client's `cache.xml` or programmatically using the C++ client API.
-
-The following is an example of how to specify the following region attributes in your client's cache.xml:
-
-``` pre
-<region-attributes>
-   <persistence-manager library-name="libSqLiteImpl.so" library-function-name="createSqLiteInstance">
-      <properties>
-         <property name="PersistenceDirectory" value="/xyz"/>
-         <property name="PageSize" value="65536"/>
-         <property name="MaxPageCount" value="1073741823"/>
-      </properties>
-   </persistence-manager>
-</region-attributes>
-```
-
-## C++ API Example
-
-To use the C++ client API, set SQLite persistence manager attributes programmatically as follows:
-
-``` pre
-PropertiesPtr sqliteProperties = Properties::create();
-sqliteProperties->insert("MaxPagecount", "5");
-sqliteProperties->insert("PageSize", "1024");
-sqliteProperties->insert("PersistenceDirectory", "SqLite-Test779");
-regionFactory->setPersistenceManager("SqLiteImpl","createSqLiteInstance",
-          sqliteProperties);
-```
-
-## <a id="persistence-manager__section_7410F68E0BB144A584A9AFE7E8CDBE22" class="no-quick-link"></a>Configuring the SQLite Persistence Manager Plug-In for .NET Applications
-
-To load the SQLite persistence manager plug-in for .NET applications, you can configure it either in your client's cache.xml or programmatically using the .NET API:
-
-``` pre
-<persistence-manager library-name="Apache.Geode.Plugins.SqLite" 
-   library-function-name="Apache.Geode.Plugins.SqLite.SqLiteImpl&lt;System.Object, System.Object&gt;.Create"> 
-    <properties>
-       <property name="PersistenceDirectory" value="SqLite"/>
-       <property name="MaxPageCount" value="1073741823"/>
-       <property name="PageSize" value="65536"/>
-    </properties>
-</persistence-manager>
-```
-
-## .NET API Example
-
-To use the .NET client API, set the SQLite persistence manager attributes programmatically as follows:
-
-``` pre
-Properties<string, string> sqliteProperties = new Properties<string, string>();
-sqliteProperties.Insert("PageSize", "65536");
-sqliteProperties.Insert("MaxFileSize", "51200000");
-sqliteProperties.Insert("PersistenceDirectory", SqLiteDir);
-rf.SetPersistenceManager("Apache.Geode.Plugins.SqLite", 
-"Apache.Geode.Plugins.SqLite.SqLiteImpl<System.Object,System.Object>.Create",
-sqliteProperties);
-```
-
-You can also use and configure the C++ SQLite persistence manager library from your .NET application as follows:
-
-``` pre
-rf.SetPersistenceManager("SqliteImpl", "createSqLiteInstance", sqliteProperties);
-```
-
-## <a id="persistence-manager__section_9D038C438E01415EA4D32000D5CB5596" class="no-quick-link"></a>Implementing a PersistenceManager with the IPersistenceManager Interface
-
-When developing .NET managed applications, you can use the IPersistenceManager managed interface to implement your own persistence manager. The following code sample provides the IPersistenceManager interface:
-
-``` pre
-/// <summary> 
-/// IPersistenceManager interface for persistence and overflow. 
-/// This class abstracts the disk-related operations in case of persistence or overflow to disk. 
-/// A specific disk storage implementation will implement all the methods described here. 
-/// </summary> 
-generic<class TKey, class TValue> 
-public interface class IPersistenceManager 
- { 
-   public: 
-   /// <summary> 
-   /// Called after an implementation object is created. Initializes all the implementation specific environments needed. 
-   /// </summary> 
-   /// <param name="region"> 
-   /// Region for which this PersistenceManager is initialized. 
-   /// </param> 
-   /// <param name="diskProperties"> 
-   /// Configuration Properties used by PersistenceManager implementation. 
-   /// </param> 
-   void Init(IRegion<TKey, TValue>^ region, Properties<String^, String^>^ diskProperties); 
-   
-   /// <summary> 
-   /// Writes a key, value pair of region to the disk. The actual file or database related write operations should be implemented in this method. 
-   /// </summary> 
-   /// <param name="key"> 
-   /// the key to write. 
-   /// </param> 
-   /// <param name="value"> 
-   /// the value to write. 
-   /// </param> 
-   void Write(TKey key, TValue value); 
-
-   /// <summary> 
-   /// This method is not used. 
-   /// </summary> 
-   bool WriteAll(); 
-
-   /// <summary> 
-   /// Reads the value for the key from the disk. 
-   /// </summary> 
-   /// <param name="key"> 
-   /// key for which the value has to be read. 
-   /// </param> 
-   TValue Read(TKey key); 
-
-   /// <summary> 
-   /// This method is not used. 
-   /// </summary> 
-   bool ReadAll(); 
-
-   /// <summary> 
-   /// Destroys the entry specified by the key in the argument. 
-   /// </summary> 
-   /// <param name="key"> 
-   /// key of the entry which is being destroyed. 
-   /// </param>
-   void Destroy(TKey key); 
-
-   /// <summary> 
-   /// Closes the persistence manager instance. 
-   /// </summary> 
-   void Close(); 
-}
-```
-
-The following is a sample interface implementation:
-
-``` pre
-class MyPersistenceManager<TKey, TValue> : IPersistenceManager<TKey, TValue> 
-   { 
-      #region IPersistenceManager<TKey,TValue> Members
-      public void Close() 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public void Destroy(TKey key) 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public void Init(IRegion<TKey, TValue> region, Properties<string, string> disk Properties) 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public TValue Read(TKey key) 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public void Write(TKey key, TValue value) 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public bool ReadAll() 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public bool WriteAll() 
-      {
-         throw new NotImplementedException(); 
-      } 
-      #endregion 
-   }
-```
diff --git a/docs/geode-native-docs/client-cache/programmatic-region-creation.html.md.erb b/docs/geode-native-docs/client-cache/programmatic-region-creation.html.md.erb
deleted file mode 100644
index 4225628..0000000
--- a/docs/geode-native-docs/client-cache/programmatic-region-creation.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Programmatic Region Creation
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You create regions programmatically with the `regionFactory` class.
-
-**Note:**
-Before creating a region, specify region attributes. See [Region Attributes](region-attributes.html).
-
-Create your regions using the `regionFactory` class.
-
-**C++ RegionFactory Example**
-
-``` pre
-RegionFactoryPtr regionFactory =
-    cachePtr->createRegionFactory(CACHING_PROXY);
-RegionPtr regPtr0 = regionFactory->setLruEntriesLimit(20000)
-        ->create("exampleRegion0");
-    
-```
diff --git a/docs/geode-native-docs/client-cache/region-access.html.md.erb b/docs/geode-native-docs/client-cache/region-access.html.md.erb
deleted file mode 100644
index 0fbced7..0000000
--- a/docs/geode-native-docs/client-cache/region-access.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Region Access
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You can use `Cache::getRegion` to retrieve a reference to a specified region.
-
-`RegionPtr` returns `NULL` if the region is not already present in the application's cache. A server region must already exist.
-
-A region name *cannot* contain these characters:
-
--   &lt;
--   &gt;
--   :
--   "
--   /
--   \\
--   |
--   ?
--   \*
-
-
diff --git a/docs/geode-native-docs/client-cache/region-attributes-desc.html.md.erb b/docs/geode-native-docs/client-cache/region-attributes-desc.html.md.erb
deleted file mode 100644
index 81d6df7..0000000
--- a/docs/geode-native-docs/client-cache/region-attributes-desc.html.md.erb
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title:  Mutable and Immutable Region Attributes
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Attributes that are immutable (fixed) after region creation govern storage location, data distribution, statistics, application plug-ins, and the configuration and management of the region's data hashmap.
-
-This table lists the immutable attributes and their default settings.
-
-<a id="region-attributes-desc__table_B1CC036A7929449A8CD06E56678A6CB2"></a>
-
-| Immutable Region Attribute                                                                                                                | Default Setting |
-|-------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
-| See [CachingEnabled](caching-enabled.html#caching-enabled)                                                        | true            |
-| See [InitialCapacity](initial-capacity.html#initial-capacity)                                                     | 16 (entries)    |
-| See [LoadFactor](load-factor.html#load-factor)                                                                    | 0.75            |
-| See [ConcurrencyLevel](concurrency-level.html#concurrency-level)                                                  | 16              |
-| See [DiskPolicy](disk-policy.html#disk-policy)                                                                    |                 |
-| See [PersistenceManager](persistence-manager.html#persistence-manager)                                            | NULL            |
-| PartitionResolver. See [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597). |                 |
-
-
-Mutable region attributes identify expiration and cache listener, cache writer and cache loader actions that are run from the defining client. The next table lists the mutable attributes that generally can be modified after region creation by using the `AttributesMutator` for the region.
-
-<a id="region-attributes-desc__table_98120276A645432A840F991C18039621"></a>
-
-| Mutable Region Attribute                                                                                                                 | Default Setting |
-|------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
-| Expiration attributes. See [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes). | no expiration   |
-| See [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A).                          | 0 (no limit)    |
-| CacheLoader. See [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).      |                 |
-| CacheWriter. See [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).      |                 |
-| CacheListener. See [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).    |                 |
-
-
-See [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins) for information about using `AttributesMutator` with cache listeners, cache loaders, and cache writers.
-
-The remainder of this section examines these attributes in detail. Throughout the descriptions, `cache.xml` file snippets show how each attribute can be set declaratively.
-
-
diff --git a/docs/geode-native-docs/client-cache/region-attributes.html.md.erb b/docs/geode-native-docs/client-cache/region-attributes.html.md.erb
deleted file mode 100644
index 5e272d3..0000000
--- a/docs/geode-native-docs/client-cache/region-attributes.html.md.erb
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title:  Region Attributes
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Region attributes govern the automated management of a region and its entries.
-
-Region attribute settings determine where the data resides, how the region is managed in memory, and the automatic loading, distribution, and expiration of region entries.
-
--   **[Specifying Region Attributes](specify-region-attributes.html)**
-
--   **[Region Shortcuts](region-shortcuts.html)**
-
--   **[Mutable and Immutable Region Attributes](region-attributes-desc.html)**
-
--   **[CachingEnabled](caching-enabled.html)**
-
--   **[InitialCapacity](initial-capacity.html)**
-
--   **[LoadFactor](load-factor.html)**
-
--   **[ConcurrencyLevel](concurrency-level.html)**
-
--   **[ConcurrencyChecksEnabled](concurrency-checks-enabled.html)**
-
--   **[LruEntriesLimit](lru-entries-limit.html)**
-
--   **[DiskPolicy](disk-policy.html)**
-
--   **[PersistenceManager](persistence-manager.html)**
-
--   **[Specifying Expiration Attributes](expiration-attributes.html)**
-
-
diff --git a/docs/geode-native-docs/client-cache/region-shortcuts.html.md.erb b/docs/geode-native-docs/client-cache/region-shortcuts.html.md.erb
deleted file mode 100644
index 6533c9c..0000000
--- a/docs/geode-native-docs/client-cache/region-shortcuts.html.md.erb
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title:  Region Shortcuts
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="region-shortcuts__section_62D2AB580EDB4165970E4FC42A35C80B"></a>
-<%=vars.product_name%> provides predefined, shortcut region attributes settings for your use, in `RegionShortcut`.
-
-Shortcut attributes are a convenience only. They are named attributes that <%=vars.product_name%> has already stored for you. You can override their settings by storing new attributes with the same `id` as the predefined attributes.
-
-You can also create custom region attributes and store them with an identifier for later retrieval. Both types of stored attributes are referred to as named region attributes. You can create and store your attribute settings in the `cache.xml` file and through the API.
-
-Retrieve named attributes by providing the ID to the region creation. This example uses the shortcut `CACHING_PROXY` attributes to create a region:
-
-``` pre
-<region name="testRegion" refid="CACHING_PROXY"/>
-```
-
-You can modify named attributes as needed. For example, this adds a cache listener to the region:
-
-``` pre
-<region name="testRegion" refid="CACHING_PROXY">
-    <region-attributes>
-        <cache-listener library-name="myAppLib"
-            library-function-name ="myCacheListener" />
-    </region-attributes>
-</region>
-```
-
-In this example, the modified region shortcut is saved to the cache using the region attribute id, for retrieval and use by a second region:
-
-``` pre
-<region name="testRegion" refid="CACHING_PROXY">
-    <region-attributes id="Caching_Proxy_With_Listener">
-        <cache-listener library-name="myAppLib"
-            library-function-name ="myCacheListener" />
-    </region-attributes>
-</region>
-<region name="newTestRegion" refid="Caching_Proxy_With_Listener"/>
-```
-
-## <a id="region-shortcuts__section_49150358B8F443E8AF027E4E920E820A" class="no-quick-link"></a>Shortcut Attribute Options
-
-You can select the most common region attributes settings from `RegionShortcut`, the predefined named region attributes.
-
-This section provides an overview of the options available in the region shortcut settings.
-
-**Communication with Servers and Data Storage**
-
--   `PROXY` does not store data in the client cache, but connects the region to the servers for data requests and updates, interest registrations, and so on.
--   `CACHING_PROXY` stores data in the client cache and connects the region to the servers for data requests and updates, interest registrations, and so on.
--   `LOCAL` stores data in the client cache and does not connect the region to the servers. This is a client-side-only region.
-
-**Data Eviction**
-
-Non-`PROXY` regions are those that store data in the client cache.
-You can add data eviction for non-`PROXY` regions:
-
--   `ENTRY_LRU` causes least recently used data to be evicted from memory when the region reaches the entry count limit.
-
diff --git a/docs/geode-native-docs/client-cache/regions.html.md.erb b/docs/geode-native-docs/client-cache/regions.html.md.erb
deleted file mode 100644
index 238e8a9..0000000
--- a/docs/geode-native-docs/client-cache/regions.html.md.erb
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title:  Regions
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You create cache regions either programmatically or through declarative statements in the `cache.xml` file. Generally, a cache is organized and populated through a combination of the two approaches.
-
-<a id="regions__section_1BE4ABB76537488C966E452C2D89478F"></a>
-The region is the core building block of the <%=vars.product_name%> distributed system. All cached data is organized into data regions and you do all of your data puts, gets, and querying activities against them.
-
-A distributed region can be either non-partitioned or a partitioned region. See [Data Regions](geodeman/basic_config/data_regions/chapter_overview.html) for detailed descriptions of both non-partitioned and partitioned regions. Region creation is subject to attribute consistency checks. The requirements for consistency between attributes are detailed both in the API documentation and throughout the discussion of [Region Attributes](region-attributes.html#region-attributes).
-
--   **[Declarative Region Creation](declarative-region-creation.html)**
-
-    Declarative region creation involves placing the region's XML declaration, with the appropriate attribute settings, in the `cache.xml` file that is loaded at cache creation.
-
--   **[Programmatic Region Creation](programmatic-region-creation.html)**
-
-    You create regions programmatically with the `regionFactory` class.
-
--   **[Invalidating and Destroying Regions](invalidating-region.html)**
-
-    Invalidation marks all entries contained in the region as invalid (with null values). Destruction removes the region and all of its contents from the cache.
-
--   **[Region Access](region-access.html)**
-
-    You can use `Cache::getRegion` to retrieve a reference to a specified region.
-
--   **[Getting the Region Size](getting-the-region-size.html)**
-
-    The `Region` API provides a `size` method (`Size` property for .NET) that gets the size of a region.
diff --git a/docs/geode-native-docs/client-cache/registering-interest-for-entries.html.md.erb b/docs/geode-native-docs/client-cache/registering-interest-for-entries.html.md.erb
deleted file mode 100644
index dfc570b..0000000
--- a/docs/geode-native-docs/client-cache/registering-interest-for-entries.html.md.erb
+++ /dev/null
@@ -1,110 +0,0 @@
----
-title:  Registering Interest for Entries
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-For client regions, you can programmatically register interest in entry keys stored on a cache server region. A client region receives update notifications from the cache server for the keys of interest.
-
-You can register interest for specific entry keys or for all keys. Regular expressions can be used to register interest for keys whose strings match the expression. You can also unregister interest for specific keys, groups of keys based on regular expressions, or for all keys.
-
-**Note:** Interest registration and unregistration are symmetrical operations. Consequently, you cannot register interest in all keys and then unregister interest in a specific set of keys. Also, if you first register interest in specific keys with `registerKeys`, then call `registerAllKeys`, you must call `unregisterAllKeys` before specifying interest in specific keys again.
-
-
-## <a id="registering-interest-for-entries__section_C9A3D7F193B24ACD83B2D67813E596A0" class="no-quick-link"></a>Client API for Registering Interest
-
-You register client interest through the C++ or NET API. The C++ API provides the `registerKeys`, `registerAllKeys`, and `registerRegex` methods, with corresponding unregistration accomplished using the `unregisterKeys`, `unregisterAllKeys`, and `unregisterRegex` methods. The .NET API provides the `RegisterKeys`, `RegisterAllKeys`, and `RegisterRegex` methods, with corresponding unregistration accomplished using the `UnregisterKeys`, `UnregisterAllKeys`, and `UnregisterRegex` methods.
-
-The `registerKeys`, `registerRegex` and `registerAllKeys` methods have the option to populate the cache with the registration results from the server. The `registerRegex` and `registerAllKeys` methods can also optionally return the current list of keys registered on the server.
-
-## <a id="registering-interest-for-entries__section_C1A3F89EE73448D7AFF2076F41848F55" class="no-quick-link"></a>Setting Up Client Notification
-
-In addition to the programmatic function calls, to register interest for a server region and receive updated entries you need to configure the region with the `PROXY` or `CACHING_PROXY RegionShortcut` setting. The region's pool should have `subscription-enabled=true` set either in the client XML or programmatically via a `CacheFactory::setSubscriptionEnabled(true)` API call. Otherwise, when you register interest, you will get an `UnsupportedOperationException`.
-
-``` pre
-<region name="listenerWriterLoader" refid="CACHING_PROXY">
-   ... 
-```
-
-All clients that have subscriptions enabled track and drop (ignore) any duplicate notifications received. To reduce resource usage, a client expires tracked sources for which new notifications have not been received for a configurable amount of time.
-
-**Notification Sequence**
-
-Notifications invoke `CacheListeners` of cacheless clients in all cases for keys that have been registered on the server. Similarly, invalidates received from the server invoke `CacheListeners` of cacheless clients.
-
-If you register to receive notifications, listener callbacks are invoked irrespective of whether the key is in the client cache when a `destroy` or `invalidate` event is received.
-
-## <a id="registering-interest-for-entries__section_8772147940754C2D9688C789EB2F2AA6" class="no-quick-link"></a>Registering Interest for Specific Keys
-
-You register and unregister interest for specific keys through the `registerKeys` and `unregisterKeys` functions. You register interest in a key or set of keys by specifying the key name using the programmatic syntax shown in the following example:
-
-``` pre
-keys0.push_back(keyPtr1);
-keys1.push_back(keyPtr3);
-regPtr0->registerKeys(keys0);
-regPtr1->registerKeys(keys1); 
-```
-
-The programmatic code snippet in the next example shows how to unregister interest in specific keys:
-
-``` pre
-regPtr0->unregisterKeys(keys0);
-regPtr1->unregisterKeys(keys1);
-```
-
-## <a id="registering-interest-for-entries__section_EA4525CCDC474DD495410E948EAF566C" class="no-quick-link"></a>Registering Interest for All Keys
-
-If the client registers interest in all keys, the server provides notifications for all updates to all keys in the region. The next example shows how to register interest in all keys:
-
-``` pre
-regPtr0->registerAllKeys();
-regPtr1->registerAllKeys();
-```
-
-The following example shows a code sample for unregistering interest in all keys.
-
-``` pre
-regPtr0->unregisterAllKeys();
-regPtr1->unregisterAllKeys();
-```
-
-## <a id="registering-interest-for-entries__section_BD50B80FCE9F429C8F6A9FEA818D5A91" class="no-quick-link"></a>Registering Interest Using Regular Expressions
-
-The `registerRegex` function registers interest in a regular expression pattern. The server automatically sends the client changes for entries whose keys match the specified pattern.
-
-*Keys must be strings in order to register interest using regular expressions.*
-
-The following example shows interest registration for all keys whose first four characters are `Key-`, followed by any string of characters. The characters `.*` represent a wildcard that matches any string.
-
-``` pre
-regPtr1->registerRegex("Key-.*");
-```
-
-To unregister interest using regular expressions, you use the `unregisterRegex` function. The next example shows how to unregister interest in all keys whose first four characters are `Key-`, followed by any string (represented by the `.*` wildcard).
-
-``` pre
-regPtr1->unregisterRegex("Key-.*");
-```
-
-## <a id="registering-interest-for-entries__section_2D71A423B185493489129AAC30DC6733" class="no-quick-link"></a>Register Interest Scenario
-
-In this register interest scenario, a cache listener is used with a cacheless region that has `subscription-enabled` set to `true`. The client region is configured with caching disabled; client notification is enabled; and a cache listener is established. The client has not registered interest in any keys.
-
-When a value changes in another client, it sends the event to the server. The server will not send the event to the cacheless client, even though `client-notification` is set to `true`.
-
-To activate the cache listener so the cacheless region receives updates, the client should explicitly register interest in some or all keys by using one of the API calls for registering interest. This way, the client receives all events for the keys to which it has registered interest. This applies to Java-based clients as well as non-Java clients.
diff --git a/docs/geode-native-docs/client-cache/requirements-for-distrib.html.md.erb b/docs/geode-native-docs/client-cache/requirements-for-distrib.html.md.erb
deleted file mode 100644
index 7f990c8..0000000
--- a/docs/geode-native-docs/client-cache/requirements-for-distrib.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Entry Distribution Requirements
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Entry data distributed among members of the distributed system must be serializable. Entry keys and values are serialized for distribution.
-
-If a client defines a region, it must register any serializable types for all classes of objects stored in the region. This includes entries that the application gets or puts, as well as entries that are pushed to the client's cache automatically through distribution. The types must be registered before the client connects to the distributed system.
-
-See [Serializing Data](../cpp-caching-api/serialization_overview.html#concept_2A8DC49D93394392BA34B17AA3452B14) for more information about these requirements.
-
-
diff --git a/docs/geode-native-docs/client-cache/specify-region-attributes.html.md.erb b/docs/geode-native-docs/client-cache/specify-region-attributes.html.md.erb
deleted file mode 100644
index 45b77f7..0000000
--- a/docs/geode-native-docs/client-cache/specify-region-attributes.html.md.erb
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title:  Specifying Region Attributes
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Region attributes govern the automated management of a region and its entries.
-
-Specify region attributes before creating the region. You can do this either through the declarative XML file or through the API. The API includes classes for defining a region's attributes before creation and for modifying some of them after creation. For details, see the API for `RegionShortcut`, `RegionAttributes`, `AttributesFactory`, and `AttributesMutator`.
-
-
diff --git a/docs/geode-native-docs/client-cache/troubleshooting.html.md.erb b/docs/geode-native-docs/client-cache/troubleshooting.html.md.erb
deleted file mode 100644
index e0aef6e..0000000
--- a/docs/geode-native-docs/client-cache/troubleshooting.html.md.erb
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title:  Troubleshooting
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This section provides troubleshooting information for the client.
-
-## <a id="troubleshooting__section_32E817A073B8408F8FEDB5599C5CCEF6" class="no-quick-link"></a>Cannot Acquire Windows Performance Data
-
-When you attempt to run performance measurements for the client on Windows, you may encounter the following error message in the run logs:
-
-``` pre
-Can't get Windows performance data. RegQueryValueEx returned 5
-```
-
-This can occur because incorrect information is returned when a Win32 application calls the ANSI version of `RegQueryValueEx` Win32 API with `HKEY_PERFORMANCE_DATA`. This error is described in Microsoft KB article ID 226371 at [http://support.microsoft.com/kb/226371/en-us](http://support.microsoft.com/kb/226371/en-us).
-To successfully acquire Windows performance data, you need to verify that you have the proper registry key access permissions in the system registry. In particular, make sure that `Perflib` in the following registry path is readable (`KEY_READ` access) by the <%=vars.product_name%> process:
-
-``` pre
-HKEY_LOCAL_MACHINE\
-    SOFTWARE\
-    Microsoft\
-    Windows NT\
-    CurrentVersion\
-    Perflib
-```
-
-An example of reasonable security on the performance data would be to grant administrators `KEY_ALL_ACCESS` and interactive users `KEY_READ` access. This particular configuration prevents non-administrator remote users from querying performance data.
-
-See [http://support.microsoft.com/kb/310426](http://support.microsoft.com/kb/310426) and [http://support.microsoft.com/kb/146906](http://support.microsoft.com/kb/146906) for instructions about how to ensure that <%=vars.product_name%> processes have access to the registry keys associated with performance.
-
-## <a id="troubleshooting__section_65EC3B1EAC55421BB734E72E7BFEBFFC" class="no-quick-link"></a>Generating a Process Memory Dump Image for Fatal Errors
-
-You can generate a process memory dump image (core files in Unix systems and minidumps in Windows). The image is produced when a fatal error occurs that normally terminates the program.
-
-When the system property `crash-dump-enabled` is set to `true`, a dump image is generated (the default is `true`). The dump file is generated in the same location as the `log-file` directory, and has the same prefix as the log file. The name is `<prefix>-<time>.core.<pid>` in Unix, and `<prefix>-<time>-<pid>.dmp` in Windows).
-
-Unix systems generate core files automatically for such errors, but this option is useful for providing a custom location and name, as well as for systems where core dump generation is disabled. For Unix, when system core dump generation is turned on (`ulimit -c`) this property can be set to `false`.
-
-For .NET clients, when this property is set then `AccessViolation` exceptions are trapped and a crash dump is created to assist with further analysis. Applications receive a `FatalInternalException` for this case, with the `InnerException` set to the originating `AccessViolationException`.
-
-This requires the availability of `dbghelp.dll` on Windows, either in the same directory as `apache-geode.dll` or in the system `PATH`. The file is installed by default, though for Windows 2000 a newer version may be required for minidumps. For Unix systems, the `gcore` command should be available (gdb &gt; 5.2 on Linux; available by default in Solaris).
diff --git a/docs/geode-native-docs/client-cache/updating-entries.html.md.erb b/docs/geode-native-docs/client-cache/updating-entries.html.md.erb
deleted file mode 100644
index ca67a31..0000000
--- a/docs/geode-native-docs/client-cache/updating-entries.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Updating Entries
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="updating-entries__section_720D480EDB8D4578BCAB5A368D6D5512"></a>
-A cached entry can be updated using these methods:
-
--   Explicitly, when a client invokes a `put` operation on an existing entry.
--   Implicitly, when a `get` is performed on an entry that has an invalid value in the cache. An entry can become invalid through an explicit API call, through an automated expiration action, or by being created with a value of null.
--   Automatically, when a new entry value is distributed from another cache.
-
-Similar to entry creation, all of these operations can be aborted by a cache writer.
-
-The `get` function returns a direct reference to the entry value object. A change made using that reference is called an in-place change because it directly modifies the contents of the value in the local cache. For details on safe cache access, see [Managing the Lifetime of a Cached Object](managing-lifetime-cached-object.html).
-
-
diff --git a/docs/geode-native-docs/client-cache/using-serverkeys-to-retrieve.html.md.erb b/docs/geode-native-docs/client-cache/using-serverkeys-to-retrieve.html.md.erb
deleted file mode 100644
index 7f16555..0000000
--- a/docs/geode-native-docs/client-cache/using-serverkeys-to-retrieve.html.md.erb
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title:  Using serverKeys to Retrieve a Set of Region Keys
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="using-serverkeys-to-retrieve__section_8D2276A2D70E4F80998D26BB74F9681C"></a>
-You can retrieve the set of keys defined in the cache server process that are associated with the client region by using the `Region::serverKeys` API function. If the server region is defined as a replicate, the keys returned consist of the entire set of keys for the region.
-
-The following example shows how the client can programmatically call `serverKeys`.
-
-``` pre
-VectorOfCacheableKey keysVec;
-region->serverKeys( keysVec );
-size_t vlen = keysVec.size();
-bool foundKey1 = false;
-bool foundKey2 = false;
-for( size_t i = 0; i < vlen; i++ ) {
-    CacheableStringPtr strPtr = dynCast<CacheableStringPtr> keysVec.at( i );
-    std::string veckey = strPtr->asChar();
-    if ( veckey == "skey1" ) {
-        printf( "found skey1" );
-        foundKey1 = true;
-    }
-    if ( veckey == "skey2" ) {
-        printf( "found skey2" );
-        foundKey2 = true;
-    }
-}
-```
-
-An `UnsupportedOperationException` occurs if the client region is not a native client region. A `MessageException` occurs if the message received from the server could not be handled, which can occur if an unregistered `typeId` is received in the reply.
-
-
diff --git a/docs/geode-native-docs/client-cache/using-thread-safety.html.md.erb b/docs/geode-native-docs/client-cache/using-thread-safety.html.md.erb
deleted file mode 100644
index 33e7409..0000000
--- a/docs/geode-native-docs/client-cache/using-thread-safety.html.md.erb
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title:  Using Thread Safety in Cache Management
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-When you perform structural changes on your cache, such as creating or closing a `Cache`, `Pool`, or `Region`, synchronize your operations or do them in a single thread.
-
-Other non-structural operations, like region gets, puts, and queries, are thread safe, and you can perform them in a multithreaded way. There are caveats to this, for example, when two threads update the same key simultaneously, there is no way to determine which thread's operation will prevail.
-
-You may need to protect cached objects from concurrent usage and modification. The client does not guard cached objects themselves from concurrent access.
-
-Always catch and handle exceptions that may be thrown, for problems like trying to create a `Pool` with the same name more than once.
-
-
diff --git a/docs/geode-native-docs/common/images/10-Continuous_Querying-1.gif b/docs/geode-native-docs/common/images/10-Continuous_Querying-1.gif
deleted file mode 100644
index ca78bc9..0000000
Binary files a/docs/geode-native-docs/common/images/10-Continuous_Querying-1.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/10-Continuous_Querying-3.gif b/docs/geode-native-docs/common/images/10-Continuous_Querying-3.gif
deleted file mode 100644
index 716aabc..0000000
Binary files a/docs/geode-native-docs/common/images/10-Continuous_Querying-3.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/6-DotNet_API-1.gif b/docs/geode-native-docs/common/images/6-DotNet_API-1.gif
deleted file mode 100644
index 0ac6fa0..0000000
Binary files a/docs/geode-native-docs/common/images/6-DotNet_API-1.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/7-Preserving_Data-2.gif b/docs/geode-native-docs/common/images/7-Preserving_Data-2.gif
deleted file mode 100644
index 9f4fde9..0000000
Binary files a/docs/geode-native-docs/common/images/7-Preserving_Data-2.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/client-cache-data-flow.gif b/docs/geode-native-docs/common/images/client-cache-data-flow.gif
deleted file mode 100644
index b69ad60..0000000
Binary files a/docs/geode-native-docs/common/images/client-cache-data-flow.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/client-cache-plugins-run.gif b/docs/geode-native-docs/common/images/client-cache-plugins-run.gif
deleted file mode 100644
index f255b33..0000000
Binary files a/docs/geode-native-docs/common/images/client-cache-plugins-run.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/client-overview.gif b/docs/geode-native-docs/common/images/client-overview.gif
deleted file mode 100644
index a71a23a..0000000
Binary files a/docs/geode-native-docs/common/images/client-overview.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/client-server-arch.gif b/docs/geode-native-docs/common/images/client-server-arch.gif
deleted file mode 100644
index 5a1c5c6..0000000
Binary files a/docs/geode-native-docs/common/images/client-server-arch.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/data-dep-func-from-client.gif b/docs/geode-native-docs/common/images/data-dep-func-from-client.gif
deleted file mode 100644
index a0c4488..0000000
Binary files a/docs/geode-native-docs/common/images/data-dep-func-from-client.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/data-dep-func-with-filter.gif b/docs/geode-native-docs/common/images/data-dep-func-with-filter.gif
deleted file mode 100644
index f5bb9d9..0000000
Binary files a/docs/geode-native-docs/common/images/data-dep-func-with-filter.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/data-indep-func-from-client.gif b/docs/geode-native-docs/common/images/data-indep-func-from-client.gif
deleted file mode 100644
index 1ab8a96..0000000
Binary files a/docs/geode-native-docs/common/images/data-indep-func-from-client.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/delta-propagation-in-client-server.gif b/docs/geode-native-docs/common/images/delta-propagation-in-client-server.gif
deleted file mode 100644
index e662062..0000000
Binary files a/docs/geode-native-docs/common/images/delta-propagation-in-client-server.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/ha-data-dep-func.gif b/docs/geode-native-docs/common/images/ha-data-dep-func.gif
deleted file mode 100644
index 519dd6b..0000000
Binary files a/docs/geode-native-docs/common/images/ha-data-dep-func.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/security-client-connections.gif b/docs/geode-native-docs/common/images/security-client-connections.gif
deleted file mode 100644
index af8fd27..0000000
Binary files a/docs/geode-native-docs/common/images/security-client-connections.gif and /dev/null differ
diff --git a/docs/geode-native-docs/common/images/xact-run-from-client.gif b/docs/geode-native-docs/common/images/xact-run-from-client.gif
deleted file mode 100644
index 4fe2d26..0000000
Binary files a/docs/geode-native-docs/common/images/xact-run-from-client.gif and /dev/null differ
diff --git a/docs/geode-native-docs/connection-pools/about-connection-pools.html.md.erb b/docs/geode-native-docs/connection-pools/about-connection-pools.html.md.erb
deleted file mode 100644
index fce954c..0000000
--- a/docs/geode-native-docs/connection-pools/about-connection-pools.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Connection Pools
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Clients contain connection pools. Each region is associated with a connection pool using a region attribute, and operations on the region use connections from the respective pools.
-
-The server connectivity options are specified in the connection pool configuration. Each pool has a minimum and maximum number of connections.
-
-Each cache operation that requires server connectivity obtains a connection from the pool for the server group that the operation affects, performs the operation using the connection, and returns the connection to the pool. If the pool size is less than the maximum number of connections and all connections are in use, the connection pool creates a new connection and returns it. If the pool is at the maximum number of connections, that thread blocks until a connection becomes available or [...]
-
-The connection pool has a configurable timeout period that is used to expire idle connections. The idle connections are expired until the pool has the minimum number of connections. A monitoring thread expires idle connections, adds sufficient connections to bring up the count to minimum, and closes connections whose lifetime has been exceeded. See the `load-conditioning-interval` and `idle-timeout` attributes of the [&lt;pool&gt;](../../reference/topics/client-cache.html#cc-pool) elemen [...]
-
-<a id="client-load-balancing__fig_226964BAA1464DBA9F5CEDC2CB7B3585"></a>
-<span class="figtitleprefix">Figure: </span>Logical Architecture of Client/Server Connections
-
-<img src="../common/images/client-server-arch.gif" id="client-load-balancing__image_1E8316666E1B4CC2ADE4D927B629E49F" class="image" />
-
-When a connection receives an exception, the operation is failed over to another connection from the pool. The failover mechanism obtains the endpoint to failover to from the locator or from the specified endpoint list in the pool.
-
-
diff --git a/docs/geode-native-docs/connection-pools/about-server-locators.html.md.erb b/docs/geode-native-docs/connection-pools/about-server-locators.html.md.erb
deleted file mode 100644
index d637df3..0000000
--- a/docs/geode-native-docs/connection-pools/about-server-locators.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Server Locators
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Server locators continuously monitor server availability and server load information. The client is configured with a list of server locators and consults a server locator to request a connection to a server in the distributed system.
-
-Locators provide clients with dynamic server discovery and server load balancing. They give clients connection information for the server with the least load at any given time.
-
-Server locators provide these main features:
-
--   **Automated discovery of servers and locators**. Adding and removing servers or locators is made easy as each client does not require a list of servers to be configured at the time of pool creation.
--   **Client load rebalancing**. Server locators give clients dynamic server information and provide server load rebalancing after servers depart or join the system.
--   **High availability**. When a client/server connection receives an exception, the connection is automatically failed over to another available connection in the pool. Redundancy is also provided for client subscriptions.
-
-Alternatively, you can configure a pool statically with a list of endpoints. When the pools are statically configured, a round-robin load balancing policy is used to distribute connections across the servers.
-
-
diff --git a/docs/geode-native-docs/connection-pools/client-load-balancing.html.md.erb b/docs/geode-native-docs/connection-pools/client-load-balancing.html.md.erb
deleted file mode 100644
index 7f5cebf..0000000
--- a/docs/geode-native-docs/connection-pools/client-load-balancing.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  How Client Load Balancing Works
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-In a distributed system, servers can be added or removed and their capacity to service new client connections may vary. The server connectivity options are specified in the connection pool configuration.
-
-The connection pool API supports connecting to servers through server locators or directly connecting to servers.
-
--   **[Server Locators](about-server-locators.html)**
-
-    Server locators continuously monitor server availability and server load information. The client is configured with a list of server locators and consults a server locator to request a connection to a server in the distributed system.
-
--   **[Connection Pools](about-connection-pools.html)**
-
-    Clients contain connection pools. Each region is associated with a connection pool using a region attribute, and operations on the region use connections from the respective pools.
-
--   **[Discovering Locators Dynamically](discovering-locators-dynamically.html)**
-
-    A background thread periodically queries the locator for any other locators joining the distributed system.
-
-
diff --git a/docs/geode-native-docs/connection-pools/client-pool-api.html.md.erb b/docs/geode-native-docs/connection-pools/client-pool-api.html.md.erb
deleted file mode 100644
index 6bb7047..0000000
--- a/docs/geode-native-docs/connection-pools/client-pool-api.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Native Client Pool API
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The native client API allows your clients to create and manage connection pools. The server side does not have an API.
-
-This section lists the primary native client API for pool management. For complete information on the classes and interfaces described here, see the API documentation.
-
-**Note:**
-Only C\# versions of Pool API interfaces, classes, and methods are shown throughout the text in this section (example: `Pool.GetQueryService()`) . The code examples demonstrate both C++ and C\# versions.
-
-**Apache.Geode.Client.Cache**
-
--   `Pool` interface. API to retrieve pool attributes.
--   `PoolFactory` interface. API to configure pool attributes.
--   `PoolManager` interface. API to create a `PoolFactory` object and to find the pool objects.
--   `AttributesFactory` class. Has a new method `setPoolname` which assigns a pool to a region. Operations performed on the configured region use connections from the pool.
-
-**Note:**
-A region can have a pool attached to it. A pool may have multiple regions attached to it.
-
-
diff --git a/docs/geode-native-docs/connection-pools/configuring-pools-attributes-example.html.md.erb b/docs/geode-native-docs/connection-pools/configuring-pools-attributes-example.html.md.erb
deleted file mode 100644
index 17bb6ea..0000000
--- a/docs/geode-native-docs/connection-pools/configuring-pools-attributes-example.html.md.erb
+++ /dev/null
@@ -1,173 +0,0 @@
----
-title:  Pool Configuration Example and Settings
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Connection pools require standard client/server distributed system and cache configuration settings. You must also configure settings for the locator, server, and pool elements.
-
--   Locator. Host and port where a server locator is listening.
--   Server. Host and port where a server is listening.
--   Pool. Client/server connection pool.
-
-The example shows a declarative pool configuration. Following the example is a table that describes the attributes that can be configured.
-
-## Example—Declarative Pool Configuration
-
-This example shows a declarative pool configuration.
-
-**Note:**
-You create an instance of `PoolFactory` through `PoolManager`.
-
-``` pre
-<pool free-connection-timeout="12345" idle-timeout="5555"
-      load-conditioning-interval="23456"
-      max-connections="7" min-connections="3"
-      name="test_pool_1" ping-interval="12345"
-      read-timeout="23456" retry-attempts="3" server-group="ServerGroup1"
-      socket-buffer-size="32768" statistic-interval="10123"
-      subscription-ack-interval="567" subscription-enabled="true"
-      subscription-message-tracking-timeout="900123"
-      subscription-redundancy="0" thread-local-connections="true">
-   <locator host="localhost" port="34756"/>
-</pool>
-```
-
-## <a id="configuring-pools__section_E7AA69F3BB6C4FEA8094E2BC5278A349" class="no-quick-link"></a>Pool Attributes
-
-<table>
-<colgroup>
-<col width="25%" />
-<col width="50%" />
-<col width="25%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Attribute Name</th>
-<th>Description</th>
-<th>Default</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">free-connection-timeout</code></td>
-<td><p>Number of milliseconds (ms) that the client waits for a free connection if <code class="ph codeph"> max-connections</code> limit is configured and all connections are in use.</p></td>
-<td><p>10000 ms</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">idle-timeout</code></p></td>
-<td><p>Number of milliseconds to wait for a connection to become idle for load balancing</p></td>
-<td><p>5000 ms</p></td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">load-conditioning-interval</code></td>
-<td><p>Interval in which the pool checks to see if a connection to a specific server should be moved to a different server to improve the load balance.</p></td>
-<td><p>300000 ms (5 minutes)</p></td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">max-connections</code></td>
-<td><p>Maximum number of connections that the pool can create. If all connections are in use, an operation requiring a client-to server-connection is blocked until a connection is available or the <code class="ph codeph"> free-connection-timeout</code> is reached. If set to -1, there is no maximum. The setting must indicate a cap greater than <code class="ph codeph"> min-connections</code>.</p>
-<div class="note note">
-<b>Note:</b>
-<p>If you use this setting to cap your pool connections, disable the pool attribute <code class="ph codeph"> pr-single-hop-enabled</code>. Leaving single hop enabled can increase thrashing and lower performance.</p>
-</div></td>
-<td><p>-1</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">min-connections</code></p></td>
-<td><p>Number of connections that must be created initially.</p></td>
-<td><p>5</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">name</code></p></td>
-<td><p>Pool name.</p></td>
-<td><p></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">ping-interval</code></p></td>
-<td><p>Interval between pinging the server to show the client is alive, set in milliseconds. Pings are only sent when the <code class="ph codeph">ping-interval</code> elapses between normal client messages. This must be set lower than the server’s <code class="ph codeph">maximum-time-between-pings</code>.</p></td>
-<td><p>10000 ms</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">pr-single-hop-enabled</code></p></td>
-<td><p>Setting used for single-hop access to partitioned region data in the servers for some data operations. See <a href="../client-cache/application-plugins.html#application-plugins__section_348E00A84F274D4B9DBA9ECFEB2F012E">PartitionResolver</a>. See note in <code class="ph codeph">thread-local-connections</code> below.</p></td>
-<td><p>True</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">read-timeout</code></p></td>
-<td><p>Number of milliseconds to wait for a response from a server before the connection times out.</p></td>
-<td><p>10000</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">retry-attempts</code></p></td>
-<td><p>Number of times to retry an operation after a time-out or exception for high availability. If set to -1, the pool tries every available server once until it succeeds or has tried all servers.</p></td>
-<td><p>-1</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">server-group</code></p></td>
-<td><p>Server group from which to select connections. If not specified, the global group of all connected servers is used.</p></td>
-<td><p>empty</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">socket-buffer-size</code></p></td>
-<td><p>Size of the socket buffer, in bytes, on each connection established.</p></td>
-<td><p>32768</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">statistic-interval</code></p></td>
-<td><p>Default frequency, in milliseconds, with which the client statistics are sent to the server. A value of <code class="ph codeph">-1</code> indicates that the statistics are not sent to the server.</p></td>
-<td><p>-1</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">subscription-ack-interval</code></p></td>
-<td><p>Number of milliseconds to wait before sending an acknowledgment to the server about events received from the subscriptions.</p></td>
-<td><p>100</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">subscription-enabled</code></p></td>
-<td><p>Whether to establish a server to client subscription.</p></td>
-<td><p>False</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">subscription-message-tracking-timeout</code></p></td>
-<td><p>Number of milliseconds for which messages sent from a server to a client are tracked. The tracking is done to minimize duplicate events.</p></td>
-<td><p>90000</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">subscription-redundancy</code></p></td>
-<td><p>Redundancy for servers that contain subscriptions established by the client. A value of <code class="ph codeph">-1</code> causes all available servers in the specified group to be made redundant.</p></td>
-<td><p>0</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">thread-local-connections</code></p></td>
-<td><p>Whether the connections must have affinity to the thread that last used them.</p>
-<div class="note note">
-<b>Note:</b>
-<p>To set this to <code class="ph codeph">true</code>, also set <code class="ph codeph">pr-single-hop-enabled</code> to <code class="ph codeph">false</code>. A <code class="ph codeph">true</code> value in <code class="ph codeph">pr-single-hop-enabled</code> automatically assigns a <code class="ph codeph">false</code> value to <code class="ph codeph">thread-local-connections</code>...</p>
-</div></td>
-<td><p>False</p></td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">update-locator-list-interval</code></td>
-<td>An integer number of milliseconds defining the interval between locator list updates. If the value is less than or equal to 0, the update will be disabled.</td>
-<td>5000</td>
-</tr>
-</tbody>
-</table>
-
-
diff --git a/docs/geode-native-docs/connection-pools/configuring-pools.html.md.erb b/docs/geode-native-docs/connection-pools/configuring-pools.html.md.erb
deleted file mode 100644
index 848c27a..0000000
--- a/docs/geode-native-docs/connection-pools/configuring-pools.html.md.erb
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title:  Configuring Pools
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-A pool can be configured as locators or as a list of servers.
-
-You configure locator, server, and pool settings declaratively in the client's `cache.xml` file or programmatically through the `PoolFactory` method. You create an instance of `PoolFactory` through `PoolManager`.
-
--   **[Native Client Pool API](client-pool-api.html)**
-
-    The native client API allows your clients to create and manage connection pools. The server side does not have an API.
-
--   **[Pool Configuration Example and Settings](configuring-pools-attributes-example.html)**
-
-    Connection pools require standard client/server distributed system and cache configuration settings. You must also configure settings for the locator, server, and pool elements.
-
--   **[Subscription Properties](subscription-properties.html)**
-
-    Each connection pool has a single subscription connection that can be to any server that matches the requirements of the connection pool.
-
--   **[Running the Connection Pool Code](running-connection-pool-code.html)**
-
-    Examples demonstrate a simple procedure to create a pool factory and then create a pool instance in C++ and C\#. They also help you to execute a query.
-
-
diff --git a/docs/geode-native-docs/connection-pools/connection-pools.html.md.erb b/docs/geode-native-docs/connection-pools/connection-pools.html.md.erb
deleted file mode 100644
index e57778d..0000000
--- a/docs/geode-native-docs/connection-pools/connection-pools.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  Using Connection Pools
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-*Using Connection Pools* describes how connection pools achieve load balancing for the client and describes how to configure connection pools as server locators or as a list of servers.
-
--   **[How Client Load Balancing Works](client-load-balancing.html)**
-
-    In a distributed system, servers can be added or removed and their capacity to service new client connections may vary. The server connectivity options are specified in the connection pool configuration.
-
--   **[Configuring Pools](configuring-pools.html)**
-
-    A pool can be configured as locators or as a list of servers.
-
-
diff --git a/docs/geode-native-docs/connection-pools/discovering-locators-dynamically.html.md.erb b/docs/geode-native-docs/connection-pools/discovering-locators-dynamically.html.md.erb
deleted file mode 100644
index e00bed0..0000000
--- a/docs/geode-native-docs/connection-pools/discovering-locators-dynamically.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Discovering Locators Dynamically
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-A background thread periodically queries the locator for any other locators joining the distributed system.
-
-However, if locator A (to which the client is connected) goes down before it discovers locator B, locator B is never discovered even though it is alive and the client receives a `NoLocatorsAvailable` exception.
-
-One connection is attached to every application thread that is `local` to the respective thread. This is known as a thread local connection.
-
-In this case, to perform any cache operation the client is not required to obtain a connection from pool. Instead the thread local connection of the client is used.
-
-A thread local connection can be released by invoking the `Pool::releaseThreadLocalConnection()` method. The released connection is returned to the pool. If the number of threads is larger than the number of `max-connections`, the client throws an `AllConnectionsInUseException` after the `free-connection-timeout` lapses, unless the `Pool::releaseThreadLocalConnection()` method is used judiciously.
-
-If a connection expires or the server goes down on which the connection was established, a thread local connection is immediately replaced with a good connection obtained from the pool.
-
-
diff --git a/docs/geode-native-docs/connection-pools/running-connection-pool-code.html.md.erb b/docs/geode-native-docs/connection-pools/running-connection-pool-code.html.md.erb
deleted file mode 100644
index fd62593..0000000
--- a/docs/geode-native-docs/connection-pools/running-connection-pool-code.html.md.erb
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title:  Running the Connection Pool Code
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Examples demonstrate a simple procedure to create a pool factory and then create a pool instance in C++ and C\#. They also help you to execute a query.
-
-The examples create a pool with locators. Ensure that you create a pool with locators or endpoints, but not both. The first example demonstrates creating a pool by adding locators. The second example demonstrates creating a pool by adding servers. For more information, see the example in the QuickStart Guide.
-
-## Connection Pool Creation and Execution Using C++
-
-``` pre
-PropertiesPtr prptr = Properties::create();
-systemPtr = CacheFactory::createCacheFactory(prptr);
-
-cachePtr = systemPtr->create();
-PoolFactoryPtr poolFacPtr = PoolManager::createFactory();
-//to create pool add either endpoints or add locators or servers
-//pool with endpoint, adding to pool factory
-//poolFacPtr->addServer("localhost", 12345 /*port number*/);
-//pool with locator, adding to pool factory
-poolFacPtr->addLocator("localhost", 34756 /*port number*/);
-PoolPtr pptr = NULLPTR;
-if ((PoolManager::find("examplePool")) == NULLPTR) {
-  // Pool with this name does not exist
-  pptr = poolFacPtr->create("examplePool");
-}
-RegionFactoryPtr regionFactory =
-    cachePtr->createRegionFactory(CACHING_PROXY);
-regionPtr = regionFactory
-    ->setPoolName("examplePool")
-    ->create("regionName");
-QueryServicePtr qs = cachePtr->getQueryService("examplePool");
-```
-
-## Connection Pool Creation and Execution Using C\# .NET
-
-``` pre
-Properties prop = Properties.Create();
-CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(prop);
-Cache cache = cacheFactory.Create();
-
-PoolFactory poolFact = PoolManager.CreateFactory();
-//to create pool add either endpoints or add locators
-//pool with endpoint, adding to pool factory.
-poolFact.AddServer("localhost", 40404 /*port number*/);
-//pool with locator, adding to pool factory
-//poolFact.AddLocator("hostname", 15000 /*port number*/);
-Pool pool = null;
-if (PoolManager.Find("poolName") == null) {
-  pool = poolFact.Create("poolName");
-}
-int loadConditInterval = pool.LoadConditioningInterval;
-RegionFactory regionFactory =
-    cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-IRegion<string, string> region =
-    regionFactory.SetPoolName(poolName).Create<string, string>(regionName);
-```
-
-
diff --git a/docs/geode-native-docs/connection-pools/subscription-properties.html.md.erb b/docs/geode-native-docs/connection-pools/subscription-properties.html.md.erb
deleted file mode 100644
index 5c3ff1b..0000000
--- a/docs/geode-native-docs/connection-pools/subscription-properties.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  Subscription Properties
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Each connection pool has a single subscription connection that can be to any server that matches the requirements of the connection pool.
-
-When a client registers interest for a region, if the connection pool does not already have a subscription channel, the connection pool sends a message to the server locator, and the server locator chooses servers to host the queue and return those server names to the client. The client then contacts the chosen servers and asks them to create the queue.
-
-The client maintains at least one connection with each server hosting a queue. If the server does not detect any connections from a non-durable client, it drops the client queue and closes all artifacts for the client. For information about durable client subscriptions, see [Durable Client Messaging](../preserving-data/durable-client-messaging.html#concept_F88B659FB4324F599924F3F2933452B4).
-
-## <a id="subscription-properties__section_294BD33FBDC6454FAD9C5118829EBBA4" class="no-quick-link"></a>Requesting a Subscription Region Queue
-
-The client-to-server locator request is a short lived TCP request. The client sends a message with:
-
--   The client ID.
--   (Optional) target server group.
--   Number of redundant copies.
--   Servers to exclude from the results. This list is used if the client cannot connect to a server and needs to request a new one.
-
-The server locator responds with a list of servers. The client is responsible for contacting the primary and secondaries and asking them to host the queue.
-
-For durable subscriptions, the server locator must be able to locate the servers that host the queues for the durable client. When a durable client sends a request, the server locator queries all the available servers to see if they are hosting the subscription region queue for the durable client. If the server is located, the client is connected to the server hosting the subscription region queue.
-
-
diff --git a/docs/geode-native-docs/continuous-querying/1-how-cont-query-works.html.md.erb b/docs/geode-native-docs/continuous-querying/1-how-cont-query-works.html.md.erb
deleted file mode 100644
index 35194a8..0000000
--- a/docs/geode-native-docs/continuous-querying/1-how-cont-query-works.html.md.erb
+++ /dev/null
@@ -1,72 +0,0 @@
----
-title:  How Continuous Querying Works
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-C++ and .NET clients register interest in events using simple query expressions. Events are sent to client listeners that you can program to do whatever your application requires.
-
-## <a id="security__section_D4F0FAC4880A49A18D6E11B777C2716A" class="no-quick-link"></a>Overview of CQ Operations
-
-You subscribe to server-side events using SQL-type query filtering. The native client sends a query to the server side for execution and receives the events that satisfy the criteria.
-
-For example, in a region storing stock market trade orders, you can retrieve all orders over a certain price by running a CQ with a query like this:
-
-``` pre
-SELECT * FROM /tradeOrder t WHERE t.price > 100.00
-```
-
-When the CQ is running, the server sends the client all new events that affect the results of the query. On the native client side, listeners programmed by you receive and process incoming events. For the example query on `/tradeOrder`, you might program a listener to push events to a GUI where higher-priced orders are displayed. CQ event delivery uses the client/server subscription framework described in [Client to Server Connection Process](../client-cache/client-to-server-connection.h [...]
-
-CQs do not update the native client region. This is in contrast to other server-to-client messaging, such as the updates sent to satisfy interest registration and responses to get requests from the client. CQs are notification tools for the CQ listeners, which can be programmed in any way your application requires.
-
-When a CQ is running against a server region, each entry event is evaluated against the CQ query by the thread that updates the server cache. If either the old or the new entry value satisfies the query, the thread puts a `CqEvent` in the client's queue. The `CqEvent` contains information from the original cache event, plus information specific to the CQ's execution. Once received by the client, the `CqEvent` is passed to the `onEvent` method of all `CqListeners` defined for the CQ.
-
-## <a id="security__section_9FEA0CFD3DA64BF5B42B37F5CE05C993" class="no-quick-link"></a>Logical Architecture and Data Flow
-
-Clients can execute any number of CQs, with each CQ given any number of listeners. This figure shows the logical architecture of continuous querying.
-
-<img src="../common/images/10-Continuous_Querying-1.gif" id="security__image_7B1C48755BE541BDBCD7DCD442728754" class="image" />
-
-The next figure shows the typical CQ data flow when entries are updated in the server cache. A description of the data flow follows, along with a description of CQ state and life cycle.
-
-<img src="../common/images/10-Continuous_Querying-3.gif" id="security__image_F5E03A24E29C41B683EC6E85B3B64977" class="image" />
-
-1.  Entry events come to the server's cache from any source: the server or its peers, distribution from remote sites, or updates from a client.
-2.  For each event, the server's CQ executor framework checks for a match with the CQs it has running.
-3.  If the old or new entry value satisfies a CQ query, a CQ event is sent to the CQ's listeners on the client side. Each listener for the CQ gets the event. In the preceding figure:
-    -   Both new and old prices for entry X satisfy the CQ query, so that event is sent indicating an update to the query results.
-    -   The old price for entry Y satisfied the query, so it was part of the query results. The invalidation of entry Y means that it does not satisfy the query. Because of this, the event is sent indicating that it is destroyed in the query results.
-    -   The price for the newly created entry Z does not satisfy the query, so no event is sent.
-
-The region operations do not translate directly to specific query operations, and the query operations do not specifically describe the region events. Instead, each query operation describes how its corresponding region event affects the query results. For more information, see [CqEvent Object](5c-cq-event-object.html#security).
-
-## <a id="security__section_677EB38AB60E4410A8A60980CD3BAACB" class="no-quick-link"></a>State and Life Cycle
-
-A CQ has three possible states that can be accessed from the client by calling `CqQuery.getState`.
-
--   `STOPPED`. The CQ has been created but not yet executed, or it has been explicitly stopped from executing. The stopped CQ uses system resources. You start or restart the CQ by calling the execute method on `CqQuery`.
--   `RUNNING`. The CQ is being executed on the server for all events in the region referenced by the query. Results are sent to all client listeners associated with the `CqQuery`.
--   `CLOSED`. The CQ is closed and is not using system resources. Invoking an `execute` or `stop` method on closed `CqQuery` throws an exception.
-
-**Typical CQ life cycle**
-
-1.  The client creates the CQ. This sets up everything for running the query and provides the client with a `CqQuery` object, but does not execute the CQ. At this point, the query is in a `STOPPED `state, ready to be closed or run.
-2.  The client runs the CQ with an API call to one of the `CqQuery execute*` methods. This puts the query into a `RUNNING` state on the client and on the server.
-3.  The CQ is closed by a client call to `CqQuery.close`. This de-allocates all resources in use for the CQ on the client and server. At this point, the cycle could begin again with the creation of a new `CqQuery` instance.
-
diff --git a/docs/geode-native-docs/continuous-querying/2-config-for-continuous-querying.html.md.erb b/docs/geode-native-docs/continuous-querying/2-config-for-continuous-querying.html.md.erb
deleted file mode 100644
index dd62022..0000000
--- a/docs/geode-native-docs/continuous-querying/2-config-for-continuous-querying.html.md.erb
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title:  Configuring Your System for Continuous Querying
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The continuous query (CQ) functionality requires standard client/server distributed system and cache configuration settings.
-
--   The client region must use a pool with subscription-enabled set to true .
--   If you want your CQs to be highly available, configure your servers for high availability as described in [Configuring Highly Available Servers](serverman/developing/events/configuring_highly_available_servers.html) in the server documentation. When your servers are highly available, CQs are registered on primary and secondary servers, and server failover is performed without any interruption to CQ messaging. CQ events messaging uses the same queues used for server-to-client messaging.
-    **Note:**
-    When CQ is used with high availability, the overhead for CQs is higher than for the key-based interest list registration. CQs are executed on the primary and all secondary servers, so they require more overall server processing.
-
--   To obtain a list of all durable CQs registered on the server, use the `QueryService.getAllDurableCqsFromServer` API.
--   If you want your CQs to be durable, configure your native clients for durable messaging. When your clients are durable, you can create durable CQs whose events are maintained during client disconnects and replayed for the client when it reconnects. The process and data flow particular to durable CQs is described in [Durable Client Messaging](../preserving-data/durable-client-messaging.html).
diff --git a/docs/geode-native-docs/continuous-querying/3-client-cq-api.html.md.erb b/docs/geode-native-docs/continuous-querying/3-client-cq-api.html.md.erb
deleted file mode 100644
index 403d8ed..0000000
--- a/docs/geode-native-docs/continuous-querying/3-client-cq-api.html.md.erb
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title:  CQ API and Main Features
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This chapter documents the primary native client API for CQ management.
-
-The <%=vars.product_name_long%> native client API allows your clients to create and manage CQs. (The server side does not have an API.) Continuous querying provides native client query syntax, events-based management, integration with client/server architecture, active query execution, and interest criteria based on data values. For complete information on the classes and interfaces described here, 
-see the documentation for the [C++ API](/releases/latest/api/cppdocs) or the [.NET API](/releases/latest/api/dotnetdocs).
-
-**Apache.Geode.Client.Cache**
-
-Only C\# versions of CQ API interfaces, classes, and methods are shown here (example: `CqQuery.execute`). The code examples demonstrate both C++ and C\# versions.
-
--   `QueryService` interface. Provides methods that enable you to:
-    -   Create a new CQ and specify whether it is durable (available for durable clients)
-    -   Execute a CQ with or without an initial result
-    -   List all the CQs registered by the client
-    -   Close and stop CQs
-    -   Get a handle on `CqStatistics` for the client
-
-    You run `QueryService` CQ methods against the server cache. The QueryService can be obtained from the cache or from a pool.
--   `CqQuery`interface. Provides methods for managing a continuous query after it is created through the `QueryService`. This interface is used typically to begin and end CQ execution and to retrieve other CQ-related objects such as CQ attributes, CQ statistics, and CQ state.
--   `CqListener` application plug-in interface. Handles continuous query events after they occur. You program this interface.
--   `CqEvent`interface. Provides all information sent from the server about the CQ event, which is passed to the CQ's `CqListener` methods.
--   `CqState` interface. Provides information on the state of a `CqQuery`, through the getState method of the `CqQuery` instance.
--   `CqAttributes, CqAttributesFactory, CqAttributesMutator` interfaces. Allow you to manage CQ attributes. The attributes consist of `CqListener `plug-in specifications.
--   `CqStatistics, CqServiceStatistics` interfaces. Allow you to access statistics information for a single CQ and for the query service's management of CQs as a whole. For details on statistics, see [Statistics API](../cpp-caching-api/gfe-cpp-api.html#concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_42764C6327944514AE4A26684D7EBCB0).
-
-## <a id="security__section_74A3A0ECC2B645CEAEFDF68350E55EB4" class="no-quick-link"></a>Main Features of Continuous Querying
-
-Continuous querying in the native client has the following features:
-
--   **Standard <%=vars.product_name%> native client query syntax and semantics**. CQ queries are expressed in the same language used for other native client queries. See [Remote Querying](../remote-querying/remote-querying.html).
--   **Standard <%=vars.product_name%> events-based management of CQ events**. The event handling used to process CQ events is based on the standard <%=vars.product_name%> event handling framework. The CQListener interface is similar to [Application Plug-Ins](../client-cache/application-plugins.html) and [Application Callbacks](../dotnet-caching-api/application-callbacks.html).
--   **Complete integration with the client/server architecture**. CQ functionality uses existing server-to-client messaging mechanisms to send events. All tuning of your server-to-client messaging also tunes the messaging of your CQ events. If your system is configured for high availability then your CQs are highly available, with seamless failover provided in case of server failure (see [High Availability for Client-to-Server Communication](../preserving-data/high-availability-client-se [...]
--   **Interest criteria based on data values**. CQ queries are run against the region's entry values. Compare this to register interest by reviewing [Registering Interest for Entries](../client-cache/registering-interest-for-entries.html).
--   **Active query execution**. Once initialized, the queries only operate on new events instead of on the entire region data set. Events that change the query result are sent to the client immediately.
-
-
diff --git a/docs/geode-native-docs/continuous-querying/5-implementing-cq.html.md.erb b/docs/geode-native-docs/continuous-querying/5-implementing-cq.html.md.erb
deleted file mode 100644
index 365f476..0000000
--- a/docs/geode-native-docs/continuous-querying/5-implementing-cq.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Implementing a Continuous Query
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You can specify CQs for any client region.
-
-Here are the high-level steps for implementing a continuous query, with links to more detailed information in this chapter.
-
-1.  Make sure your system is configured properly to run CQs. See [Configuring for Continuous Querying](2-config-for-continuous-querying.html#security).
-2.  Decide what data to track on the server and write your queries. Use your criteria for tracking data changes to write your CQ queries. See [Writing the Continuous Query](5a-writing-cq.html#security).
-3.  Determine how to handle the CQ events on the client and write your listeners.
-
-    Each CQ can have any number of listeners. In addition to your core CQ listeners, you might have listeners that you use for all CQs to track statistics or other general information. See [Writing the CQ Listener](5b-writing-cq-listener.html#security).
-
-4. The [`CqEvent` object](5c-cq-event-object.html) contains information about the CQ event.
-
-5.  Write the client code to put the queries and their listeners into named CQ queries and execute the queries. Make sure you close the queries if your client no longer needs them and when the client exits. See [Running the Continuous Query Code](5e-running-cq-code.html#security).
-
-6. [CQ Execution Options](5f-cq-execution-options.html).
-7. [When an Error Occurs in a Running CQ](5d-when-error-occurs.html).
-8.  Run your code, monitor and tune as needed.
-
diff --git a/docs/geode-native-docs/continuous-querying/5a-writing-cq.html.md.erb b/docs/geode-native-docs/continuous-querying/5a-writing-cq.html.md.erb
deleted file mode 100644
index cf1294d..0000000
--- a/docs/geode-native-docs/continuous-querying/5a-writing-cq.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Writing the Continuous Query
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Each CQ uses a query and any number of listeners. The query filters the events on the server and the listener handles the events that make it through the query filter. With the query and the listener in hand, you can create and execute your query through the API.
-
-This is the basic syntax for the CQ query:
-
-``` pre
-SELECT * FROM /fullRegionPath [iterator] [WHERE clause]
-```
-
-The CQ query must satisfy the standard <%=vars.product_name%> native client querying specifications described in [Remote Querying](../remote-querying/remote-querying.html). It also must satisfy these restrictions:
-
--   The `FROM` clause must contain only a single region specification, with optional iterator variable.
--   The query must be a `SELECT` expression only, preceded by zero or more `IMPORT` statements. This means the query cannot be a statement like `/tradeOrder.name` or `(SELECT * from                     /tradeOrder).size`.
--   The CQ query cannot use:
-    -   Cross region joins
-    -   Drill-downs into nested collections
-    -   `DISTINCT`
-    -   Projections
-    -   Bind parameters
-
-Queries not meeting these constraints generate an `UnsupportedOperationException` from the `QueryServicenewCq` method.
-
-
diff --git a/docs/geode-native-docs/continuous-querying/5b-writing-cq-listener.html.md.erb b/docs/geode-native-docs/continuous-querying/5b-writing-cq-listener.html.md.erb
deleted file mode 100644
index 2ba4c2c..0000000
--- a/docs/geode-native-docs/continuous-querying/5b-writing-cq-listener.html.md.erb
+++ /dev/null
@@ -1,297 +0,0 @@
----
-title:  Writing the CQ Listener or CQ Status Listener
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The following C++ and C\# .NET examples show how you might program a simple `CqListener` or `CqStatusListener` to update a display screen based on the CQ events it receives.
-
-The listener retrieves the `queryOperation` and entry key and value from the `CqEvent` , then updates the screen according to the operation type provided in `queryOperation`.
-
-CQ events do not change your client cache. They are provided as an event service only. This allows you to have any collection of CQs without storing large amounts of data in your regions. If you need to persist information from CQ events, program your listener to store the information where it makes the most sense for your application.
-
-Be very careful if you choose to update your cache from your `CqListener`. If your listener updates the region that is queried in its own CQ, the update may be forwarded to the server. If the update on the server satisfies the same CQ, it may be returned to the same listener that did the update, which could put your application into an infinite loop. This same scenario could be played out with multiple regions and multiple CQs if the listeners are programmed to update each other's regions.
-
-## CqListener Implementation (C++)
-
-``` pre
-// CqListener class
-class TradeEventListener : public CqListener {
-   public:
-  void onEvent(const CqEvent& cqEvent) {
-    // Operation associated with the query op
-    CqOperation::CqOperationType queryOperation = cqEvent.getQueryOperation();
-    // key and new value from the event
-    CacheableKeyPtr key = cqEvent.getKey();
-    TradeOrderPtr tradeOrder = dynCast<TradeOrderPtr>(cqEvent.getNewValue());
-    if (queryOperation==CqOperation::OP_TYPE_UPDATE) {
-      // update data on the screen for the trade order
-      . . .
-    }
-    else if (queryOperation==CqOperation::OP_TYPE_CREATE) {
-     // add the trade order to the screen
-      . . .
-    }
-    else if (queryOperation==CqOperation::OP_TYPE_DESTROY) {
-    // remove the trade order from the screen
-      . . .
-   }
- }
- void onError(const CqEvent& cqEvent) {
-  // handle the error
- }
- void close() {
-  // close the output screen for the trades
-  . . .
- }
-}
-```
-
-## CqListener Implementation (C\# .NET)
-
-``` pre
-// CqListener class
-public class TradeEventListener : ICqListener {
-  void OnEvent(CqEvent<TKey, TResult>^ ev) {
-     // Operation associated with the query op
-     CqOperationType queryOperation = ev.getQueryOperation();
-     // key and new value from the event
-     ICacheableKey key = ev.getKey();
-     CacheableString keyStr = key as CacheableString;
-     IGeodeSerializable val = ev.getNewValue();
-     TradeOrder tradeOrder = val as TradeOrder;
-     if (queryOperation==CqOperationType.OP_TYPE_UPDATE) {
-        // update data on the screen for the trade order
-        // . . .
-        }
-     else if (queryOperation== CqOperationType.OP_TYPE_CREATE) {
-        // add the trade order to the screen
-        // . . .
-     }
-     else if (queryOperation== CqOperationType.OP_TYPE_DESTROY) {
-        // remove the trade order from the screen
-        // . . .
-     }
-   }
-   public void OnError(CqEvent<TKey, TResult>^ ev) {
-       // handle the error
-   }
-   // From CacheCallback
-   public void Close() {
-      // close the output screen for the trades  
-      // . . .
-   }
-} 
-```
-
-## <a id="security__section_B80352FB8FC94C929C934598FE958692" class="no-quick-link"></a>Writing a CqStatusListener
-
-If you need your CQs to detect whether they are connected to any of the servers that host its subscription queues, implement a `CqStatusListener` instead of a `CqListener`.
-
-`CqStatusListener` extends the current `CqListener`, allowing a client to detect when a CQ is connected and/or disconnected from the server(s). The `onCqConnected()` method will be invoked when the CQ is connected, and when the CQ has been reconnected after being disconnected. The `onCqDisconnected()` method will be invoked when the CQ is no longer connected to any servers.
-
-Taking the examples from above, we can instead implement a `CqStatusListener`.
-
-When you install the `CqStatusListener`, your listener will be able to detect its connection status to the servers that it is querying.
-
-## CqStatusListener Implementation (C++)
-
-``` pre
-class MyCqStatusListener : public CqStatusListener {
-  uint8_t m_id;
-  uint32_t m_numInserts;
-  uint32_t m_numUpdates;
-  uint32_t m_numDeletes;
-  uint32_t m_numEvents;
-  uint32_t m_cqsConnectedCount;
-  uint32_t m_cqsDisconnectedCount;
-
-  public:
-  uint8_t getId()
-  {
-    return m_id;
-  }
-  uint32_t getNumInserts()
-  {
-    return m_numInserts;
-  }
-  uint32_t getNumUpdates()
-  {
-    return m_numUpdates;
-  }
-  uint32_t getNumDeletes()
-  {
-    return m_numDeletes;
-  }
-  uint32_t getNumEvents()
-  {
-    return m_numEvents;
-  }
-  uint32_t getCqsConnectedCount()
-  {
-    return m_cqsConnectedCount;
-  }
-  uint32_t getCqsDisConnectedCount()
-  {
-    return m_cqsDisconnectedCount;
-  }
-  MyCqStatusListener(uint8_t id):
-    m_id(id),
-    m_numInserts(0),
-    m_numUpdates(0),
-    m_numDeletes(0),
-    m_numEvents(0),
-    m_cqsDisconnectedCount(0),
-    m_cqsConnectedCount(0)
-  {
-  }
-  inline void updateCount(const CqEvent& cqEvent)
-  {
-    m_numEvents++;
-    switch (cqEvent.getQueryOperation())
-    {
-      case CqOperation::OP_TYPE_CREATE: {
-        m_numInserts++;
-        break;
-        }
-      case CqOperation::OP_TYPE_UPDATE: {
-        m_numUpdates++;
-        break;
-        }
-      case CqOperation::OP_TYPE_DESTROY: {
-        m_numDeletes++;
-        break;
-        }
-      default:
-        break;
-       }
-  }
-  void onEvent(const CqEvent& cqe){
-    updateCount(cqe);
-  }
-  void onError(const CqEvent& cqe){
-    updateCount(cqe);
-  }
-  void close(){
-  }
-  void onCqDisconnected() {
-    //This is called when the cq loses connection with all servers.
-    m_cqsDisconnectedCount++;
-  }
-  void onCqConnected() {
-    //This is called when the cq establishes a connection with a server.
-    m_cqsConnectedCount++;
-  }
-  void clear() {
-    m_numInserts = 0;
-    m_numUpdates = 0;
-    m_numDeletes = 0;
-    m_numEvents = 0;
-    m_cqsDisconnectedCount = 0;
-    m_cqsConnectedCount = 0;
-  }
-};
-```
-
-## CQStatusListener Implementation (C\# .NET)
-
-``` pre
-  public class MyCqStatusListener<TKey, TResult> : ICqStatusListener<TKey, TResult>
-  {
-    #region Private members
-    private bool m_failedOver = false;
-    private UInt32 m_eventCountBefore = 0;
-    private UInt32 m_errorCountBefore = 0;
-    private UInt32 m_eventCountAfter = 0;
-    private UInt32 m_errorCountAfter = 0;
-    private UInt32 m_CqConnectedCount = 0;
-    private UInt32 m_CqDisConnectedCount = 0;
-    #endregion
-
-    #region Public accessors
-    public MyCqStatusListener(int id)
-    {
-    }
-    public void failedOver()
-    {
-      m_failedOver = true;
-    }
-    public UInt32 getEventCountBefore()
-    {
-      return m_eventCountBefore;
-    }
-    public UInt32 getErrorCountBefore()
-    {
-      return m_errorCountBefore;
-    }
-    public UInt32 getEventCountAfter()
-    {
-      return m_eventCountAfter;
-    }
-    public UInt32 getErrorCountAfter()
-    {
-      return m_errorCountAfter;
-    }
-    public UInt32 getCqConnectedCount()
-    {
-      return m_CqConnectedCount;
-    }
-    public UInt32 getCqDisConnectedCount()
-    {
-      return m_CqDisConnectedCount;
-    }
-    #endregion
-
-    public virtual void OnEvent(CqEvent<TKey, TResult> ev)
-    {
-      if (m_failedOver == true)
-        m_eventCountAfter++;
-      else
-        m_eventCountBefore++;      
-    }
-    public virtual void OnError(CqEvent<TKey, TResult> ev)
-    {
-      if (m_failedOver == true)
-        m_errorCountAfter++;
-      else
-        m_errorCountBefore++;
-    }
-    public virtual void Close()
-    {
-    }
-    public virtual void OnCqConnected()
-    {
-      m_CqConnectedCount++;      
-    }
-    public virtual void OnCqDisconnected()
-    {
-      m_CqDisConnectedCount++;      
-    }
-    public virtual void Clear()
-    {
-      m_eventCountBefore = 0;
-      m_errorCountBefore = 0;
-      m_eventCountAfter = 0;
-      m_errorCountAfter = 0;
-      m_CqConnectedCount = 0;
-      m_CqDisConnectedCount = 0;
-    }
-  }
-```
-
-
diff --git a/docs/geode-native-docs/continuous-querying/5c-cq-event-object.html.md.erb b/docs/geode-native-docs/continuous-querying/5c-cq-event-object.html.md.erb
deleted file mode 100644
index 7d2e45e..0000000
--- a/docs/geode-native-docs/continuous-querying/5c-cq-event-object.html.md.erb
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title:  CqEvent Object
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The `CqEvent` object contains information about the CQ event.
-
--   Entry key and new value.
--   Base operation that triggered the CQ event in the server.
--   `CqQuery` object associated with this CQ event.
--   Query operation associated with this CQ event. This operation describes the change affected to the query results by the cache event. Possible values are:
-    -   `CREATE`, which corresponds to the standard database `INSERT` operation.
-    -   ` UPDATE`
-    -   `DESTROY`, which corresponds to the standard database `DELETE` operation.
-
-<a id="security__section_A619799378B14214AF922D819907FF38"></a>
-This table describes the query operation based on whether the old and new entry values in the region entry event satisfy the query criteria.
-
-<a id="security__table_92A6A66523764199A19BCD66BA189921"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Query Operation Based on Old and New Entry Values</span></caption>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><strong>Old Entry Value</strong></td>
-<td><strong>New Entry Value</strong></td>
-<td><strong>Query Operation</strong></td>
-</tr>
-<tr class="even">
-<td>No value or value does not satisfy the query criteria.</td>
-<td>No value (operation is <code class="ph codeph">invalidate</code> or <code class="ph codeph">destroy</code>) or value does not satisfy the query.
-<p></p>
-<p>Value satisfies the query.</p></td>
-<td>N/A - no event
-<p></p>
-<p></p>
-<p><code class="ph codeph">create</code></p></td>
-</tr>
-<tr class="odd">
-<td>Value satisfies the query</td>
-<td>No value (operation is <code class="ph codeph">invalidate</code> or <code class="ph codeph">destroy</code>) or value does not satisfy the query.
-<p></p>
-<p>Value satisfies the query.</p></td>
-<td><code class="ph codeph">destroy</code>
-<p></p>
-<p></p>
-<p><code class="ph codeph">update</code></p></td>
-</tr>
-</tbody>
-</table>
-
-<span class="tablecap">**Table 1.** Query Operation Based on Old and New Entry Values</span>
-
-You can use the query operation to decide what to do with the `CqEvent` in your listeners. For example, a `CqListener` that displays query results on screen might stop displaying the entry, start displaying the entry, or update the entry display depending on the query operation.
-
-
diff --git a/docs/geode-native-docs/continuous-querying/5d-when-error-occurs.html.md.erb b/docs/geode-native-docs/continuous-querying/5d-when-error-occurs.html.md.erb
deleted file mode 100644
index 8236c42..0000000
--- a/docs/geode-native-docs/continuous-querying/5d-when-error-occurs.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  When an Error Occurs in a Running CQ
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-When an error occurs in CQ execution on the server, specific information on the error itself is stored in the server's log file. An exception is passed to the client, and the client throws an exception.
-
-The server log will contain an error message indicating an error while processing CQ , like this:
-
-``` pre
-[error 2007/12/18 12:03:18.903 PST <RMI TCP Connection(2)-
-192.0.2.0> tid=0x18] Error while processing CQ on the event, key :
-key-1, CqName :testCQEvents_0, ClientId :
-identity(carlos(3249):52623/35391,connection=1,durableAttributes=null)
-Error :No public attribute named 'ID' was found in class java.lang.Object
-```
-
-Errors in CQ execution are usually caused by data errors, such as invalid object types that are stored in the server region. In this case, the query is trying to read into an object of type Portfolio for an entry where an empty object has been stored. You can avoid these types of errors by placing constraints on the region entries, or by otherwise controlling the types of objects stored in your server regions.
diff --git a/docs/geode-native-docs/continuous-querying/5e-running-cq-code.html.md.erb b/docs/geode-native-docs/continuous-querying/5e-running-cq-code.html.md.erb
deleted file mode 100644
index d94ce99..0000000
--- a/docs/geode-native-docs/continuous-querying/5e-running-cq-code.html.md.erb
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title:  Running the Continuous Query Code
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Create your CQ from an instance of the QueryService. Once created, the CQ is maintained primarily through the CqQuery interface. The following two C++ and C\# examples show the basic calls in the CQ life cycle.
-
-## CQ Creation, Execution, and Close (C++)
-
-``` pre
-// Get cache and qrySvcPtr - refs to local cache and QueryService
-// Create client /tradeOrder region configured to talk to the server
-// Create CqAttribute using CqAttributeFactory
-CqAttributesFactory cqf;
-// Create a listener and add it to the CQ attributes
-// callback defined below
-CqListenerPtr tradeEventListener (new TradeEventListener());
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService();" cqf.addCqListener(tradeEventListener);
-CqAttributesPtr cqa = cqf.create();
-// Name of the CQ and its query
-char* cqName = "priceTracker";
-char* queryStr = "SELECT * FROM /tradeOrder t where t.price > 100.00";
-// Create the CqQuery
-CqQueryPtr priceTracker = qrySvcPtr->newCq(cqName, queryStr, cqa); try {
-  // Execute CQ
-  priceTracker->execute();
-} catch (Exception& ex){
-  ex.printStackTrace();
-}
-  // Now the CQ is running on the server, sending CqEvents to the listener
-  . . .
-}
-// End of life for the CQ - clear up resources by closing
-priceTracker->close()
-```
-
-## CQ Creation, Execution, and Close (C\# .NET)
-
-``` pre
-// Get cache and queryService - refs to local cache and QueryService
-// Create client /tradeOrder region configured to talk to the server
-// Create CqAttribute using CqAttributeFactory
-CqAttributesFactory cqf = new CqAttributesFactory();
-// Create a listener and add it to the CQ attributes
-//callback defined below
-ICqListener tradeEventListener = new TradeEventListener();
-cqf.addCqListener(tradeEventListener);
-CqAttributes cqa = cqf.create();
-// Name of the CQ and its query
-String cqName = "priceTracker ";
-String queryStr = "SELECT * FROM /tradeOrder t where t.price >100.00 ";
-QueryService queryService = cache.GetQueryService();
-// Create the CqQuery
-CqQuery priceTracker = queryService.newCq(cqName, queryStr, cqa, true);
-try {
-  // Execute CQ
-  priceTracker.execute();
-  }catch (Exception ex){
-  //handle exception
-  }
-// Now the CQ is running on the server, sending CqEvents to the listener
-// . . .
-}
-// End of life for the CQ - clear up resources by closing
-priceTracker.close();
-```
-
-
diff --git a/docs/geode-native-docs/continuous-querying/5f-cq-execution-options.html.md.erb b/docs/geode-native-docs/continuous-querying/5f-cq-execution-options.html.md.erb
deleted file mode 100644
index fa4c6da..0000000
--- a/docs/geode-native-docs/continuous-querying/5f-cq-execution-options.html.md.erb
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title:  CQ Execution Options
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-CQ execution can be done with or without an initial result set by calling `CqQuery.Execute` or `CqQuery.ExecuteWithInitialResults`. The initial `SelectResults` returned from `ExecuteWithInitialResults` is the same as the one you would get if you ran the query ad hoc by calling `QueryService.NewQuery.Execute` on the server cache, but with the key added.
-
-Individual CQs are executed using` CqQueryexecute*` methods. You can also execute all CQs for the client or for a region through the client `QueryService`. CQs that are running can be stopped or closed.
-
-If you are managing a data set from the CQ results, you can initialize the set by iterating over the result set and then updating it from your listeners as events arrive. For example, you might populate a new screen with initial results and then update the screen from a listener.
-
-Just as with the standalone query, the initial results represents a possibly moving snapshot of the cache. If there are updates to the server region while the result set is being created, the result set and the subsequent event-by-event CQ query execution might miss some events.
-
-
diff --git a/docs/geode-native-docs/continuous-querying/6-managing-cqs.html.md.erb b/docs/geode-native-docs/continuous-querying/6-managing-cqs.html.md.erb
deleted file mode 100644
index cb5bfd7..0000000
--- a/docs/geode-native-docs/continuous-querying/6-managing-cqs.html.md.erb
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title:  Managing Continuous Queries
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This section discusses how to access and manage your CQs from your client. The calls discussed here are all executed specifically for the calling client. A client cannot access or modify the CQs belonging to another client.
-
-This section discusses how to access and manage your CQs from your client. The calls discussed here are all executed specifically for the calling client. A client cannot access or modify the CQs belonging to another client.
-
-For detailed method usage, see the API documentation for the [C++ API](/releases/latest/api/cppdocs) or the [.NET API](/releases/latest/api/dotnetdocs).
-
-## <a id="security__section_939E26544C6E4C419336B7B04D1DE77F" class="no-quick-link"></a>Accessing CQs and CQ Statistics
-
-You can use the `QueryServicegetCq*` methods to access a single named CQ, an array of all CQs registered, and an array of all CQs registered in the client. You canuse the `CqEvent.getCq` method to access the CQ used to produce a `CqEvent`.
-
-CQ runtime statistics are available for the client through the `CqServiceStatistics` and `CqStatistics` interfaces described under [CQ API and Main Features](3-client-cq-api.html#security). You can get information on the events generated by a specific CQ from the `CqStatistics` object returned by `CqQuery.GetStatistics`. You can get higher-level information about the CQs the client has registered, running, and so on, from the `CqServiceStatistics` object returned by `QueryService.GetCqSt [...]
-
-Client statistics are for the single client only. The server's pertain to all clients with CQs on this server.
-
-## <a id="security__section_0803146FEC9F4E088C01C521ED83723D" class="no-quick-link"></a>Modifying CQ Attributes
-
-You can modify the attributes for an existing CQ using the methods provided by `CqQuery.GetCqAttributesMutator`. The attributes consist of a list of listeners.
-
-## <a id="security__section_132104D528A7457A90EAE120B9080565" class="no-quick-link"></a>Stopping and Closing CQs
-
-You stop individual CQs with the `CqQuerystop` method. You can stop all CQs for the client through the `QueryService`. Stopped CQs are in the same state as new CQs that have not yet been executed. You can close or execute a stopped CQ.
-
-You close individual CQs with the `CqQueryclose` method. You can also close all CQs for the client through the `QueryService`. Closed CQs cannot be executed. CQs are also closed in the following cases:
-
--   The client closes its cache after closing all of its CQs--Closing the client cache closes the `QueryService` and all associated CQs on the client and server.
--   The client disconnects from its server--This might be because of a network outage or some other failure. When a client disconnects, all CQs created by the client are removed from the server and put into a `CLOSED` state on the client.
--   The server region is destroyed--When a server region is destroyed, all associated CQs are also cleaned up on the server and the region destroy event is sent to the client. On the client, the `CqListener.Close` method is called for all CQs on the region.
-
-## <a id="security__section_C11FA08192934D578C4FC1EFB610F50B" class="no-quick-link"></a>Getting All Durable CQs Registered with the Server
-
-To obtain a list of all durable CQs registered on the server, use the `QueryService.getAllDurableCqsFromServer` API.
diff --git a/docs/geode-native-docs/continuous-querying/continuous-querying.html.md.erb b/docs/geode-native-docs/continuous-querying/continuous-querying.html.md.erb
deleted file mode 100644
index 6e3439c..0000000
--- a/docs/geode-native-docs/continuous-querying/continuous-querying.html.md.erb
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title:  Continuous Querying
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-*Continuous Querying* describes how to implement continuous querying in the <%=vars.product_name_long%> native client so that C++ and .NET clients can run queries against events in the <%=vars.product_name%> cache server region. It also describes main features and the native client CQ API.
-
--   **[How Continuous Querying Works](1-how-cont-query-works.html)**
-
-    C++ and .NET clients register interest in events using simple query expressions. Events are sent to client listeners that you can program to do whatever your application requires.
-
--   **[Implementing a Continuous Query](5-implementing-cq.html)**
-
-    You can specify CQs for any client region.
-
--   **[Managing Continuous Queries](6-managing-cqs.html)**
-
-    This section discusses how to access and manage your CQs from your client. The calls discussed here are all executed specifically for the calling client. A client cannot access or modify the CQs belonging to another client.
-
--   **[CQ API and Main Features](3-client-cq-api.html)**
-
-    This chapter documents the primary native client API for CQ management.
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/accessing-entry.html.md.erb b/docs/geode-native-docs/cpp-caching-api/accessing-entry.html.md.erb
deleted file mode 100644
index 3360e18..0000000
--- a/docs/geode-native-docs/cpp-caching-api/accessing-entry.html.md.erb
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title:  Accessing an Entry
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The `Region::get` method returns the value associated with the specified key, and passes the callback argument to any cache loaders or cache writers that are invoked in the operation.
-
-If the value is not present locally, it is requested from the cache server. If the cache server request is unsuccessful, a local cache loader is invoked.
-
-The entry value is either retrieved from the local cache or fetched by the region’s locally defined cache loader.
-
-In the following example, the program uses the API to do a get for each entry that was put into the cache:
-
-``` pre
-for ( int32_t i=0; i< 100; i++) {
-    CacheableInt32Ptr res = dynCast<CacheableInt32Ptr>(regionPtr->get(i));
-}
-```
-
-## <a id="concept_2B85EC4AB9FA446998147A1539D818CC__section_80F9A9E8F8514A9FBA19106C2473B370" class="no-quick-link"></a>Bulk Get Operations Using getAll
-
-You can use the `Region::getAll` method to get values for an array of keys from the local cache or server. If the value for a key is not present locally, then it is requested from the server.
-
-**Note:**
-The value returned is not copied, so multi-threaded applications should not modify the value directly, but should instead use the update methods.
-
-The `getAll` method also supports providing a callback argument to any cache loaders or cache writers that are invoked in the operation.
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/add-entry-to-cache.html.md.erb b/docs/geode-native-docs/cpp-caching-api/add-entry-to-cache.html.md.erb
deleted file mode 100644
index 66accee..0000000
--- a/docs/geode-native-docs/cpp-caching-api/add-entry-to-cache.html.md.erb
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title:  Adding an Entry to the Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You can populate a client region with cache entries using the `Region::put` or the `Region::create` API functions.
-
-The `put` function places a new value into a region entry with the specified key, while the `create` function creates a new entry in the region. Both functions provide a user-defined parameter object to any cache writer invoked in the process, and new values for both functions are propagated to a connected cache server.
-
-## Adding Entries Using create
-
-When the put function adds an entry, the previous value is overwritten if there is already an entry associated with the specified key in the region. In this example, the program uses the API to put 100 entries into the cache by iteratively creating keys and values, both of which are integers.
-
-``` pre
-for ( int32_t i=0; i < 100; i++ ) {
-    regionPtr->put( i, CacheableInt32::create(i) );
-}
-```
-
-## <a id="concept_26D4E6C6BC6F4AB8884E33119999656D__section_748916759F0246619CD27E7456DCA365" class="no-quick-link"></a>Bulk Put Operations Using putAll
-
-You can batch up multiple key/value pairs into a hashmap and put them into the cache with a single operation using the `Region::putAll` API function. Each entry is processed for interest registration on the server, so each entry requires its own unique event ID. Updates and creates can be mixed in a `putAll` operation, so those events need to be addressed on the cache server for appropriate cache listener invocation on distributed system members. Map entries retain their original order w [...]
-
-The following table lists the client and cache server statistics for `putAll`.
-
-<a id="concept_26D4E6C6BC6F4AB8884E33119999656D__table_4693B08B5B4D44118DC399C8826C9750"></a>
-
-| Statistic Type     | Chart Name                | Description                                                                                                                                     |
-|--------------------|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
-| `CachePerfStats`   | `Putalls`                 | Total number of times a map is added or replaced in the cache as a result of a local operation. Also reports the number of `putAll` operations. |
-| `CachePerfStats`   | `putallTime`              | Total time to replace a map in the cache as a result of a local operation.                                                                      |
-| `CacheServerStats` | `putAllRequests`          | Number of `putAll` requests.                                                                                                                    |
-| `CacheServerStats` | `putAllResponses`         | Number of `putAll` responses written to the cache client.                                                                                       |
-| `CacheServerStats` | `processPutAllTime`       | Total time to process a cache client `putAll` request, including the time to put all objects into the cache.                                    |
-| `CacheServerStats` | `readPutAllRequestTime`   | Total time to read `putAll` requests.                                                                                                           |
-| `CacheServerStats` | `writePutAllResponseTime` | Total time to write `putAll` responses.                                                                                                         |
-| `CacheClientStats` | `putAll`                  | Number of `putAll` requests sent to the cache server.                                                                                           |
-| `CacheClientStats` | `sendPutAllTime`          | Total time for `sendPutAll` .                                                                                                                   |
-
-<span class="tablecap">**Table 1.** putAll Statistics for Cache Server and Client</span>
-
-The `putAll` function also supports providing a callback argument to any cache loaders or cache writers that are invoked in the operation.
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/cpp-caching-api.html.md.erb b/docs/geode-native-docs/cpp-caching-api/cpp-caching-api.html.md.erb
deleted file mode 100644
index 5659459..0000000
--- a/docs/geode-native-docs/cpp-caching-api/cpp-caching-api.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  C++ Client API
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This section describes the primary classes and usage conventions for the C++ client API. It demonstrates how to use the API to create caches and perform data serialization.
-
-The C++ API documentation is available at [C++ API](http://geode.apache.org/docs/). It provides extensive implementation details for the C++ structures and functions.
diff --git a/docs/geode-native-docs/cpp-caching-api/creating-cache.html.md.erb b/docs/geode-native-docs/cpp-caching-api/creating-cache.html.md.erb
deleted file mode 100644
index 0163714..0000000
--- a/docs/geode-native-docs/cpp-caching-api/creating-cache.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Creating a Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The code snippet in this section shows cache creation.
-
-When you create your cache, the system automatically connects your process to the server tier. For systems with security enabled, the credentials for a connecting client are authenticated when it creates the cache. See [Security](../security/overviewsecurity.html#security) for more information about authenticated connections.
-
-## Creating the System Connection and the Cache
-
-In this example, the application creates the cache by calling the `CacheFactory::create` function, specifying the servers to connect to:
-
-``` pre
-CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-    CachePtr cachePtr = cacheFactory  
-                        ->addServer("localhost", 40404)
-                        ->addServer("localhost", 40405)
-                        ->setSubscriptionEnabled(true)
-                        ->create();
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/creating-new-statistics.html.md.erb b/docs/geode-native-docs/cpp-caching-api/creating-new-statistics.html.md.erb
deleted file mode 100644
index cdc1578..0000000
--- a/docs/geode-native-docs/cpp-caching-api/creating-new-statistics.html.md.erb
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title:  Creating New Statistics
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This example provides a programmatic code sample for creating and registering new statistics.
-
-For information about the `geode_statistics` API, see [Statistics API](gfe-cpp-api.html#concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_42764C6327944514AE4A26684D7EBCB0).
-
-## Creating New Statistics Programmatically
-
-``` pre
-//Get StatisticsFactory 
-StatisticsFactory* factory = StatisticsFactory::getExistingInstance(); 
- 
- 
-//Define each StatisticDescriptor and put each in an array 
-StatisticDescriptor** statDescriptorArr = new StatisticDescriptor*[6]; 
-statDescriptorArr[0] = statFactory->createIntCounter("IntCounter",
-    "Test Statistic Descriptor Int Counter.","TestUnit"); 
- 
-statDescriptorArr[1] = statFactory->createIntGauge("IntGauge",
-    "Test Statistic Descriptor Int Gauge.","TestUnit");
- 
-statDescriptorArr[2] = statFactory->createLongCounter("LongCounter",
-    "Test Statistic Descriptor Long Counter.","TestUnit");
- 
-statDescriptorArr[3] = statFactory->createLongGauge("LongGauge",
-    "Test Statistic Descriptor Long Gauge.","TestUnit");
- 
-statDescriptorArr[4] = statFactory->createDoubleCounter("DoubleCounter",
-    "Test Statistic Descriptor Double Counter.","TestUnit");
- 
-statDescriptorArr[5] = statFactory->createDoubleGauge("DoubleGauge",
-    "Test Statistic Descriptor Double Gauge.","TestUnit");
- 
- 
-//Create a StatisticsType 
-StatisticsType* statsType = statFactory->createType("TestStatsType", 
-    "Statistics for Unit Test.",statDescriptorArr, 6); 
- 
-//Create Statistics of a given type 
-Statistics* testStat = 
-    factory->createStatistics(statsType,"TestStatistics"); 
- 
- 
-//Statistics are created and registered. Set and increment individual values 
-Int statIdIntCounter = statsType->nameToId("IntCounter"); 
-testStat->setInt(statIdIntCounter, 10 );
-testStat->incInt(statIdIntCounter, 1 );
-int currentValue = testStat->getInt(statIdIntCounter);
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/creating-region.html.md.erb b/docs/geode-native-docs/cpp-caching-api/creating-region.html.md.erb
deleted file mode 100644
index 050f249..0000000
--- a/docs/geode-native-docs/cpp-caching-api/creating-region.html.md.erb
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title:  Creating a Proxy Client-Side Region
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This section provides code examples for creating and customizing proxy client-side regions.
-
-**Note:**
-Creating a region through the client API creates only a proxy client-side region. A corresponding region with the same name and path should also exist on the servers that have been configured for client connections and upon which the client will perform its operations.
-
-To create a region, you create a `RegionFactory` using the `RegionShortcut` that most closely fits your region configuration. From that, create your region, customizing the settings as region attributes as needed.
-
-## Creating a CACHING\_PROXY Region
-
-This example creates a region using a CACHING\_PROXY `RegionShortcut` with no further modifications:
-
-``` pre
-RegionFactoryPtr regionFactory = 
-            cachePtr->createRegionFactory(CACHING_PROXY);
-regionPtr = regionFactory ->create("exampleRegion");
-```
-
-## Creating a CACHING\_PROXY Region with LRU
-
-This example creates a region based on the CACHING\_PROXY RegionShortcut with two additional region attributes settings. For information on the settings, see [Region Attributes Descriptions](../client-cache/region-attributes-desc.html#region-attributes-desc).
-
-``` pre
-RegionFactoryPtr regionFactory = 
-              cachePtr->createRegionFactory(CACHING_PROXY);
-regionPtr = regionFactory->setLruEntriesLimit( 20000 )
-              ->setInitialCapacity( 20000 )
-              ->create("exampleRegion");
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/data-as-blob.html.md.erb b/docs/geode-native-docs/cpp-caching-api/data-as-blob.html.md.erb
deleted file mode 100644
index e3c45f2..0000000
--- a/docs/geode-native-docs/cpp-caching-api/data-as-blob.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Serializing and Accessing Data as a Blob
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-If you have data that is best handled as a blob, such as structs that do not contain pointers, use the serializable type `CacheableBytes` . `CacheableBytes` is a blob class that implements the serialization for you.
-
-`CacheableBytes` also provides direct access to the blob data. Because it is not derived from the `CacheableKey` interface, `CacheableBytes` enables you to modify data in place and then put it into the region again to distribute the change.
-
diff --git a/docs/geode-native-docs/cpp-caching-api/gfe-cpp-api.html.md.erb b/docs/geode-native-docs/cpp-caching-api/gfe-cpp-api.html.md.erb
deleted file mode 100644
index 5884cf3..0000000
--- a/docs/geode-native-docs/cpp-caching-api/gfe-cpp-api.html.md.erb
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title:  About the C++ Client API
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The C++ client API allows C++ developers to programmatically create, populate, and manage a distributed system. The C++ library is thread-safe, except where specified otherwise.
-
-This chapter gives a general overview of the classes in the `apache::geode::client` namespace. For complete and current information on the classes listed here, see the [C++ API](/releases/latest/api/cppdocs).
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_14B45E09CA014951AD38D0E051DF8727" class="no-quick-link"></a>Cache Classes
-
-The C++ client API has the following cache classes:
-
--   **CacheFactory**. Use this class to create and configure a `Cache` instance. If `cache.xml` is specified, the cache is created based on the declarations loaded from that file.
--   **Cache**. Entry point to the client caching API. The cache is created by calling the `create` function of the factory class, `CacheFactory`. Regions are configured and obtained using the `Cache::createRegionFactory()` API.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_9F27929D85CC4EBFB29925974776C985" class="no-quick-link"></a>Region Classes
-
-The C++ client API has the following region classes:
-
--   **Region**. Provides functions for managing regions and cached data. Use these functions to perform the following actions:
-    -   Retrieve information about the region, such as its parent region and region attribute objects.
-    -   Invalidate or destroy the region.
-    -   Create, update, invalidate and destroy region entries.
-    -   Retrieve region entry keys, entry values, and RegionEntry objects, either individually or as entire sets.
-    -   Retrieve the statistics object associated with the region.
-    -   Set and get user-defined attributes.
--   **RegionEntry**. Contains the key and value for the entry, and provides all non-distributed entry operations. This object's operations are not distributed and do not affect statistics.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_CEC4E57E76E84D099D0F55F49F3B64DA" class="no-quick-link"></a>Region Attribute Classes
-
-The native client C++ API has the following region attribute classes:
-
--   **RegionAttributes**. Holds all attribute values for a region and provides functions for retrieving all attribute settings. This class can be modified by the `AttributesMutator` class after region creation.
--   **AttributesMutator** . Allows modification of an existing region’s attributes for application plug-ins and expiration actions. Each region has an `AttributesMutator` instance.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_658D04298E13459382D48544AF36A2FA" class="no-quick-link"></a>Application Plug-In Classes
-
-The C++ client API has the following application plug-in classes:
-
--   **CacheLoader**. Loads data into a region on a cache miss.
--   **CacheWriter**. Synchronously handles region and entry events before the events occur. Entry events are `create`, `update`, `invalidate`, and `destroy`. Region events are invalidate and destroy. This class has the ability to abort events.
--   **CacheListener**. Handles region and entry events after they occur. Entry events are `create`, `update`, `invalidate`, and `destroy`. Region events are `invalidate` and `destroy`.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_B3479F5739B048C0BD3EDA89BE0266E0" class="no-quick-link"></a>Event Handling Classes
-
-The C++ client API has the following event handling classes:
-
--   **RegionEvent**. Provides information about the event, such as in what region the event originated, whether the event originated in a cache remote to the event handler, and whether the event resulted from a distributed operation.
--   **EntryEvent**. Provides all available information for the `RegionEvent`, and provides entry-specific information such as the old and new entry values and whether the event resulted from a `load` operation.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_42764C6327944514AE4A26684D7EBCB0" class="no-quick-link"></a>Statistics API
-
-The `StatisticsType` API represents a blueprint for the same type of `Statistics`. The `StatisticsType` API is a collection of `StatisticDescriptor`. Internally, each `StatisticDescriptor` describes data of each individual statistic. `StatisticsFactory` provides functionality for creating `StatisticDescriptor`, `StatisticsType`, and `Statistics` objects.
-
--   **CacheStatistics** --This class defines common statistics functions. `Region` and `RegionEntry` both have functions that return a `CacheStatistics` object for accessing and resetting their statistics counts.
--   **StatisticDescriptor**. An instance of this class describes a statistic whose value is updated by an application and may be archived by the native client. Each statistic has a type of either `int`, `long`, or `double`, and either a gauge or a counter. The value of a gauge can increase and decrease, and the value of a counter strictly increases. Create an instance of `StatisticDescriptor` by calling one of these `StatisticsFactory` functions: `createDoubleCounter`, `createDoubleGauge [...]
--   **StatisticsType**. An instance of this class describes a logical collection of `StatisticDescriptors`. These descriptions are used to create an instance of `Statistics`. Create an instance of `StatisticsType` by calling `StatisticsFactory::createType`.
--   **Statistics**. An instance of this class represents concrete `Statistics` of the associated `StatisticsType`. This class stores data related to all individual statistic objects. Create an instance by calling `StatisticsFactory::createStatistics`. This class has functions to get, set, and increment statistic values.
--   **StatisticsFactory**. This class provides functions for creating instances of `StatisticDescriptor`, `StatisticsType`, and `Statistics objects`. This is a singleton class, and you acquire its instance by using `StatisticsFactory::getExistingInstance`.
-
-To create new statistics, see [Creating New Statistics](creating-new-statistics.html#concept_664156CBD79C44C4B200DA2D64180A65).
diff --git a/docs/geode-native-docs/cpp-caching-api/object-graphs.html.md.erb b/docs/geode-native-docs/cpp-caching-api/object-graphs.html.md.erb
deleted file mode 100644
index 182b72d..0000000
--- a/docs/geode-native-docs/cpp-caching-api/object-graphs.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Serializing Object Graphs
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-If you have a graph of objects where each node can be serializable, the parent node can call `DataOutput::writeObject` to delegate the serialization responsibility to its child nodes. Similarly, your application can call `DataInput::readObject` to deserialize the object graph.
-
diff --git a/docs/geode-native-docs/cpp-caching-api/pdx-auto-serialization.html.md.erb b/docs/geode-native-docs/cpp-caching-api/pdx-auto-serialization.html.md.erb
deleted file mode 100644
index 358ff7a..0000000
--- a/docs/geode-native-docs/cpp-caching-api/pdx-auto-serialization.html.md.erb
+++ /dev/null
@@ -1,366 +0,0 @@
----
-title: Using Automatic PDX Serialization
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You can allow your C++ client applications to automatically PDX serialize and deserialize domain objects without having to add any extra code by using the provided `pdxautoserializer` command line tool.
-
-When using the C++ client API, you can automatically serialize and deserialize domain objects without making any code changes to those objects or having to implement a `PdxSerializer` or `PdxSerializable` interface and their related `fromData` and `toData` methods. The `pdxautoserializer` command-line utility allows you to generate C++ code that will serialize your domain objects in the PDX format for you.
-
-## <a id="task_czj_wnw_dl" class="no-quick-link"></a>How to Use Automatic PDX Serialization
-
-The procedure below uses the following sample class:
-
-``` pre
-class PortfolioPdx 
-{
-  private:
-    int32_t id;
-    char* pkid;
-    PositionPdxPtr position1;
-    PositionPdxPtr position2;
-    CacheableHashMapPtr positions;
-    char** names;    
-    int8_t* newVal;
-    CacheableDatePtr creationDate;
-    int8_t* arrayNull;
-    int8_t* arrayZeroSize;
-  public:
-    // CTOR
-    // DTORS
-    // Other Methods declarations
-```
-
-For each domain class you provide, all fields are considered for serialization except those defined as static or transient and those you explicitly exclude using macros.
-
-1.  Inherit your class from `apache::geode::client::PdxSerializable`.
-
-    ``` pre
-    class PortfolioPdx : public PdxSerializable
-    ```
-
-2.  Add the following method declarations in the public part of the class.
-
-    ``` pre
-    const char* getClassName() const;
-    virtual void toData(apache::geode::client::PdxWriterPtr pw);
-    virtual void fromData(apache::geode::client::PdxReaderPtr pr);
-    static std::shared_ptr<PdxSerializable> createDeserializable();
-    ```
-
-3.  In your pre-build environment (for example in your **makefiles**), call `pdxautoserializer` as follows:
-
-    ``` pre
-    <GFCPP>/bin/pdxautoserializer.exe --outDir=<location to generate files> <SOURCE_DIR>/PortfolioPdx.hpp
-    ```
-
-4.  Include the generated file in your project and compile.
-
-The following is an example of a generated file:
-
-``` pre
-#include "PortfolioPdx.hpp"
-#include <geode/PdxWriter.hpp>
-#include <geode/PdxReader.hpp>
-#include <geode/PdxAutoSerializer.hpp>
-namespace testobject
-{
-  void PortfolioPdx::toData(apache::geode::client::PdxWriterPtr var)
-  {
-    apache::geode::client::PdxAutoSerializable::writePdxObject(var, "id", id);
-    apache::geode::client::PdxAutoSerializable::writePdxObject(var, "pkid", pkid);
-    apache::geode::client::PdxAutoSerializable::writePdxObject(var, "position1", position1);
-    apache::geode::client::PdxAutoSerializable::writePdxObject(var, "position2", position2);
-    apache::geode::client::PdxAutoSerializable::writePdxObject(var, "positions", positions);
-    apache::geode::client::PdxAutoSerializable::writePdxObject(var, "status", status);
-    apache::geode::client::PdxAutoSerializable::writePdxObject(var, "creationDate", creationDate);
-  }
-
-  void PortfolioPdx::fromData(PdxReaderPtr var)
-  {
-    apache::geode::client::PdxAutoSerializable::readPdxObject(var, "id", id);
-    apache::geode::client::PdxAutoSerializable::readPdxObject(var, "pkid", pkid);
-    apache::geode::client::PdxAutoSerializable::readPdxObject(var, "position1", position1);
-    apache::geode::client::PdxAutoSerializable::readPdxObject(var, "position2", position2);
-    apache::geode::client::PdxAutoSerializable::readPdxObject(var, "positions", positions);
-    apache::geode::client::PdxAutoSerializable::readPdxObject(var, "status", status);
-    apache::geode::client::PdxAutoSerializable::readPdxObject(var, "creationDate", creationDate);
-  }
-  
-  const char* PortfolioPdx::getClassName()  const
-  {
-     return "PortfolioPdx";
-  }
-}
-```
-
-## <a id="task_fs4_vkj_2l" class="no-quick-link"></a>Handling Arrays
-
-1.  Define the following macro in your header file:
-
-    ``` pre
-    #define GFARRAYSIZE(x)
-    ```
-
-2.  Assuming that the following is the class member of type array:
-
-    ``` pre
-    int8_t* newVal;
-    ```
-
-    Then define a new variable which sets the length of the array:
-
-    ``` pre
-    int32_t newValSize;
-    ```
-
-3.  Tag the new variable with the `GFARRAYSIZE` macro as follows:
-
-    ``` pre
-    GFARRAYSIZE(newVal) int32_t newValSize;
-    ```
-
-## Using a Single Variable as Length for Multiple Arrays
-
-You can use the GFARRAYSIZES to have single length for multiple arrays.
-
-Define the GFARRAYSIZES macro as follows:
-
-``` pre
-#define GFARRAYSIZES(x)
-```
-
-The following is an example usage:
-
-``` pre
-class ArrayOfSizes?
-    {
-    public:
-    int32_t* array1;
-    int32_t* array2;
-    int32_t* array3;
-    int32_t* array4;
-    int32_t* array5;
-
-    GFARRAYSIZE(array1) int32_t singleSize; 
-    GFARRAYSIZES("array2,array3,array4,array5") int32_t SingleSizeToMultipleArrays?;
-  };​
-```
-
-## <a id="task_hph_mrw_dl" class="no-quick-link"></a>Excluding Member Variables from Serialization
-
-1.  Define the following macro in your header file:
-
-    ``` pre
-    #define GFEXCLUDE
-    ```
-
-2.  Tag your member variable with this macro:
-
-    ``` pre
-    GFEXCLUDE char* type;
-    ```
-
-## <a id="task_en2_4rw_dl" class="no-quick-link"></a>Marking Identity Fields
-
-Identity fields are used when comparing objects using the `hashCode` and `equals` methods.
-
-1.  Define the following macro in your header file.
-
-    ``` pre
-    #define GFID(x)
-    ```
-
-2.  Assuming that the following is the class member you want to use as IdentityField:
-
-    ``` pre
-    int8_t* newVal;
-    ```
-
-    Tag the member with the GFID macro as follows:
-
-    ``` pre
-    GFID(newVal)int8_t* newVal;
-    ```
-
-## Ignoring User Defined Keywords
-
-You might have certain user defined keywords after the class name. Current C++ grammar does not support this. If you have some keywords user will have to ignore them by using the `GFIGNORE` macro.
-
-For example, consider the following class definition:
-
-``` pre
-#ifdef _WIN32
-#ifdef BUILD_TESTOBJECT
-#define TESTOBJECT_EXPORT _GEODE_LIBEXP
-#else
-#define TESTOBJECT_EXPORT _GEODE_LIBIMP
-#endif
-#else
-#define TESTOBJECT_EXPORT
-#endif
-
-namespace PdxAutoTests {
-  class TESTOBJECT_EXPORT PdxAutoMegaType :  public PdxSerializable {
-  }
-```
-
-Currently, the `pdxautoserializer` tool will fail to recognize `TESTOBJECT_EXPORT`. Change your class by adding the `GFIGNORE` macro as follows:
-
-``` pre
-#ifdef _WIN32
-#ifdef BUILD_TESTOBJECT
-#define TESTOBJECT_EXPORT _GEODE_LIBEXP
-#else
-#define TESTOBJECT_EXPORT _GEODE_LIBIMP
-#endif
-#else
-#define TESTOBJECT_EXPORT
-#endif
-
-using namespace apache::geode::client;
-
-#define GFIGNORE(X) X
-#define GFID
-
-namespace PdxAutoTests {
-  class GFIGNORE(TESTOBJECT_EXPORT) PdxAutoMegaType :  public PdxSerializable {
-```
-
-## <a id="topic_d3q_v3c_2l" class="no-quick-link"></a>Additional Usage Information for the pdxautoserializer Tool
-
-The `pdxautoserializer` tool takes classes as input and generates code that will serialize the class into the PDX format for you.
-
-The `pdxautoserializer` tool is located in `$GEODE/bin` where `$GEODE` corresponds to the installation location of the client.
-
-Some additional notes about using the `pdxautoserializer` tool:
-
--   Any const type in the class members are ignored by the `pdxserializer` tool.
--   Generated files will have namespace in the file name.
-
-To view the command-line help for the tool, type:
-
-``` pre
-prompt> pdxautoserializer.exe --help
-```
-
-Help returns the following syntax and usage information:
-
-``` pre
-Usage: pdxautoserializer.exe [OPTIONS] <resources e.g. header> ...
-
-Resource name should be the path to the header containing the classes to be 
-auto-serialized.
-
-[OPTIONS] may be one of those given below.
-
-SINGLE denotes that the option should be specified only once.
-MULTIPLE denotes that the option can be specified more than once.
-OPTIONAL denotes that the option may be skipped in which case the default 
-for that shall be chosen.
-
---className=VALUE       Name of the class for which to generate auto-serialization code (MULTIPLE,OPTIONAL)
---classNameStr=VALUE    Name of the class in string (MULTIPLE,OPTIONAL)
---help                  This help message.
---outDir                The output directory of the generated files (SINGLE,OPTIONAL)
---suffix                The suffix of the generated filenames -- default is 'Serializable' (SINGLE,OPTIONAL)
---usage                 This usage message.
-
-Examples:
-pdxautoserializer -outDir=<DIR NAME> <RESOURCE>
-pdxautoserializer -outDir=<DIR NAME> --className=<CLASSNAME1> --className=<CLASSNAME2> <RESOURCE>
-pdxautoserializer -outDir=<DIR NAME> --classNameStr=<CLASSNAME1:User defined String> --classNameStr=<CLASSNAME:User defined String> <RESOURCE>
-
-Helper Macros to be defined in Input Header File :
-GFINCLUDE        for including a specific member for serialization
-GFEXCLUDE        for excluding a specific member for serialization
-GFID             for considering a member as Identify Field
-GFARRAYSIZE      for specifying a array length member
-GFIGNORE         for ignoring certain keywords
-For more details refer to documentation on this utility.
-```
-
-## Generating Automatic Code for a Single Class
-
-Many times there are multiple classes in a single header file. For example:
-
-``` pre
-#ifndef HEADER_HEADER
-#define HEADER_HEADER
-
-class class1{
-};
-class class2{
-};
-class class3 : public PdxSerializable{
-};
-#endif
-```
-
-If you want to generate code for only one of the classes, then use the `--className` option. For example, if you only want to generate code for class3, then you would use the following command:
-
-``` pre
-pdxautoserializer --outDir=<outDir> --className=class3
-```
-
-## Choosing Your Own Suffix to Identify the Generated Files.
-
-The `pdxserializer` tool also provides the option to choose your own suffix for the generated C++ files. This can help you write less code in your makefiles. Here's an example command:
-
-``` pre
-pdxautoserializer --outDir=<outDir> --className=CharTypes --suffix="generated"
-```
-
-## <a id="topic_f33_fsw_dl" class="no-quick-link"></a>Example of Using PDX Serialization in Your Application
-
-``` pre
-CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-    // Create a cache with the "clientPdxRemoteQuery.xml" Cache XML file.
-    CachePtr cachePtr = cacheFactory->set("cache-xml-file", "XMLs\\clientPdxRemoteQuery.xml")
-                        ->create();
-
-    LOGINFO("Created the Cache");
-
-    // Get the example Region from the Cache which is declared in the Cache XML file.
-    RegionPtr regionPtr = cachePtr->getRegion( "Portfolios");
-
-    LOGINFO( "Obtained the Region from the Cache");
-
-    // Register our Serializable/Cacheable Query objects, viz. PortfolioPdx and PositionPdx.
-    Serializable::registerPdxType(PortfolioPdx::createDeserializable);
-    PortfolioPdxPtr port1Ptr(new PortfolioPdx(1 /*ID*/, 10 /*size*/));
-    PortfolioPdxPtr port2Ptr(new PortfolioPdx(2 /*ID*/, 20 /*size*/));
-    PortfolioPdxPtr port3Ptr(new PortfolioPdx(3 /*ID*/, 30 /*size*/));
-    regionPtr->put("Key1", port1Ptr);
-    regionPtr->put("Key2", port2Ptr);
-    regionPtr->put("Key3", port3Ptr);
-    
-    // Get the QueryService from the Cache.
-    QueryServicePtr qrySvcPtr = cachePtr->getQueryService( "examplePool");
-
-    LOGINFO( "Got the QueryService from the Cache");
-
-    // Execute a Query which returns a ResultSet.
-    QueryPtr qryPtr = qrySvcPtr->newQuery("SELECT DISTINCT * FROM /Portfolios");
-    SelectResultsPtr resultsPtr = qryPtr->execute();
-
-    LOGINFO( "ResultSet Query returned %d rows", resultsPtr->size());
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/pdx-ignore-unread-fields.html.md.erb b/docs/geode-native-docs/cpp-caching-api/pdx-ignore-unread-fields.html.md.erb
deleted file mode 100644
index 1149494..0000000
--- a/docs/geode-native-docs/cpp-caching-api/pdx-ignore-unread-fields.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Configuring PDX to Ignore Unread Fields During Deserialization
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Use the `setPdxIgnoreUnreadFields` API to control whether PDX ignores fields that were unread during deserialization.
-
-The default is to preserve unread fields by including their data during serialization. However, if you configure the cache to ignore unread fields then their data will be lost during serialization.
-
-You should only set this attribute to `true` if you know this member will only be reading cache data. In this use case you do not need to pay the cost of preserving unread fields since you will never reserialize the PDX data.
-
-For example:
-
-``` pre
-CacheFactoryPtr cfPtr = CacheFactory::createCacheFactory(PropertiesObj);
-cfPtr->setPdxReadSerialized(tue);
-cfPtr->setPdxIgnoreUnreadFields(false);
-cachePtr = cfPtr->create();
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/pdx-serialization.html.md.erb b/docs/geode-native-docs/cpp-caching-api/pdx-serialization.html.md.erb
deleted file mode 100644
index aacb1fa..0000000
--- a/docs/geode-native-docs/cpp-caching-api/pdx-serialization.html.md.erb
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title:  Serializing Data with PDX Serialization
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-PDX is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually to avoid the cost of deserializing the entire data object. When you use PDX serialization with the C++ client API, you can register a `PdxSerializer` for the entire cache, implement PDX serialization for each domain object or use automatic PDX serialization by running the `pdxautoserializer` tool.
-
-You can also set the object preference of the cache to the `PdxInstance` type, which allows you to access fields of a PDX object without deserializing the entire object.
-
-When using the C++ client API, you can opt to use PDX autoserialization. The command line tool `pdxautoserializer` will automatically generate C++ code to PDX serialize the class you want to serialize.
-
--   **[Serialize Your Domain Objects with PdxSerializer and PdxWrapper](using-pdxserializer.html)**
-
-    For domain objects that you cannot or do not want to modify, use the `PdxSerializer` and the `PdxWrapper` classes to serialize and deserialize the object's fields.
-
--   **[Serialize Using the PdxSerializable Class](pdxserializable-interface.html)**
-
-    Domain classes need to inherit the `PdxSerializable` abstract class to serialize and de-serialize the object. When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form.
-
--   **[Using Automatic PDX Serialization](pdx-auto-serialization.html)**
-
-    You can allow your C++ client applications to automatically PDX serialize and deserialize domain objects without having to add any extra code by using the `pdxautoserializer` command line tool.
-
--   **[Programming Your Application to Use PdxInstances](using-pdxinstance.html)**
-
-    A `PdxInstance` is a lightweight wrapper around the raw bytes of the PDX serialized objects kept in the cache. It provides applications with run-time access to files of a PDX serialized object. <%=vars.product_name%> provides the implementation of the `PdxInstance` class.
-
--   **[Configuring PDX to Ignore Unread Fields During Deserialization](pdx-ignore-unread-fields.html)**
-
-    Use the `setPdxIgnoreUnreadFields` API to control whether PDX ignores fields that were unread during deserialization.
-
--   **[Using PdxInstanceFactory to Create PdxInstances](using-pdxinstancefactory.html)**
-
-    You can use the `PdxInstanceFactory` API to create a `PdxInstance` from raw data when the domain class is not available on the server.
-
--   **[Using C++ Enum Type with PDX Serialization](using-enum-type-with-pdx.html)**
-
-    Because there is no "object" base type in C++, enums cannot be directly passed as parameters to the `writeObject` and `readObject` API.
-
--   **[Using PDX Serialization with Delta Propagation](pdx-with-delta-propagation.html)**
-
-    To use delta propagation with PDX serialization, you must implement the `Delta` interface methods.
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/pdx-with-delta-propagation.html.md.erb b/docs/geode-native-docs/cpp-caching-api/pdx-with-delta-propagation.html.md.erb
deleted file mode 100644
index 4f9bbf4..0000000
--- a/docs/geode-native-docs/cpp-caching-api/pdx-with-delta-propagation.html.md.erb
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title:  Using PDX Serialization with Delta Propagation
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="concept_F33AC930A8F14F0A9EE07AC31FFD8C8F__section_6C08121D7A034993A7422985FBC9A0D9"></a>
-You can include delta propagation support with PDX serialization by implementing the `Delta` interface methods. 
-However, using delta propagation with PDX will require that you implement Java side classes. The objects will remain in deserialized form at all times on the server and you will lose one of the main benefits of PDX.
-
-In addition, you must set `read-serialized` to `false`. Otherwise, Java objects will be deserialized to instances of `PdxInstance`, which never implements deltas.
-
-The following code snippet is a sample implementation of the Delta interface methods for using with PDX serialization.
-
-``` pre
-class PdxWithDelta : public PdxSerializable, public Delta
-{
-public:
-
-  bool hasDelta();
-  void toDelta(DataOutput& output);
-  void fromDelta(DataInput& input);
-  DeltaPtr clone();
-
-// other PdxSerializable methods here...
-
-};
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/pdxserializable-interface.html.md.erb b/docs/geode-native-docs/cpp-caching-api/pdxserializable-interface.html.md.erb
deleted file mode 100644
index 72dfbbf..0000000
--- a/docs/geode-native-docs/cpp-caching-api/pdxserializable-interface.html.md.erb
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title:  Serialize Using the PdxSerializable Class
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Domain classes need to inherit the `PdxSerializable` abstract class to serialize and de-serialize the object. When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form.
-
-When you run queries against the objects on the servers, only the fields you specify are deserialized. A domain class should serialize and de-serialize all its member fields in the same order in its `toData` and `fromData` method.
-
-Use this procedure to program your domain object for PDX serialization using the `PdxSerializable` abstract class.
-
-1.  In your domain class, implement `PdxSerializable`. Example:
-
-    ``` pre
-    class PdxObject: public PdxSerializable
-    ```
-
-2.  Program the `toData` function to serialize your object as required by your application.
-
-    If you also use PDX serialization in Java or .NET for the object, serialize the object in the same way for each language. Serialize the same fields in the same order and mark the same identity fields.
-
-3.  Program the `fromData` method to read your data fields from the serialized form into the object's fields.
-
-    In your `fromData` implementation, use the same name as you did in `toData` and call the read operations in the same order as you called the write operations in your `toData` implementation.
-
-4.  Optionally, program your domain object's hashCode and equality methods.
-
-    Use the `markIdentityField` method to indicate that the given field name should be included in hashCode and equality checks of this object on a server.
-
-    The fields that are marked as identity fields are used to generate the hashCode and equality methods of PdxInstance. Because of this, the identity fields should themselves either be primitives, or implement hashCode and equals.
-
-    If no fields are set as identity fields, then all fields will be used in hashCode and equality checks. The identity fields should make marked after they are written using a `write`\* method.
-
-## PdxSerializable Example
-
-``` pre
-class PdxObject: public PdxSerializable {
-
-private:
-    uint32_t m_id;
-    char* m_str;
-
-public:
-    PdxObject(){};
-    PdxObject(uint32_t id, char* str);
-    virtual ~PdxObject();
-
-    uint32_t getID() {
-        return m_id;
-    }
-
-    char* getStr(){
-        return m_str;
-    }
-
-    virtual void toData(PdxWriterPtr pw) const;
-    virtual void fromData(PdxReaderPtr pr);
-    CacheableStringPtr toString() const;
-    virtual char* getClassName() const;
-    static Cacheable* createDeserializable() {
-        return new PdxObject();
-    }
-};
-
-PdxObject::PdxObject(uint32_t i, char* str) {
-    m_id = i;
-    m_str = str;
-}
-
-PdxObject::~PdxObject() {
-}
-
-void PdxObject::toData( PdxWriterPtr pw ) const {
-    pw->writeInt("id", m_id);
-       pw->markIdentityField("id");
-    pw->writeString("str", m_str);
-}
-
-void  PdxObject::fromData( PdxReaderPtr pr )
-{
-    m_id = pr->readInt("id");
-    m_str = pr->readString("str");
-}
-
-char* getClassName() const{
-{
-    return "com.example.PdxType";
-}
-
-CacheableStringPtr PdxObject::toString() const {
-       char idbuf[1024];
-       sprintf(idbuf,"PdxObject: [ ID=%d ]",m_id);
-       return CacheableString::create( idbuf );
-}
-```
-
diff --git a/docs/geode-native-docs/cpp-caching-api/performing-ops-with-pdx-object.html.md.erb b/docs/geode-native-docs/cpp-caching-api/performing-ops-with-pdx-object.html.md.erb
deleted file mode 100644
index 42e0d9f..0000000
--- a/docs/geode-native-docs/cpp-caching-api/performing-ops-with-pdx-object.html.md.erb
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title:  Performing put, get, and localDestroy Operations with a PDX Domain Object
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This topic demonstrates how you can perform operations on a PDX domain object after you have implemented PDX serializable in your domain class.
-
-For example, you can perform operations like put, get, and localDestroy with the domain class you defined for PDX serialization in the [PdxSerializable Example](pdxserializable-interface.html#concept_79E4C10E5F634A7F84F96633694B3D69__example_70237026967A42898584AE644D437E69).
-
-To perform operations, you could write the following application code:
-
-1.  Register the PDX domain class.
-
-    ``` pre
-    Serializable::registerPdxType(PdxObject::createDeserializable);
-    ```
-
-2.  Create the PDX domain object `PdxObject`.
-
-    ``` pre
-    CacheablePtr pdxobj(new PdxObject(100, "Value-1"));
-    CacheableKeyPtr keyport = CacheableKey::create("ABC");
-    ```
-
-3.  Here's an example of a put operation.
-
-    ``` pre
-    rptr->put(keyport, pdxobj);
-    ```
-
-4.  Here's an example of locally destroying the entry.
-
-    ``` pre
-    rptr->localDestroy(keyport);
-    ```
-
-5.  Here's an example of a get operation.
-
-    ``` pre
-    PdxObject *obj2 = dynamic_cast<PdxObject *> ((rptr->get(keyport)).ptr());
-    LOGINFO("Debug:Returned ID = %d", obj2->getID());
-    ```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/region-data-requiring-serialization.html.md.erb b/docs/geode-native-docs/cpp-caching-api/region-data-requiring-serialization.html.md.erb
deleted file mode 100644
index 648d0dc..0000000
--- a/docs/geode-native-docs/cpp-caching-api/region-data-requiring-serialization.html.md.erb
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title:  Region Data Requiring Serialization
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Certain region types (including client regions) require serialization.
-
-Region data in the following types of regions must be serializable:
-
--   Partitioned regions (except functions that add data locally to a partitioned region use the deserialized form).
--   Distributed regions.
--   Regions that are persisted or overflowed to disk.
--   Server or client regions in a client/server installation.
--   Regions distributed between gateways in a multi-site installation.
--   Regions that receive events from remote caches.
--   Regions that provide function arguments and results.
-
-To minimize the cost of serialization and deserialization, <%=vars.product_name%> avoids changing the data format whenever possible. This means your data may be stored in the cache in serialized or deserialized form, depending on how you use it. For example, if a server acts only as a storage location for data distribution between clients, it makes sense to leave the data in serialized form, ready to be transmitted to clients that request it. Partitioned region data is always stored in s [...]
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/removing-entry.html.md.erb b/docs/geode-native-docs/cpp-caching-api/removing-entry.html.md.erb
deleted file mode 100644
index 975e9b9..0000000
--- a/docs/geode-native-docs/cpp-caching-api/removing-entry.html.md.erb
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title:  Removing an Entry
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The `Region::remove` function removes the entry with specified key and provides a user-defined parameter object to any `CacheWriter` or `CacheListener` invoked in the process.
-
-The `remove` call not only removes the value, but also the key and entry from this region. The remove operation is propagated to the server to which the client is connected. If the destroy operation fails due to an exception on the server (for example, a `CacheServerException` or security exception), then the local entry is still removed.
-
-The `remove` operation updates `CacheStatistics::getLastAccessedTime` and `CacheStatistics::getLastModifiedTime` for this region and the entry.
-
-The `remove` function returns true if the entry (key, value) has been removed or false if the entry (key, value) has not been removed.
-
-## Bulk Remove Operations Using removeAll
-
-You can use the `Region::removeAll` function to remove all entries from the region for a collection of specified keys. The effect of this call is equivalent to that of calling `destroy` on this region once for each key in the specified collection. If an entry does not exist, then that key is skipped. Note that an `EntryNotFoundException` is not thrown.
-
-The `removeAll` function also supports providing a callback argument to any cache loaders or cache writers that are invoked in the operation.
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/serialization-options.html.md.erb b/docs/geode-native-docs/cpp-caching-api/serialization-options.html.md.erb
deleted file mode 100644
index 045e6d2..0000000
--- a/docs/geode-native-docs/cpp-caching-api/serialization-options.html.md.erb
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title:  Data Serialization Options
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The C++ client API gives two serialization options: the `apache::geode::client::Serializable` interface and <%=vars.product_name%> PDX serialization.
-
-<%=vars.product_name%> Portable Data eXchange (PDX) serialization is the recommended option. PDX serialization provides portability for PDX serializable objects so that clients can share data with Java servers and other non-C++ clients. PDX is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually in order to avoid the cost of deserializing the entire data object. PDX also allows [...]
-
-When using PDX serialization, you can use either `PdxSerializer` (for all your domain objects) or `PdxSerializable` (for a specific domain object).
-
-`PdxSerializer` is used when a user has registered a domain class for serialization in the cache using the `registerPdxSerializer` API.
-
-`PdxSerializable` is used when the domain class that a user wants to serialize/deserialize is inherited from the `PdxSerializable` interface, and the user has registered the domain class using the `registerPdxType(domainClass)` API.
-
-The non-PDX serialization option is to use the `apache::geode::client::Serializable` interface. This `Serializable` interface can be a good option performance-wise if the size of your objects is small. `Serializable` is used whenever a user domain class is not inherited by `PdxSerializable`, but the user has registered the class with the `registerType` API. See [Serializing Data with the Serializable Interface](serialization-using-serializable.html#concept_696AB5206C3E45898CC1A24CDD93D00 [...]
-
-<a id="concept_7B6F272ACEA14753A723CB73B858ADBE__table_D61A94C4BFBE4712835F632F30BB488E"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Serialization Options—Comparison of Features</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="25%" />
-<col width="25%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Capability</th>
-<th>Serializable</th>
-<th>PdxSerializable</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>Handles multiple versions of domain objects*</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Provides single field access on servers of serialized data, without full deserialization. Supported also for OQL queries.</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="odd">
-<td><p>Automatically ported to other languages by <%=vars.product_name%> - no need to program Java-side implementation</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Works with GemFire delta propagation</p></td>
-<td>X</td>
-<td>X**</td>
-</tr>
-</tbody>
-</table>
-
-<span class="tablecap">**Table 1.** Serialization Options—Comparison of Features</span>
-
-\* You can mix domain object versions where the differences between versions are the addition and removal of object fields.
-
-\*\* See [Using PDX Serialization with Delta Propagation](pdx-with-delta-propagation.html#concept_F33AC930A8F14F0A9EE07AC31FFD8C8F) for requirements.
-
diff --git a/docs/geode-native-docs/cpp-caching-api/serialization-overview.html.md.erb b/docs/geode-native-docs/cpp-caching-api/serialization-overview.html.md.erb
deleted file mode 100644
index b55c568..0000000
--- a/docs/geode-native-docs/cpp-caching-api/serialization-overview.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  Serializing Data
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-All data moving out of the client cache must be serializable.
-
--   **[Region Data Requiring Serialization](region-data-requiring-serialization.html)**
-
-    Certain region types (including client regions) require serialization.
-
--   **[Data Serialization Options](serialization-options.html)**
-
-    The C++ client API provides two serialization options: the `apache::geode::client::Serializable` interface and <%=vars.product_name%> PDX serialization.
-
--   **[Serializing Data with PDX Serialization](pdx-serialization.html)**
-
-    PDX is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually to avoid the cost of deserializing the entire data object. When you use PDX serialization with a C++ client, you can register a PdxSerializer for the entire cache, implement PDX serialization for each domain object or use automatic PDX serialization by running the `pdxautoserializer` tool.
-
--   **[Serializing Data with the Serializable Interface](serialization-using-serializable.html)**
-
-    The C++ client API provides a `Serializable` interface that you can use for fast and compact data serialization. This section discusses the <%=vars.product_name%> serializable interface, and presents implementation examples.
-
--   **[Serializing Object Graphs](object-graphs.html)**
-
-    If you have a graph of objects where each node can be serializable, the parent node can call `DataOutput::writeObject` to delegate the serialization responsibility to its child nodes. Similarly, your application can call `DataInput::readObject` to deserialize the object graph.
-
--   **[Serializing and Accessing Data as a Blob](data-as-blob.html)**
-
-    If you have data that is best handled as a blob, such as structs that do not contain pointers, use the serializable type `CacheableBytes` . `CacheableBytes` is a blob class that implements the serialization for you.
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/serialization-using-serializable.html.md.erb b/docs/geode-native-docs/cpp-caching-api/serialization-using-serializable.html.md.erb
deleted file mode 100644
index f9b12f6..0000000
--- a/docs/geode-native-docs/cpp-caching-api/serialization-using-serializable.html.md.erb
+++ /dev/null
@@ -1,256 +0,0 @@
----
-title:  Serializing Data with the Serializable Interface
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The C++ client API provides a `Serializable` interface that you can use for fast and compact data serialization. This section discusses the <%=vars.product_name%> serializable interface, and presents implementation examples.
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_8143F965A8C6495E8AB104FD36DA366A" class="no-quick-link"></a>How Serialization Works
-
-When your application puts an object into the cache for subsequent distribution, <%=vars.product_name%> serializes the data by taking these steps:
-
-1.  Calls the appropriate `classId` function.
-2.  Writes the full `typeId` using the `classId` for the instance.
-3.  Invokes the instance’s `toData` function.
-
-When your application subsequently receives a byte array, <%=vars.product_name%> takes the following steps:
-
-1.  Decodes the `typeId`, extracts the `classId` from the `typeId`, then creates an object of the designated type using the registered factory functions.
-
-2.  Invokes the `fromData` function with input from the data stream.
-3.  Decodes the data, then populates the data fields.
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_786CF85FD80E4FE391135460E04D46CC" class="no-quick-link"></a>Implementing the Serializable Interface
-
-To store your own data types in the cache, you need to derive a new subclass from the `Serializable` interface. In practical terms, this means that you need to implement a small set of helper functions:
-
-1.  Write a `toData` function that serializes your data.
-
-    ``` pre
-    void toData (DataOutput& output)
-    ```
-
-    The `toData` function is responsible for copying all of the object’s data fields to the object stream.
-
-    The `DataOutput` class represents the output stream and provides methods for writing the primitives in a network byte order.
-
-2.  Write a `fromData` function that consumes a data input stream and repopulates the object’s data fields.
-
-    ``` pre
-    void fromData (DataInput& input)
-    ```
-
-    The `DataInput` class represents the input stream and provides methods for reading input elements. The `fromData` function must read the elements of the input stream in the same order that they were written by `toData`.
-
-## Example 1. The Simple Class BankAccount
-
-This example demonstrates a simple `BankAccount` class that encapsulates two `ints`, `ownerId` and `accountId`:
-
-``` pre
-class BankAccount
-{
-   private:
- 
-   int m_ownerId;
-   int m_accountId;
- 
-   public:
- 
-   BankAccount( int owner, int account ): m_ownerId( owner ),
-     m_accountId( account ) {}
- 
-   int getOwner( )
-   {
-      return m_ownerId;
-   }
- 
-   int getAccount( )
-   {
-      return m_accountId;
-   }
- 
-};
-```
-
-To make `BankAccount` serializable, you would need to derive the class from `Serializable` and implement the following:
-
--   `toData`—a function to serialize the data.
--   `fromData`—a function to deserialize the data.
--   `classId`—a function to provide a unique integer for the class.
--   `TypeFactoryMethod`—a pointer to a function that returns a `Serializable*` to an uninitialized instance of the type.
-
-## Example 2. Implementing a Serializable Class
-
-This example shows a code sample that demonstrates how to implement a serializable class.
-
-``` pre
-class BankAccount : public Serializable
-{
-   private:
-   int m_ownerId; 
-   int m_accountId;
-   public:
-   BankAccount( int owner, int account ) : m_ownerId( owner ),
-      m_accountId( account ) {}
-
-int getOwner( )
-{
-    return m_ownerId;
-}
-
-int getAccount( )
-{
-    return m_accountId;
-}
-
-// Add the following for the Serializable interface
-// Our TypeFactoryMethod
-static Serializable* createInstance( )
-{
-    return new BankAccount( 0, 0 );
-}
-
-int32_t classId( )
-{
-    return 10; // must be unique per class.
-}
-
-virtual size_t objectSize() const
-{
-    return 10;
-}
-
-void toData( DataOutput& output )
-{
-    output.writeInt( m_ownerId );
-    output.writeInt( m_accountId );
-}
-
-Serializable* fromData( DataInput& input )
-{
-    input.readInt( &m_ownerId );
-    input.readInt( &m_accountId );
-    return this;
-}
-};
-```
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_108942E549CE4DE68FF3956712DEC7AF" class="no-quick-link"></a>Registering the Type
-
-To be able to use the `BankAccount` type, you must register it with the type system so that when an incoming stream contains a `BankAccount`, it can be manufactured from the associated `TypeFactoryMethod`.
-
-``` pre
-Serializable::registerType( BankAccount::createInstance );
-```
-
-Typically, you would register the type before calling the function `DistributedSystem::connect`.
-
-**Note:**
-Type IDs must be unique to only one class.
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_311C3661023C46328B406F26F4F16808" class="no-quick-link"></a>Custom Key Types
-
-If your application uses key types that are too complex to easily force into `CacheableString`, you can likely improve performance by deriving a new class from `CacheableKey`. If you have hybrid data types you can implement your own derivation of `CacheableKey` that encapsulates the data type.
-
-See below for information about implementing key types for a client that is used with a Java cache server.
-
-To extend a `Serializable` class to be a `CacheableKey`, you need to modify the class definition as follows:
-
--   Change the class so that it derives from `CacheableKey` rather than `Serializable`.
-
--   Implement `operator==` and `hashcode` functions.
-
-## Example 3. Extending a Serializable Class To Be a CacheableKey
-
-This example shows how to extend a serializable class to be a cacheable key.
-
-``` pre
-class BankAccount
-: public CacheableKey
-{
-   private:
-   int m_ownerId;
-   int m_accountId;
-   public:
-   BankAccount( int owner, int account ) : m_ownerId( owner ),
-      m_accountId( account ) {}
-
-int getOwner( )
-{
-    return m_ownerId;
-}
-
-int getAccount( )
-{
-    return m_accountId;
-}
-
-// Our TypeFactoryMethod
-static Serializable* createInstance( )
-{
-    return new BankAccount( 0, 0 );
-}
-
-int32_t typeId( )
-{
-    return 1000; // must be unique per class.
-}
-
-void toData( DataOutput& output )
-{
-    output.writeInt( m_ownerId );
-    output.writeInt( m_accountId );
-}
-
-Serializable* fromData( DataInput& input )
-{
-    input.readInt( &m_ownerId );
-    input.readInt( &m_accountId );
-    return this;
-}
-
-// Add the following for the CacheableKey interface
-bool operator == ( const CacheableKey& other ) const
-{
-    const BankAccount& otherBA =
-    static_cast<const BankAccount&>( other );
-    return (m_ownerId == otherBA.m_ownerId) && (m_accountId == otherBA.m_accountId);
-}
-
-uint32_t hashcode( ) const
-{
-    return m_ownerId;
-}
-
-virtual int32_t classId( )const
-{
-    return 10; // must be unique per class.
-}
- 
-virtual size_t objectSize() const
-{
-    return 10;
-} 
-};
-```
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_AFB685227E4048BF9FB4FD7C55AED274" class="no-quick-link"></a>Serialization in Native Client Mode with a Java Server
-
-Primitive object types supported in all languages (`CacheableInt32`, `CacheableString`, `CacheableBytes`) function without requiring custom definitions with the Java cache server. For the keys, the Java cache server has to deserialize them and locate the hashcode to be able to insert the internal maps. Because of this, key types for C++ clients used with a Java server are required to be registered on the Java server, but the value types do not need to be registered. This needs to be done [...]
-
diff --git a/docs/geode-native-docs/cpp-caching-api/type-interoperability.html.md.erb b/docs/geode-native-docs/cpp-caching-api/type-interoperability.html.md.erb
deleted file mode 100644
index 57746f8..0000000
--- a/docs/geode-native-docs/cpp-caching-api/type-interoperability.html.md.erb
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title:  Interoperability of C++ Types When Using PDX Serialization
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This topic table lists the mapping between C++ types and other language types when using PDX serialization.
-
-In addition, the table lists which PdxReader and PdxWriter C++ APIs to use when serializing and deserializing the types.
-
-| C++ Type                          | .NET Type                                                        | Java Type               | PdxReader/PdxWriter API                      |
-|-----------------------------------|------------------------------------------------------------------|-------------------------|----------------------------------------------|
-| CacheableHashTable                | System::Collections::Hashtable                                   | java.util.Hashtable     | readObject/writeObject                       |
-| CacheableHashMap                  | System::Collections ::Generic::IDictionary&lt;Object, Object&gt; | java.util.HashMap       | readObject/writeObject                       |
-| CacheableVector                   | System::Collections::ArrayList                                   | java.util.Vector        | readObject/writeObject                       |
-| CacheableArrayList                | System::Collections:: Generic::IList&lt;Object&gt;               | java.util.ArrayList     | readObject/writeObject                       |
-| bool                              | bool                                                             | boolean                 | readBoolean/writeBoolean                     |
-| int8\_t                           | sbyte                                                            | Byte                    | readByte/writeByte                           |
-| wchar\_t/char<sup>1</sup>         | Char                                                             | Char                    | readChar/writeChar                           |
-| wchar\_t\*/char\*<sup>1</sup>     | string                                                           | string                  | readString/writeString                       |
-| double                            | Double                                                           | double                  | readDouble/writeDouble                       |
-| float                             | float                                                            | float                   | readFloat/writeFloat                         |
-| int16\_t                          | short                                                            | short                   | readShort/writeShort                         |
-| int32\_t                          | Int32/int                                                        | int                     | readInt/writeInt                             |
-| int64\_t                          | Int64/long                                                       | long                    | readLong/writeLong                           |
-| int8\_t\*                         | System.Byte\[ \]/System.SByte\[  \]                              | Byte\[  \]<sup>2</sup>    | readByteArray/writeByteArray                 |
-| double\*                          | System.Double\[  \]                                                | Double\[  \]              | readDoubleArray/writeDoubleArray             |
-| float\*                           | System.float\[  \]                                                 | Float\[  \]               | readFloatArray/writeFloatArray               |
-| CacheableHashSet                  | CacheableHashSet                                                 | java.util.HashSet       | readObject/writeObject                       |
-| CacheableLinkedHashSet            | CacheableLinkedHashSet                                           | java.util.LinkedHashSet | readObject/writeObject                       |
-| int16\_t\*                        | System.Int16\[  \]                                                 | Short\[  \]               | readShortArray/writeShortArray               |
-| int32\_t\*                        | System.Int32\[  \]                                                 | Int\[  \]                 | readIntArray/writeIntArray                   |
-| int64\_t\*                        | System.Int64\[  \]                                                 | Long\[  \]                | readLongArray/writeLongArray                 |
-| bool\*                            | System.Boolean\[  \]                                               | Boolean\[  \]             | readBooleanArray/writeBooleanArray           |
-| wchar\_t\*/char\*<sup>1</sup>     | System.Char\[  \]                                                  | char\[  \]                | readCharArray/writeCharArray                 |
-| enum<sup>3</sup>                  | enum                                                             | Enum                    | readObject/writeObject                       |
-| int8\_t\*\*                       | byte\[  \]\[  \]/Sbyte\[  \]\[  \]                                       | Byte\[  \]\[  \]            | readArrayOfByteArrays/writeArrayOfByteArrays |
-| wchar\_t\*\*/char\*\*<sup>1</sup> | System.String\[  \]                                                | String\[  \]              | readStringArray/writeStringArray             |
-| CacheableDate                     | System.DateTime (UTC)                                      | Java.util.date          | readDate/writeDate                           |
-| CacheableObjectArray              | object\[  \]/System.Object\[  \]                                     | Object\[  \]              | readObjectArray/writeObjectArray             |
-| Cacheable/Serializable            | object/System.Object                                             | Object                  | readObject/writeObject                       |
-
-<sup>1</sup>C++ allows unicode and non-unicode characters, so C++ PDX will support both wchar\_t/char and wchar\_t\*/char\*.
-
-<sup>2</sup> For Pdx, only SByte is used, as Java Byte is signed. But for DataSerializable, Byte\[  \] array is used as a data container.
-
-<sup>3</sup>C++ allows explicit setting of ordinal numbers, but it is up to the developer to map the Java enumNames with C++ enumNames. See [Using C++ Enum Type with PDX Serialization](using-enum-type-with-pdx.html#concept_F38FDBC327204B4EB1E0BC74B4C95409).
-
diff --git a/docs/geode-native-docs/cpp-caching-api/user-defined-objects.html.md.erb b/docs/geode-native-docs/cpp-caching-api/user-defined-objects.html.md.erb
deleted file mode 100644
index c7f8961..0000000
--- a/docs/geode-native-docs/cpp-caching-api/user-defined-objects.html.md.erb
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title:  Implementing User-Defined Objects in Java Clients
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You can use one of two methods to implement a user-defined object in a Java client that works with C++ clients: `Instantiator.register` and `DataSerializable`.
-
-## <a id="concept_3DE42CA33684403D8C3730E99C882B55__section_8AC81EE12D8F406DB7602AEAFFD33F2B" class="no-quick-link"></a>Instantiator.register
-
-With the `Instantiator.register` method, a client sends a `RegistrationMessage` to every Java VM in its distributed system. The message announces the mapping between a user-defined classId and class name. The other JVMs can deserialize the byte array with the correct class.
-
-## <a id="concept_3DE42CA33684403D8C3730E99C882B55__section_3F42D06A70644030869D381D03D45CC8" class="no-quick-link"></a>DataSerializable
-
-Using the `DataSerializable` method, the user-defined object is serialized into the following byte array:
-
-``` pre
-45 <2-byte-length> <class-name>
-```
-
-A Java client can deserialize the byte array, but a C++ client cannot convert the Java class name to a C++ class name.
-
-## <a id="concept_3DE42CA33684403D8C3730E99C882B55__section_F3F13E1732EB4995B2C78B0BB1ED18BB" class="no-quick-link"></a>Implementation
-
-The `DataSerializable` method does not support using a nested object, while `Instantiator.register` does support the use of nested objects. A workaround is to let each Java client manually initiate an object for each possible user object class a C++ client provides, using the following code:
-
-``` pre
-User u = new User("", 0);
-```
-
-See [Java Serialization Example](../programming-examples/serialization-java.html#serialization-java) for a code sample that shows how to set up user object classes in a Java client.
diff --git a/docs/geode-native-docs/cpp-caching-api/using-custom-class.html.md.erb b/docs/geode-native-docs/cpp-caching-api/using-custom-class.html.md.erb
deleted file mode 100644
index 8dc3aed..0000000
--- a/docs/geode-native-docs/cpp-caching-api/using-custom-class.html.md.erb
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title:  Using a Custom Class
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This example shows how to use the defined `BankAccount` custom key type and the `AccountHistory` value type.
-
-The example takes you through these basic operations: registering, creating a cache, connecting to the distributed system, putting data, getting data, and closing the cache.
-
-## Using a BankAccount Object
-
-``` pre
-#include <geode/GeodeCppCache.hpp>
-#include "BankAccount.hpp"
-#include "AccountHistory.hpp"
-using namespace apache::geode::client;
-/*
-This example connects, registers types, creates the cache, creates a
-region, and then puts and gets user defined type BankAccount.
-*/
-int main( int argc, char** argv ) {
-    // Register the user-defined serializable type.
-    Serializable::registerType( AccountHistory::createDeserializable );
-    Serializable::registerType( BankAccount::createDeserializable );
- 
-    CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-    // Create a cache.
-    CachePtr cachePtr = cacheFactory->setSubscriptionEnabled(true)
-                        ->addServer("localhost", 24680)
-                        ->create();
- 
-    // Create a region.
-    RegionFactoryPtr regionFactory = 
-                        cachePtr->createRegionFactory(CACHING_PROXY);
-    RegionPtr regionPtr = regionFactory->create("BankAccounts");
- 
-    // Place some instances of BankAccount cache region.
-    BankAccountPtr KeyPtr(new BankAccount(2309, 123091));
-    AccountHistoryPtr ValPtr(new AccountHistory());
-    ValPtr->addLog( "Created account" );
-    regionPtr->put( KeyPtr, ValPtr );
-    printf( "Put an AccountHistory in cache keyed with BankAccount.\n" );
-    // Call custom behavior on instance of BankAccount.
-    KeyPtr->showAccountIdentifier();
-    // Call custom behavior on instance of AccountHistory.
-    ValPtr->showAccountHistory();
-    // Get a value out of the region.
-    AccountHistoryPtr historyPtr =
-                      dynCast<AccountHistoryPtr>( regionPtr->get( KeyPtr ) );
-    if ( historyPtr != NULLPTR ) {
-        printf( "Found AccountHistory in the cache.\n" );
-        historyPtr->showAccountHistory();
-        historyPtr->addLog( "debit $1,000,000." );
-        regionPtr->put( KeyPtr, historyPtr );
-        printf( "Updated AccountHistory in the cache.\n" );
-    }
-    // Look up the history again.
-    historyPtr = dynCast<AccountHistoryPtr>( regionPtr->get( KeyPtr ) );
-    if ( historyPtr != NULLPTR ) {
-        printf( "Found AccountHistory in the cache.\n" );
-        historyPtr->showAccountHistory();
-    }
-    // Close the cache and disconnect from the servers
-    cachePtr->close();
-    return 0;
-}
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/using-enum-type-with-pdx.html.md.erb b/docs/geode-native-docs/cpp-caching-api/using-enum-type-with-pdx.html.md.erb
deleted file mode 100644
index 74ab639..0000000
--- a/docs/geode-native-docs/cpp-caching-api/using-enum-type-with-pdx.html.md.erb
+++ /dev/null
@@ -1,130 +0,0 @@
----
-title:  Using C++ Enum Type with PDX Serialization
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Because there is no "object" base type in C++, enums cannot be directly passed as parameters to the `writeObject` and `readObject` API.
-
-To use the C++ enum type with PDX serialization, you have to wrap the `enum` in the `CacheableEnum` class type by specifying classname, enumname and ordinal.
-
-``` pre
-enum enumQuerytest { id1, id2, id3 };
- class TESTOBJECT_EXPORT PdxEnumTestClass :public PdxSerializable
-  {
-  private:
-    int m_id;
-    CacheableEnumPtr m_enumid;
-
-  public:
-    int getID(){
-      return m_id;
-    }
-
-    CacheableEnumPtr getEnumID() {
-      return m_enumid;
-    }
-
-    PdxEnumTestClass(int id)
-    {
-      m_id = id;
-      switch (m_id) {
-        case 0:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id1", id1);
-          break;
-        case 1:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id2", id2);
-          break;
-        case 2:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id3", id3);
-          break;
-        default:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id1", id1);
-          break;
-      }
-    }
-
-    PdxEnumTestClass() { }
-
-    void toData(PdxWriterPtr pw) {
-      pw->writeInt("m_id", m_id);
-      pw->writeObject("m_enumid", m_enumid);
-    }
-
-    void fromData(PdxReaderPtr pr) {
-      m_id = pr->readInt("m_id");
-      m_enumid = pr->readObject("m_enumid");
-    }
-
-    CacheableStringPtr toString() const {
-      return CacheableString::create("PdxEnumTestClass");
-    }
-
-    char* GetClassName() const {
-      return "com.example.PdxEnumTestClass";
-    }
-
-    static std::shared_ptr<PdxSerializable> createDeserializable() {
-      return new PdxEnumTestClass();
-    }
-  };
-```
-
-## <a id="concept_F38FDBC327204B4EB1E0BC74B4C95409__section_3491F76DB8C0464D89418B89372BBAEA" class="no-quick-link"></a>How Puts and Queries Work on Enums
-
-The following code sample demonstrates how put and query operations work when using the C++ enum Type with PDX serialization:
-
-``` pre
-//Creating objects of type PdxEnumTestClass
-PdxEnumTestClassPtr pdxobj1(new PdxEnumTestClass(0));
-PdxEnumTestClassPtr pdxobj2(new PdxEnumTestClass(1));
-PdxEnumTestClassPtr pdxobj3(new PdxEnumTestClass(2));
-
-RegionPtr rptr = getHelper()->getRegion( "DistRegionAck" );
-
-//PUT Operations
-rptr->put( CacheableInt32::create(0), pdxobj1 );
-LOG( "pdxPut 1 completed " );
-
-rptr->put( CacheableInt32::create(1), pdxobj2 );
-LOG( "pdxPut 2 completed " );
-
-rptr->put( CacheableInt32::create(2), pdxobj3 );
-LOG( "pdxPut 3 completed " );
-
-
-//Query
-try {
-    Serializable::registerPdxType(PdxEnumTestClass::createDeserializable);
-    LOG("PdxEnumTestClass Registered Successfully....");
-} catch (geode::IllegalStateException&/* ex*/) {
-    LOG("PdxEnumTestClass IllegalStateException");
-}
-
-RegionPtr rptr = getHelper()->getRegion( "DistRegionAck" );
-SelectResultsPtr results = rptr->query("m_enumid.name = 'id2'");  
-ASSERT(results->size()== 1 , "query result should have one item");
-ResultSetPtr rsptr = dynCast<ResultSetPtr>(results);
-SelectResultsIterator iter = rsptr->getIterator();  
-while (iter.moveNext()) {
-    PdxEnumTestClassPtr re = dynCast<PdxEnumTestClassPtr>(iter.current());
-    ASSERT(re->getID()== 1 , "query should have returned id 1");
-}    
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/using-pdxinstance.html.md.erb b/docs/geode-native-docs/cpp-caching-api/using-pdxinstance.html.md.erb
deleted file mode 100644
index 4153dc4..0000000
--- a/docs/geode-native-docs/cpp-caching-api/using-pdxinstance.html.md.erb
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title:  Programming Your Application to Use PdxInstances
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-A `PdxInstance` is a lightweight wrapper around the raw bytes of the PDX serialized objects kept in the cache. It provides applications with run-time access to files of a PDX serialized object. <%=vars.product_name%> provides the implementation of the `PdxInstance` class.
-
-You can configure your cache to return a `PdxInstance` when a PDX serialized object is deserialized instead of deserializing the object to a domain class. Preventing deserialization saves both time and memory and does not require you deserialize the object to the domain class.
-
-This configuration can be done in cache.xml by setting the attribute `read-serialized` to `true` on the &lt;pdx&gt;element. Or it can be done programmatically using the `CacheFactory::setPdxReadSerialized(bool)` method.
-
-After this preference is configured, any time a PDX object is deserialized, it is deserialized into a `PdxInstance`.
-
-The following is a code sample of using the setField API of PdxInstance to modify fields:
-
-``` pre
-RegionPtr rptr = getHelper()->getRegion( regionNames[0] );
-CacheableKeyPtr keyport = CacheableKey::create("pdxput");
-CacheableKeyPtr keyport1 = CacheableKey::create("pdxput2");
-
-PdxInstancePtr pIPtr = dynCast<PdxInstancePtr>(rptr->get(keyport));
-LOG( "modifyPdxInstance get complete." );
-
-WritablePdxInstancePtr wpiPtr( pIPtr->createWriter());
-
-ASSERT(pIPtr != NULLPTR, "pIPtr != NULLPTR expected");   
-int val = 0;
-int newVal = 0;
-ASSERT(pIPtr->hasField("m_int32") == true, "m_id1 = true expected");
-pIPtr->getField("m_int32", val);
-wpiPtr->setField("m_int32", val + 1);
-rptr->put(keyport, wpiPtr);  
-PdxInstancePtr newPiPtr = dynCast<PdxInstancePtr>(rptr->get(keyport));  
-ASSERT(newPiPtr->hasField("m_int32") == true, "m_int32 = true expected");
-newPiPtr->getField("m_int32", newVal);  
-ASSERT(val + 1 == newVal, "val + 1 == newVal expected");  
-ASSERT((*pIPtr.ptr() == *newPiPtr.ptr()) == false, 
-       "PdxInstance should not be equal");
-```
-
-In addition to field access, `PdxInstance` also supports field modification using the `setField(fieldName)` method. The `setField` method has copy-on-write semantics. So for the modifications to be stored in the cache, the `PdxInstance` must be put into a region after `setField` has been called one or more times.
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/using-pdxinstancefactory.html.md.erb b/docs/geode-native-docs/cpp-caching-api/using-pdxinstancefactory.html.md.erb
deleted file mode 100644
index f1d755b..0000000
--- a/docs/geode-native-docs/cpp-caching-api/using-pdxinstancefactory.html.md.erb
+++ /dev/null
@@ -1,134 +0,0 @@
----
-title:  Using PdxInstanceFactory to Create PdxInstances
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-You can use the `PdxInstanceFactory` API to create a `PdxInstance` from raw data when the domain class is not available on the server.
-
-Creating a `PdxInstance` can be particularly useful when you need an instance of a domain class for plug-in code such as a function or a loader. If you have raw data for the domain object (the class name and each field's type and data), then you can explicitly create a `PdxInstance`. The `PdxInstanceFactory` API is very similar to the `PdxWriter` API except that after writing each field, you need to call the create method which returns the created `PdxInstance`.
-
-## PdxInstance Example
-
-The following is a code example of creating a `PdxInstance`.
-
-``` pre
-class Person
-{
-private:
-  char* m_name;    
-  int m_id;
-  int m_age;
-
-public:
-  Person() { }
-
-  Person(char* name, int id, int age)
-  {
-    m_name = name;
-    m_id = id;
-    m_age = age;
-  }
-
-  char* getName() const
-  {
-    return m_name;
-  }
-  int getID()
-  {
-    return m_id;
-  }
-  int getAge()
-  {
-    return m_age;
-  }
-};
-
-int main(int argc, char ** argv)
-{
-  try
-  {
-    // Create a Cache.
-    CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-
-    CachePtr cachePtr = cacheFactory->set("cache-xml-file", 
-                "XMLs/clientPdxInstance.xml")->create();          
-
-    LOGINFO("Created the <%=vars.product_name%> Cache");
-
-    // Get the example Region from the Cache which is declared in the 
-    // Cache XML file.
-    RegionPtr regionPtr = cachePtr->getRegion("Person");       
-
-    LOGINFO("Obtained the Region from the Cache.");
- 
-    Person* p = new Person("Jack", 7, 21);
-
-    //PdxInstanceFactory for Person class
-    PdxInstanceFactoryPtr pif = cachePtr->createPdxInstanceFactory("Person");
-    LOGINFO("Created PdxInstanceFactory for Person class");
-
-    pif->writeString("m_name", p->getName());
-    pif->writeInt("m_id", p->getID());
-    pif->markIdentityField("m_id");
-    pif->writeInt("m_age", p->getAge());
-
-    PdxInstancePtr pdxInstance = pif->create();
-
-    LOGINFO("Created PdxInstance for Person class");
-
-    regionPtr->put("Key1", pdxInstance);    
-
-    LOGINFO("Populated PdxInstance Object");
-
-    PdxInstancePtr retPdxInstance = regionPtr->get("Key1");
-
-    LOGINFO("Got PdxInstance Object");
-
-    int id = 0;
-    retPdxInstance->getField("m_id", id);
-
-    int age = 0;
-    retPdxInstance->getField("m_age", age);
-
-    char* name = NULL;
-    retPdxInstance->getField("m_name", &name);
-
-    if (id == p->getID()&& age == p->getAge() && strcmp(name, p->getName()) == 0
-      && retPdxInstance->isIdentityField("m_id") == true)
-      LOGINFO("PdxInstance returns all fields value expected");
-    else
-      LOGINFO("PdxInstance doesn't returns all fields value expected");
-
-    delete p;
-
-    // Close the Cache.
-    cachePtr->close();
-
-    LOGINFO("Closed the Cache");
-
-  }
-  // An exception should not occur
-  catch(const Exception & geodeExcp)
-  {    
-    LOGERROR("PdxInstance Exception: %s", geodeExcp.getMessage());
-  }
-}
-```
-
-
diff --git a/docs/geode-native-docs/cpp-caching-api/using-pdxserializer.html.md.erb b/docs/geode-native-docs/cpp-caching-api/using-pdxserializer.html.md.erb
deleted file mode 100644
index 7df9135..0000000
--- a/docs/geode-native-docs/cpp-caching-api/using-pdxserializer.html.md.erb
+++ /dev/null
@@ -1,119 +0,0 @@
----
-title:  Serialize Your Domain Objects with PdxSerializer and PdxWrapper
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-For domain objects that you cannot or do not want to modify, use the `PdxSerializer` and the `PdxWrapper` classes to serialize and deserialize the object's fields.
-
-You register a `PdxSerializer` implementation for the entire cache, programming it for all of the domain objects that you handle in this way. This way you do not have to implement the `PdxSerializable` interface for each domain class.
-
-The `PdxSerializer` allows domain classes to be serialized and deserialized as PDXs without modification of the domain class. It requires only that the domain class have a constructor accessible to the `PdxSerializer` to create an instance. The domain class will be held in a wrapper class, `PdxWrapper`.
-
-`PdxSerializer` has the following methods:
-
--   The `toData` method returns true if the PdxSerializer was able to serialize the user object, false if not.
--   If the PdxSerializer was able to deserialize the object, the `fromData` method returns a void pointer to the user object to be wrapped in a `PdxWrapper`.
-
-When you later reference the user object, use the `PdxWrapper` class. `PdxWrapper` holds a shared reference to the object in the local cache and is used during serialization and deserialization. `PdxWrapper` acts as a container for the user domain object and needs to wrap every instance of the object that uses a registered `PdxSerializer`. The object instance will not be modified. In addition, when using `PdxWrapper`, you will need to provide a function pointer to a "de-allocator", which [...]
-
-The following code example defines a user object and a `PdxSerializer`. It then registers the new `PdxSerializer` and then uses `PdxWrapper` to put the object in a region and retrieve the object from a region.
-
-``` pre
-class UserClass
-{
-public:
-
-  int m_int;
-  string m_string;
-
-  UserClass(int intVal, string stringVal)
-  {
-    m_int = intVal;
-    m_string = stringVal;
-  }
-
-  static void deallocate(void * object, char * className)
-  {
-    if (strcmp(className, "com.example.UserClass") == 0) {
-      UserClass * userObject = reinterpret_cast<UserClass*>(object);
-      delete userObject;
-    }
-  }
-};
-
-class UserPdxSerializer : public PdxSerializer
-{
-public:
-
-  void* fromData(char * className, PdxReaderPtr pdxReader)
-  {
-    if (strcmp(className, "com.example.UserClass") != 0) {
-      return NULL;
-    }
-
-    int intVal = pdxReader->readInt("m_int");
-    string stringVal = pdxReader->readString("m_string");
-
-    UserClass * userObject = new UserClass(intVal, stringVal);
-
-    return (void*) userObject;
-  }
-
-  bool toData(void * object, char * className, PdxWriterPtr pdxWriter)
-  {
-    if (strcmp(className, "com.example.UserClass") != 0) {
-      return false;
-    }
-
-    UserClass * userObject = reinterpret_cast<UserClass*>(object);
-
-    pdxWriter->writeInt("m_int", userObject->m_int);
-    pdxWriter->writeString("m_string", userObject->m_string);
-
-    return true;
-  }
-
-  UserDeallocator getDeallocator(char * className)
-  {
-    if (strcmp(className, "com.example.UserClass") == 0) {
-      return UserClass::deallocate;
-    } else {
-      return NULL;
-    }
-  }
-};
-
-// Register a user PDX serializer
-
-Serializable::registerPdxSerializer(new UserPdxSerializer);
-
-// Put a user object into a region.
-
-UserClass * userObject = new UserClass(123, "someValue");
-PdxWrapperPtr pdxWrapper = new PdxWrapper(userObject, "com.example.UserClass", 
-                                          UserClass::deallocate);
-region->put("key", pdxWrapper);
-
-// Get a user object from a region.
-
-pdxWrapper = dynCast<PdxWrapperPtr>(region->get("key"));
-UserClass * userObject = reinterpret_cast<UserClass*>(pdxWrapper->getObject());
-```
-
-
diff --git a/docs/geode-native-docs/delta-propagation/delta-propagation-api.html.md.erb b/docs/geode-native-docs/delta-propagation/delta-propagation-api.html.md.erb
deleted file mode 100644
index be1f681..0000000
--- a/docs/geode-native-docs/delta-propagation/delta-propagation-api.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Delta Propagation API
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Delta propagation uses configuration properties and a simple API to send and receive deltas.
-
-## <a id="delta-propagation-api__section_5787FD2053544B2AB6E7DCC3CEC14204" class="no-quick-link"></a>.NET - for C&#35;
-
-Your application class must implement:
-
--   `Apache.Geode.Client.IGFDelta`
--   `Apache.Geode.Client.IGeodeSerializable`
-
-`IGFDelta` provides the methods, `HasDelta`, `ToDelta`, and `FromDelta`, which you program to report on, send, and receive deltas for your class.
-
-Additionally, for cloning, your class must implement the standard .NET `IClonable` interface and its `Clone` method. See [Cloning](delta-propagation-properties.html#delta-propagation-properties).
-
-## <a id="delta-propagation-api__section_F3F89A01A4084D3092B88D16E43D8B37" class="no-quick-link"></a>C++
-
-Your application must publicly derive from:
-
--   `apache::geode::client::Delta`
-
-`Delta` provides the methods, `hasDelta`, `toDelta`, `fromDelta`, which you program to report on, send, and receive deltas for your class.
-
-For cloning, use the `clone` method provided in the Delta interface. See [Cloning](delta-propagation-properties.html#delta-propagation-properties).
diff --git a/docs/geode-native-docs/delta-propagation/delta-propagation-properties.html.md.erb b/docs/geode-native-docs/delta-propagation/delta-propagation-properties.html.md.erb
deleted file mode 100644
index 1b4013c..0000000
--- a/docs/geode-native-docs/delta-propagation/delta-propagation-properties.html.md.erb
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title:  Cloning
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-With cloning enabled, <%=vars.product_name%> does a deep copy of the object, using serialization. You can improve performance by implementing the appropriate `clone` method for your API, making a deep copy of anything to which a delta may be applied.
-
-The goal is to significantly reduce the overhead of copying the object while still retaining the isolation needed for your deltas.
-
-You configure delta propagation on the server side as well as client. For information on the server and delta propagation, see [Delta Propagation](geodeman/developing/delta_propagation/chapter_overview.html).
-
-## <a id="delta-propagation-properties__section_4096D0697BD24A04867B8555B3D1843F" class="no-quick-link"></a>cloning-enabled
-
-The `cloning-enabled` property is a region attributes boolean, configured in the `cache.xml`, that affects how `fromDelta` applies deltas to the local client cache. When `true`, the updates are applied to a clone of the value and then the clone is saved to the cache. When `false`, the value is modified in place in the cache. The default value is `false`.
-
-Cloning can be expensive, but it ensures that the new object is fully initialized with the delta before any application code sees it.
-
-Without cloning:
-
--   It is possible for application code to read the entry value as it is being modified, possibly seeing the value in an intermediate, inconsistent state, with just part of the delta applied. You may choose to resolve this issue by having your application code synchronize on reads and writes.
--   <%=vars.product_name%> loses any reference to the old value because the old value is transformed in place into the new value. Because of this, your `CacheListener` sees the same new value returned for `EntryEvent.getOldValue` and `EntryEvent.getNewValue`.
--   Exceptions thrown from `fromDelta` may leave your cache in an inconsistent state. Without cloning, any interruption of the delta application could leave you with some fields in your cached object changed and others unchanged. If you do not use cloning, keep this in mind when you program your error handling in your `fromDelta` implementation.
-
-## Enabling Cloning in cache.xml
-
-``` pre
-<region name="exampleRegion">
-  <region-attributes refid="CACHING_PROXY" cloning-enabled="true"
-     pool-name="examplePool"/>
-</region>
-```
-
-## Enabling Cloning (C++)
-
-``` pre
-RegionFactoryPtr regionFactory =
-    cachePtr->createRegionFactory(CACHING_PROXY);
-RegionPtr regionPtr = regionFactory
-    ->setCloningEnabled(true)
-    ->create("myRegion");
-```
diff --git a/docs/geode-native-docs/delta-propagation/delta-propagation.html.md.erb b/docs/geode-native-docs/delta-propagation/delta-propagation.html.md.erb
deleted file mode 100644
index 3ecb050..0000000
--- a/docs/geode-native-docs/delta-propagation/delta-propagation.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Delta Propagation
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-*Delta Propagation* describes how deltas (updates to data) are propagated and how to implement delta propagation. It also analyzes performance limitations.
-
-In most distributed data management systems, stored data is created once and updated frequently. Updates are sent to other members for event propagation, redundancy management, and cache consistency in general. Tracking only the changes in an updated object and sending only the updates, or deltas, mean lower network transmission costs and lower object serialization/deserialization costs. Generally, the larger your objects and the smaller the deltas, the greater the performance benefits o [...]
-
--   **[How Delta Propagation Works](how-delta-propagation-works.html)**
-
-    <%=vars.product_name%> propagates object deltas using methods that you program on the client side. The methods are in the delta interface, which you implement in your cached objects’ classes.
-
--   **[Delta Propagation API](delta-propagation-api.html)**
-
-    Delta propagation uses configuration properties and a simple API to send and receive deltas.
-
--   **[Cloning](delta-propagation-properties.html)**
-
-    With cloning enabled, <%=vars.product_name%> does a deep copy of the object, using serialization. You can improve performance by implementing the appropriate `clone` method for your API, making a deep copy of anything to which a delta may be applied.
-
--   **[Implementing Delta Propagation](implementing-delta-propagation.html)**
-
-    By default, delta propagation is enabled in your distributed system and is used for objects that implement the delta interface. You program the client-side methods to extract delta information for your entries and to apply received delta information.
-
--   **[Exceptions and Limitations](performance.html)**
-
diff --git a/docs/geode-native-docs/delta-propagation/how-delta-propagation-works.html.md.erb b/docs/geode-native-docs/delta-propagation/how-delta-propagation-works.html.md.erb
deleted file mode 100644
index 25a820a..0000000
--- a/docs/geode-native-docs/delta-propagation/how-delta-propagation-works.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  How Delta Propagation Works
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<%=vars.product_name%> propagates object deltas using methods that you program on the client side. The methods are in the delta interface, which you implement in your cached objects’ classes.
-
-This figure shows delta propagation for a change to an entry with key, `k`, and value object, `v`.
-
-<img src="../images/delta-propagation.png" alt="Delta Propagation" class="image" />
-
-1.  **get operation**. The `get` works as usual; the cache returns the full entry object from the local cache or, if it is unavailable there, from a server cache or from a loader.
-2.  **update methods**. You need to add code to the object’s update methods so that they save delta information for object updates, in addition to the work they were already doing.
-3.  **put operation**. The `put` works as usual in the local cache, using the full value, then calls `hasDelta` to check for deltas and `toDelta` to serialize the information.
-4.  **receipt of delta**. `fromDelta` extracts the delta information that was serialized by `toDelta` and applies it to the object in the local cache. The delta is applied directly to the existing value or to a clone, depending on how you configure it for the region.
-5.  **additional distributions**. As with full distributions, receiving members forward the delta according to their configurations and connections to other members. In the example, the server would forward the delta to its peers and its other clients as needed. Receiving members do not recreate the delta; `toDelta` is only called in the originating member.
-
diff --git a/docs/geode-native-docs/delta-propagation/implementing-delta-propagation.html.md.erb b/docs/geode-native-docs/delta-propagation/implementing-delta-propagation.html.md.erb
deleted file mode 100644
index 49881f4..0000000
--- a/docs/geode-native-docs/delta-propagation/implementing-delta-propagation.html.md.erb
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title:  Implementing Delta Propagation
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-By default, delta propagation is enabled in your distributed system and is used for objects that implement the delta interface. You program the client-side methods to extract delta information for your entries and to apply received delta information.
-
-**Prerequisites**
-
--   Study your object types and expected application behavior to determine which objects should use delta propagation. Delta propagation is not beneficial for all data and data modification scenarios. See [Exceptions and Limitations](performance.html#performance).
--   Decide whether to enable cloning. Cloning is disabled by default. See [cloning-enabled](delta-propagation-properties.html#delta-propagation-properties).
--   If you enable cloning, consider providing your own implementation, to optimize performance.
--   If you do not enable cloning, be sure to synchronize your delta code.
--   If you do not enable cloning, review all associated listener code for dependencies on the entry event old value. Without cloning, <%=vars.product_name%> modifies the entry in place and so loses its reference to the old value. For delta events, the `EntryEvent` methods to retrieve the old and new values both return the new value.
-
-**Procedure**
-
-For every class in which you want delta propagation, implement the delta interface and update your methods to support delta propagation. Exactly how you do this depends on your application and object needs, but these steps describe the basic approach.
-
-1.  Study the object contents to decide how to handle delta changes.
-
-    Delta propagation has the same issues of distributed concurrency control as the distribution of full objects, but on a more detailed level. Some parts of your objects may be able to change independent of one another while others may always need to change together. Send deltas large enough to keep your data logically consistent. If, for example, field A and field B depend on each other, then your delta distributions should either update both fields or neither. As with regular updates, [...]
-
-2.  In the application code that puts entries, put the fully populated object into the local cache. This usually means doing a `get` on the entry, unless you are sure it does not already exist anywhere in the distributed region.
-
-    Even though you are planning to send only deltas, errors on the receiving end could cause a request of the full object, so you must provide the full object to the originating put method. Do this even in empty producers, with regions configured for no local data storage.
-
-3.  Change each field’s update method to record information about the update.
-
-    The information must be sufficient for `toDelta` to encode the delta and any additional required delta information when it is invoked.
-
-4.  Write `hasDelta` to report on whether a delta is available.
-5.  When writing your serialization methods, `toDelta`, `fromDelta`, `toData`, `fromData`, be sure to exclude any fields used to manage delta state, which do not need to be sent.
-6.  Write `toDelta` to create a byte stream with the changes to the object and any other information that `fromDelta` will need to apply the changes. Before returning from `toDelta`, reset your delta state to indicate that there are no delta changes waiting to be sent.
-7.  Write `fromDelta` to decode the byte stream that `toDelta` creates and update the object.
-8.  Make sure you provide adequate synchronization to your object to maintain a consistent object state.
-
-    If you do not use cloning, you will probably need to synchronize on reads and writes to avoid reading partially written updates from the cache. This might involve `toDelta`, `fromDelta`, and other object access and update methods. Additionally, your implementation should take into account the possibility of concurrent invocations of `fromDelta` and one or more of the object's update methods.
diff --git a/docs/geode-native-docs/delta-propagation/performance.html.md.erb b/docs/geode-native-docs/delta-propagation/performance.html.md.erb
deleted file mode 100644
index e68cfcd..0000000
--- a/docs/geode-native-docs/delta-propagation/performance.html.md.erb
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title:  Exceptions and Limitations
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-In some application scenarios, delta propagation does not show any significant performance benefits. On occasion it results in degradation. There are other limitations and exceptions related to delta propagation.
-
-## <a id="performance__section_26DE70BF948F4B55A36A7B91C9AE2751" class="no-quick-link"></a>Errors in Delta Propagation
-
-Errors in delta propagation fall into two categories based on how they are handled:
-
--   **Problems applying the delta that can be remedied if the originating member sends the full value in place of the delta.** Your put operation does not see errors or exceptions related to the failed delta propagation. The system automatically does a full value distribution to the receiver where the problem occurs. This type of error includes:
-
-    -   Unavailable entry value in the receiving cache, either because the entry is missing or its value is null. In both cases, there is nothing to apply the delta to and the full value must be sent. This is most likely to occur if you destroy or invalidate your entries locally, either through application calls or through configured actions like eviction or entry expiration.
-    -   `InvalidDeltaException` thrown by `fromDelta` method, programmed by you. This exception enables you to avoid applying deltas that would violate data consistency checks or other application requirements. Throwing this exception causes a send of the full value.
-    -   Any error applying the delta in a client in server-to-client propagation. The client retrieves the full value from the server.
--   **Problems creating or distributing the delta that cannot be fixed by distributing the full value.** These problems are caused by errors or exceptions in `hasDelta` or `toDelta`. In these cases, your `put` operation fails with an exception.
-
-## <a id="performance__section_39CE903E2C0C412E891C420C59AB4588" class="no-quick-link"></a>Performance Limitations
-
-Consider the following situations in which delta propagation adversely affects performance:
-
--   **Added costs of deserializing your objects to apply deltas**. Applying a delta requires the entry value to be deserialized. Once this is done, the object is stored back in the cache in deserialized form. This aspect of delta propagation only negatively impacts your system if your objects are not already being deserialized for other reasons, such as for indexing and querying or for listener operations. Once stored in deserialized form, there are reserialization costs for operations t [...]
--   **Cloning**. Cloning can affect performance. Not using cloning is risky, however, as you are modifying cached values in place. Make sure you synchronize your entry access to keep your cache from becoming inconsistent.
--   **Problems applying the delta that cause the system to go back to the originator for the full entry value**. In this scenario, the overall operation costs more than sending the full entry value in the first place. The problem can be exacerbated if your delta is sent to a number of recipients, all or most of them request a full value, and the full value send requires the object to be serialized.
--   **Disk I/O costs associated with overflow regions**. If you use eviction with overflow to disk, on-disk values must be brought into memory in order to apply the delta. This is much more costly than removing the reference to the disk copy, as you would do with a full value distribution into the cache.
-
-## <a id="performance__section_F7BC60C9E89B44BBA3D06995D52574AC" class="no-quick-link"></a>Configurations That Require Full Values
-
-Clients can always send deltas to the servers, and servers can usually sent deltas to clients. The following configurations require the servers to send full values to the clients, instead of deltas:
-
--   When the client's `gemfire.properties` setting `conflate-events` is set to `true`, the servers send full values for all regions.
--   When the server region attribute `enable-subscription-conflation` is set to `true` and the client `gemfire.properties` setting `conflate-events` is set to `server`, the servers send full values for the region.
--   Servers send full values to client regions that are configured to not cache data—with the `PROXY                             RegionShortcut` in their region attributes `refid`.
-
-To use the delta propagation feature, all updates on a key in a region must have value types that implement the `Delta` interface. You cannot mix object types for an entry key where some of the types implement delta and some do not. This is because, when a type implementing the delta interface is received for an update, the existing value for the key is cast to a `Delta` type to apply the received delta.
-
-## <a id="performance__section_2767204E1914425BB8160E4347615B71" class="no-quick-link"></a>General Limitations
-
-Sometimes `fromDelta` cannot be invoked because there is no object to apply the delta to in the receiving cache. When this happens, the system sends the full value. There are two possible scenarios:
-
--   If the system can determine beforehand that the receiver does not have a local copy, it sends the initial message with the full value. This is possible when regions are configured with no local data storage, as when you are using them to provide data update information to listeners.
--   In less obvious cases, as when an entry has been locally deleted, first the delta is sent, then the receiver requests a full value and that is sent. Whenever the full value is received, any further distributions to the receiver’s peers or clients uses the full value.
-
-No deltas are propagated for:
-
--   Transactional commit on the server
--   The `putAll` operation
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/application-callbacks.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/application-callbacks.html.md.erb
deleted file mode 100644
index 3de8481..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/application-callbacks.html.md.erb
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title:  Application Callbacks
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-For region-level events, an application can use `AttributesFactory.SetCache*` methods to implement and register the `ICacheLoader`, `ICacheWriter`, and `ICacheListener` interfaces to perform custom actions.
-
-You can use `Region.Put` for simple caching situations. For more complex needs, you should implement the `ICacheLoader` interface and allow the cache to manage the creation and loading of objects. When a `Region.Get` is called for a region entry with a value of null, the `ICacheLoader.Load` method of the cache loader (if any) for the region is invoked. A static `CacheLoader.NetSearch` method is provided which can be used by `ICacheLoader` implementations to locate the requested key in th [...]
-
-## Using ICacheLoader to Load New Integers in the Region
-
-This example demonstrates an `ICacheLoader` implementation for loading new integers into a region.
-
-``` pre
-class SimpleCacheLoader<TKey, TVal> : ICacheLoader<TKey, TVal>
-{
-   #region ICacheLoader Members
-   public TVal Load(IRegion<TKey, TVal> region, TKey key, object helper)
-   {
-      Console.WriteLine("SimpleCacheLoader: Received Load event for region:
-      {0} and key: {1}", region.Name, key);
-      return default(TVal);
-   }
-   public void Close(IRegion<TKey, TVal> region)
-   {
-      Console.WriteLine("SimpleCacheLoader: Received Close event of region:
-      {0}", region.Name);
-   }
-   #endregion
-}
-```
-
-## Using ICacheWriter to Track Creates and Updates for a Region
-
-This example implements `ICacheWriter` to track region entry `create` and `update` events. This example just reports the events to the screen, but you can do whatever you need to do with the events.
-
-``` pre
-class SimpleCacheWriter<TKey, TVal> : ICacheWriter<TKey, TVal>
-{
-   #region ICacheWriter<TKey, TVal> Members
-   public bool BeforeUpdate(EntryEvent<TKey, TVal> ev)
-   {
-      Console.WriteLine("SimpleCacheWriter: Received BeforeUpdate event for: {0}", ev.Key);
-      return true;
-   }
-   // ... handle other entry events as needed
-   public bool BeforeRegionClear(RegionEvent<TKey, TVal> ev)
-   {
-      Console.WriteLine("SimpleCacheWriter: Received BeforeRegionClear event of region: {0}",
-      ev.Region.Name);
-      return true;
-   }
-   // ... handle other region events as needed
-   #endregion
-}
-```
-
-## A Sample ICacheListener Implementation
-
-This example implements `ICacheListener`.
-
-``` pre
-class SimpleCacheListener<TKey, TVal> : ICacheListener<TKey, TVal>
-{
-   #region ICacheListener<TKey, TVal> Members
-   public void AfterCreate(EntryEvent<TKey, TVal> ev)
-   {
-      Console.WriteLine("SimpleCacheListener: Received AfterCreate event
-      for: {0}", ev.Key);
-   }
-   // ... handle other entry events as needed
-   public void AfterRegionDestroy(RegionEvent<TKey, TVal> ev)
-   {
-      Console.WriteLine("SimpleCacheListener: Received AfterRegionDestroy
-      event of region: {0}", ev.Region.Name);
-   }
-   // ... handle other region events as needed
-   #endregion
-}
-```
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/cache-apis.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/cache-apis.html.md.erb
deleted file mode 100644
index 75a736f..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/cache-apis.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Cache APIs
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This section describes the `CacheFactory` and `Cache` classes.
-
--   **CacheFactory class**. Creates a `Cache` instance based on the provided distributed system and cache configuration. Any `geode.properties` and `cache.xml` files provided to the application are used to initialize the system and cache. See [Setting System and Cache Properties](../setting-properties/chapter-overview.html#system_and_cache_properties). If a `cache.xml` file is used to create a cache and some of the regions already exist, a warning states that the regions exist and the ca [...]
--   **Cache class**. This class is the entry point to the <%=vars.product_name%> caching API. This class allows you to create regions. The cache is created by calling the `create` function of the `CacheFactory` class. When creating a cache, you specify a `DistributedSystem` that tells the new cache where to find other caches on the network and how to communicate with them.
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html.md.erb
deleted file mode 100644
index c107b60..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html.md.erb
+++ /dev/null
@@ -1,181 +0,0 @@
----
-title:  C++ Class to .NET Class Mappings
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Wherever the C++ class methods use pass-by-reference semantics to return data, the corresponding .NET methods return the object instead of using pass-by-reference semantics.
-
-<a id="concept_FD847E19497C4985ACB247C0FA2C2AD5__table_8D8D228E223E4E89A313A17DB5C38652"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. C++ Class to .NET Class Mappings</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th><p>C++ Class</p></th>
-<th><p>.NET Class</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>class <code class="ph codeph">apache::geode::client::AttributesFactory</code></td>
-<td>Sealed class <code class="ph codeph">AttributesFactory</code></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::AttributesMutator</code></p></td>
-<td>Sealed class <code class="ph codeph">AttributesMutator</code></td>
-</tr>
-<tr class="odd">
-<td>class <code class="ph codeph">apache::geode::client::Cache</code></td>
-<td>Sealed class <code class="ph codeph">Cache</code></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">apache::geode::client::Cacheable</code></p></td>
-<td><p>Interface <code class="ph codeph">IPdxSerializable</code> or interface <code class="ph codeph">IGeodeSerializable</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::CacheableBytes</code></p></td>
-<td><p><code class="ph codeph">Byte[]</code> or <code class="ph codeph">ArrayList&lt;Byte&gt;</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::Cacheableint32</code></p></td>
-<td><p><code class="ph codeph">Int32</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::CacheableString</code></p></td>
-<td><p><code class="ph codeph">String</code></p></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">apache::geode::client::CacheableKey</code></p></td>
-<td><p>You can use any type that implements <code class="ph codeph">hashcode</code> and <code class="ph codeph">equals</code>. The generic .NET built-in types are all suitable.</p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">apache::geode::client::CacheListener</code></p></td>
-<td><p>Interface <code class="ph codeph">ICacheListener</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::CacheLoader</code></p></td>
-<td><p>Interface <code class="ph codeph">ICacheLoader</code> plus static class <code class="ph codeph">CacheLoader</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::CacheWriter</code></p></td>
-<td><p>Interface class <code class="ph codeph">ICacheWriter</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::CacheFactory</code></p></td>
-<td><p>Sealed class <code class="ph codeph">CacheFactory</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::DataInput</code></p></td>
-<td><p>With <code class="ph codeph">IPdxSerializable</code>, <code class="ph codeph">IPdxReader.</code></p>
-<p>With <code class="ph codeph">IGeodeSerializable</code>, sealed class <code class="ph codeph">DataInput</code>.</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::DataOutput</code></p></td>
-<td><p>With <code class="ph codeph">IPdxSerializable</code>, <code class="ph codeph">IPdxWriter.</code></p>
-<p>With <code class="ph codeph">IGeodeSerializable</code>, sealed class <code class="ph codeph">DataOutput</code> .</p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::DiskPolicyType</code></p></td>
-<td><p>enum <code class="ph codeph">DiskPolicyType</code> plus static class <code class="ph codeph">DiskPolicy</code> containing convenience methods for <code class="ph codeph">DiskPolicyType</code> enumeration</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::DistributedSystem</code></p></td>
-<td><p>Sealed class <code class="ph codeph">Distr</code>ibutedSystem</p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::EntryEvent</code></p></td>
-<td><p>Sealed class <code class="ph codeph">EntryEvent</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::Exception</code></p></td>
-<td><p>Class <code class="ph codeph">GemfireException</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>all other exceptions deriving from <code class="ph codeph">apache::geode::client::Exception</code></p></td>
- <td><p>Corresponding exceptions deriving from <code class="ph codeph">GemfireException</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::ExpirationAction</code></p></td>
-<td><p>enum <code class="ph codeph">ExpirationAction</code> plus static class <code class="ph codeph">Expiration</code> containing convenience methods for <code class="ph codeph">ExpirationAction</code> enumeration</p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::Log</code></p></td>
-<td><p>Static class <code class="ph codeph">Log</code>. The native <code class="ph codeph">Log::log</code> method is mapped to <code class="ph codeph">Log.Write</code> to avoid the conflict with the class name which is reserved for the constructors of Log class. The various loglevel <code class="ph codeph">Throw</code> or <code class="ph codeph">Catch</code> methods are not implemented, since they are redundant to <code class="ph codeph">Log::Log</code> , <code class="ph codeph">Log::Log [...]
-</tr>
-<tr class="even">
-<td><p>enum <code class="ph codeph">apache::geode::client::MemberType</code></p></td>
-<td><p>enum <code class="ph codeph">MemberType</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">apache::geode::client::PersistanceManager</code></p></td>
-<td><p>Not provided. You can register a C++ implementation using <code class="ph codeph">AttributesFactory.SetPersistenceManager</code> but you cannot implement a new one in .NET</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::Properties</code></p></td>
-<td><p>Sealed class <code class="ph codeph">Properties</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::Properties::Visitor</code></p></td>
-<td><p>Delegate <code class="ph codeph">PropertiesVisitor</code></p></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">apache::geode::client::Region</code></p></td>
-<td><p>Class <code class="ph codeph">IRegion</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::RegionAttributes</code></p></td>
-<td><p>Sealed class <code class="ph codeph">RegionAttributes</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::ScopeType</code></p></td>
-<td><p>enum <code class="ph codeph">ScopeType</code> plus static class <code class="ph codeph">Scope</code> containing convenience methods for <code class="ph codeph">ScopeType</code> enumeration+</p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">apache::geode::client::Serializable</code></p></td>
-<td><p>Two options:</p>
-<ul>
-<li><p>Interface <code class="ph codeph">IPdxSerializable</code></p></li>
-<li><p>Interface <code class="ph codeph">IGeodeSerializable</code> plus wrapper <code class="ph codeph">Serializable</code> class for native <code class="ph codeph">Serializable</code> and <code class="ph codeph">UserData</code> objects. The native <code class="ph codeph">toString</code> method is not provided, since the <code class="ph codeph">ToString</code> method of the base object class provides the same functionality.</p></li>
-</ul></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::SystemProperties</code></p></td>
-<td><p>Sealed class <code class="ph codeph">SystemProperties</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">apache::geode::client::UserData</code></p></td>
-<td><p>Two options:</p>
-<ul>
-<li><p>Interface <code class="ph codeph">IPdxSerializable</code></p></li>
-<li><p>Interface <code class="ph codeph">IGeodeSerializable</code></p></li>
-</ul></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">apache::geode::client::VectorT&lt;T&gt;</code></p></td>
-<td><p>Array of the given type, such as T[]</p></td>
-</tr>
-</tbody>
-</table>
-
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/creating-a-cache.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/creating-a-cache.html.md.erb
deleted file mode 100644
index 36bb7ad..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/creating-a-cache.html.md.erb
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title:  Creating a Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Create a cache using the `CacheFactory.Create` call. Cache creation initializes the distributed system and creates the cache using the `geode.properties` and `cache.xml` file settings and any additional properties you provide to the call.
-
-See [Setting System and Cache Properties](../setting-properties/chapter-overview.html#system_and_cache_properties) and see [Cache Initialization File](../cache-init-file/chapter-overview.html#chapter-overview).
-
-## Connecting and Creating the Cache
-
-In this example, the application connects to the distributed system and creates the cache using the available configuration files.
-
-The application becomes a distributed system member in the cache Create call.
-
-``` pre
-CacheFactory cacheFactory = CacheFactory.CreateCacheFactory();
-Cache cache = cacheFactory.Create();
-```
-
-## Providing Properties to the Cache Creation
-
-You can also create a cache by referencing a `cache.xml` file, as shown in the following example. You can use the `Properties` object to change any of the `geode.properties` settings.
-
-``` pre
-Properties prop = Properties.Create();
-prop.Insert("cache-xml-file", "cache.xml");
-CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(prop);
-Cache cache = cacheFactory.Create();
-```
-
-For systems with security enabled, the credentials for a joining member are authenticated when the cache is created and the system connection is made. For more information about secure connections to a distributed system, see [Security](../security/overviewsecurity.html#security).
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/creating-a-region.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/creating-a-region.html.md.erb
deleted file mode 100644
index 5c422e8..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/creating-a-region.html.md.erb
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title:  Creating a Region
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-To create a region, use `RegionFactory` with the `RegionShortcut` that most closely fits the region configuration.
-
-From that point, customize the settings for region attributes as needed.
-
-Creating a region using the client API only creates a proxy client side region. A corresponding region with the same name and path must also exist on the servers that have been configured for client connections and upon which the client will perform its operations.
-
-## Creating a CACHING\_PROXY Region
-
-This example creates a region using the CACHING\_PROXY shortcut with no further modifications:
-
-``` pre
-RegionFactory regionFactory =
-    cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
- 
-IRegion<string, string> region = regionFactory
-    .Create<string, string>("exampleRegion");
-```
-
-## Creating a CACHING\_PROXY Region with LRU
-
-This example creates a region based on the CACHING\_PROXY shortcut, modifying values for two region attributes. For information on the settings, see [Region Attributes Descriptions](../client-cache/region-attributes-desc.html#region-attributes-desc).
-
-``` pre
-RegionFactory regionFactory =
-    cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-
-IRegion<string, string> region = regionFactory
-    .SetLruEntriesLimit(20000)
-    .SetInitialCapacity(20000)
-    .Create<string, string>("exampleRegion");
-```
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/csharp-dotnet-api.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/csharp-dotnet-api.html.md.erb
deleted file mode 100644
index ffd752d..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/csharp-dotnet-api.html.md.erb
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title:  About the .NET Client API
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-
-The Microsoft .NET Framework interface for the client provides complete access to the C++ client functionality from any .NET Framework language (C\#, C++/CLI, VB.NET, and J\#). This enables clients using C\# and other .NET languages to use the capabilities provided by the C++ API.
-
-The .NET client uses a set of assemblies managed by the C++ Common Language Infrastructure (C++ CLI). C++ CLI includes the libraries and objects necessary for common language types, and it is the framework for .NET applications.
-
-The .NET API adds .NET Framework CLI language binding for the native client product.
-
-Using C\#, you can write callbacks and define user objects in the cache. The following figure shows an overview of how a C\# application accesses the C++ client API functionality through C++/CLI .
-
-<a id="concept_A97823CFEA20400BBB135AC964746850__fig_D025097BFCEA4D7ABDB173AD6ABE099D"></a>
-<span class="figtitleprefix">Figure: </span>C\# .NET Application Accessing the C++ API
-
-<img src="../common/images/6-DotNet_API-1.gif" id="concept_A97823CFEA20400BBB135AC964746850__image_D91728696A7B4E03A04712EF32C5FBEC" class="image imagecenter" />
-
-**Note:**
-This chapter uses C\# as the reference language, but other .NET languages work the same way.
-
-The .NET API is provided in the `Apache.Geode.Client` namespace. This namespace allows you to manage your cache, regions, and data.
-Use the <%=vars.product_name%> .NET API to programmatically create, populate, and manage a distributed system.
-
-**Note:**
-The .NET library is thread-safe except where otherwise indicated in the API documentation.
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/csharp-dotnet-naming-conventions.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/csharp-dotnet-naming-conventions.html.md.erb
deleted file mode 100644
index fc72e4c..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/csharp-dotnet-naming-conventions.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  .NET Naming and Usage Conventions
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Unless noted, the .NET API classes and functions have the same names as their C++ counterparts in the namespace `Apache.Geode.Client`. In .NET, all method names start with a capital letter.
-
-The .NET interface names match those of comparable C++ interfaces, but with an ’I’ prepended to satisfy .NET naming conventions. For example, the .NET equivalent of the C++ `CacheLoader` interface is `ICacheLoader`.
-
-The name of the <%=vars.product_name%> `Serializable` interface is `IGeodeSerializable` because `ISerializable` is a .NET built-in type.
-
-Where possible, get\* and set\* functions are replaced by .NET properties.
-
-You can implement the .NET interfaces. You cannot extend any of the classes because they are marked as sealed.
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/custom-class-igfserializable.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/custom-class-igfserializable.html.md.erb
deleted file mode 100644
index a5f8cdb..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/custom-class-igfserializable.html.md.erb
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title:  Using a Custom Class With IGeodeSerializable
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-An example shows how to use the `BankAccount` custom key type and the `AccountHistory` value type that were previously defined.
-
-## Using a BankAccount Object
-
-``` pre
-class AccountHistory : IGeodeSerializable   
-   {
-      #region Private members
-      private List<string> m_history;
-      #endregion
-      public AccountHistory()
-      {
-         m_history = new List<string>();
-      }
-      public void ShowAccountHistory()
-      {
-         Console.WriteLine("AccountHistory:");
-         foreach (string hist in m_history) {
-           Console.WriteLine("\t{0}", hist);
-         }
-      }
-      public void AddLog(string entry)
-      {
-         m_history.Add(entry);
-      }
-         public static IGeodeSerializable CreateInstance()
-      {
-         return new AccountHistory();
-      }
-      #region IGeodeSerializable Members
-      public void FromData(DataInput input)
-      {
-         int len = input.ReadInt32();
-         m_history.Clear();
-         for (int i = 0; i < len; i++) {
-            m_history.Add(input.ReadUTF());
-         }
-         return this;
-      }
-      public void ToData(DataOutput output)
-      {
-         output.WriteInt32(m_history.Count);
-         foreach (string hist in m_history) {
-            output.WriteUTF(hist);
-         }
-      }
-         public UInt32 ClassId
-      {
-         get
-         {
-            return 0x05;
-         }
-      }
-      public UInt32 ObjectSize
-      {
-         get
-         {
-            UInt32 objectSize = 0;
-            foreach (string hist in m_history) {
-              objectSize += (UInt32)(hist == null ? 0 : sizeof(char) * hist.Length);
-            }
-            return objectSize;
-         }
-      }
-      #endregion
-   }
-      public class TestBankAccount
-      {
-         public static void Main()
-         {
-            // Register the user-defined serializable type.
-            Serializable.RegisterType(AccountHistory.CreateInstance);
-            Serializable.RegisterType(BankAccountKey.CreateInstance);
-            // Create a cache.
-            CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(null);
-            Cache cache = cacheFactory.Create();
-            // Create a region.
-            RegionFactory regionFactory =
-            cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-            Region region = regionFactory.Create("BankAccounts");
-            // Place some instances of BankAccount cache region.
-            BankAccountKey baKey = new BankAccountKey(2309, 123091);
-            AccountHistory ahVal = new AccountHistory();
-            ahVal.AddLog("Created account");
-            region.Put(baKey, ahVal);
-            Console.WriteLine("Put an AccountHistory in cache keyed with
-            BankAccount.");
-            // Display the BankAccount information.
-            Console.WriteLine(baKey.ToString());
-            // Call custom behavior on instance of AccountHistory.
-            ahVal.ShowAccountHistory();
-            // Get a value out of the region.
-            AccountHistory history = region.Get(baKey) as AccountHistory;
-            if (history != null)
-            {
-               Console.WriteLine("Found AccountHistory in the cache.");
-               history.ShowAccountHistory();
-               history.AddLog("debit $1,000,000.");
-               region.Put(baKey, history);
-               Console.WriteLine("Updated AccountHistory in the cache.");
-            }
-            // Look up the history again.
-            history = region.Get(baKey) as AccountHistory;
-            if (history != null)
-            {
-               Console.WriteLine("Found AccountHistory in the cache.");
-               history.ShowAccountHistory();
-            }
-            // Close the cache.
-            cache.Close();
-         }
-      }
-
-      //Example 5.12 Using ICacheLoader to Load New Integers in the Region
-      class ExampleLoaderCallback : ICacheLoader
-      {
-         #region Private members
-         private int m_loads = 0;
-         #endregion
-         #region Public accessors
-         public int Loads
-         {
-            get
-            {
-               return m_loads;
-            }
-         }
-         #endregion
-      }
-```
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/data-serialization-apis.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/data-serialization-apis.html.md.erb
deleted file mode 100644
index 124af9a..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/data-serialization-apis.html.md.erb
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title:  Data Serialization APIs
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Use either `IPdxSerializable` or `IGeodeSerializable` for each region. Do not mix the two.
-
-For more information on these options, see [Data Serialization](dotnet-data-serialization.html#concept_28A7797A0342447ABF6A5014E0DCB05F).
-
--   **IPdxSerializable interface**. Provides a flexible way to serialize your domain objects for cache storage and transfer to the servers. This is a <%=vars.product_name%> built-in serialization framework. 
--   **IPdxReader**. Supplies operations for reading data from <%=vars.product_name%> IPDXSerializable types.
--   **IPdxWriter**. Provides operations for writing data into <%=vars.product_name%> IPDXSerializable types.
--   **IPdxInstance**. Instance of a PDX serialized object that you can use to access the object’s data without having to deserialize the object first.
--   **IPdxInstanceFactory**. Allows you to build an IPdxInstance using raw data.
--   **IPdxTypeMapper interface**. Allows you to map .NET type names to Java type names when using PDX serialization.
--   **IGeodeSerializable interface**. Superclass of one set of user objects that can be serialized and stored in the cache. These are <%=vars.product_name%> built-in serializable types.
--   **Serializable class**. Wraps the C++ `apache::geode::client::Serializable` objects as managed `IGeodeSerializable` objects. Whenever C++ clients and .NET clients interoperate and are part of the same distributed system, the user-defined types that are put by the C++ clients that have not been defined in .NET are returned as objects of this class.
-
-    The API contains overloads for most Region methods and other methods that take `Serializable` as a value and that are more optimized than the more generic `IGeodeSerializable` overloads. The application prefers using these overloads whenever the base class of an object is `Serializable`.
-
--   **DataInput**. Supplies operations for reading primitive data values and user-defined objects from a byte stream.
--   **DataOutput**. Provides operations for writing primitive data values and user-defined objects implementing `IGeodeSerializable` to an integer.
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-accessing-an-entry.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-accessing-an-entry.html.md.erb
deleted file mode 100644
index 6e6eb8e..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-accessing-an-entry.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  Accessing an Entry
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-The region entry retrieval methods return the value associated with the specified key, and pass the callback argument to any cache loaders or cache writers that are invoked during the operation.
-
-If the value is not available locally, it is requested from the server. If the server request is unsuccessful, a local cache loader is invoked, if one is available. The operation throws `keyNotFoundException` if the `Region` is unable to retrieve a value through any of these means.
-
-## Using the Region API to Retrieve Values From the Cache
-
-Here, the code fragment accomplishes entry retrieval in two ways.
-
-``` pre
-string value1 = region1["Key1"];
-string value2 = region1["Key2"];
- 
-string valueQ = region.Get(111, null);
-string valueR = region.Get(222, null);
-```
-
-## Batch Operations—Using getAll to Return Values from Multiple Entries
-
-The `GetAll` region API returns values for collection of keys from the local cache or server.
-
-If value for a key is not present locally, then it is requested from the Java server. The value returned is not copied, so multi-threaded applications should not modify the value directly but should use the update methods.
-
-This method is not applicable to local region instances.
-
-This operation updates the `CacheStatistics.LastAccessedTime`, `CacheStatistics.HitCount` statistics and `CacheStatistics.MissCount` for this region and the returned entries.
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-adding-entry-to-cache.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-adding-entry-to-cache.html.md.erb
deleted file mode 100644
index 4f4e489..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-adding-entry-to-cache.html.md.erb
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title:  Adding an Entry to the Cache
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Populate a client region with cache entries by using the generic `IDictionary` API or by using the .NET `Region.Put` or the `Region.Create` API functions.
-
-The `Put` function places a new value into a region entry with the specified key, while the `Create` function creates a new entry in the region. The `Put` and `Create` functions provide a user-defined parameter object to any cache writer invoked in the process.
-
-If a value for the entry key already exists in the cache when you add an entry, <%=vars.product_name%> overwrites the previously cached value. New values in the cache are propagated to the connected cache server.
-
-The .NET Generics provide type safety, so you cannot change your entry key and value types once you have begun to populate the region. If you need to use different types for the same region, store them all inside objects in the region.
-
-## Using the API to Put Values Into the Cache
-
-In this example, the program puts entries into the cache with string values.
-
-``` pre
-region1["Key1"] = "Value1";
-region1["Key2"] = "Value2";
- 
-region2["KeyA"] = 123;
-region2["KeyB"] = 100;
-region3.Put(111, "Value1", null);
-region3.Put(222, "Value2", null);
-```
-
-## <a id="concept_51D1C2475B394B10868CE6ED8DC5E542__section_8DAEA246DA464BD1B9654827A84A93BF" class="no-quick-link"></a>Batch Operations—Using PutAll to Add Multiple Entries
-
-You can batch up multiple key/value pairs into a hashmap and put them into the cache with a single operation using the .NET `Region.PutAll` API function. Each entry is processed for interest registration on the server, so each entry requires its own unique event ID. Updates and creates can be mixed in a `PutAll` operation, so those events need to be addressed on the cache server for appropriate cache listener invocation on distributed system members. Map entries retain their original ord [...]
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-application-domains.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-application-domains.html.md.erb
deleted file mode 100644
index 1c85072..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-application-domains.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  .NET Application Domains
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Application domains, or `AppDomain`s, are units of isolation, security boundaries, and do the loading and unloading for applications in the .NET runtime. Multiple application domains can run in a single process. Each can have one or many threads, and a thread can switch application domains at runtime.
-
-The .NET managed assemblies require interface methods invoked by the C++ layer to be in the same `AppDomain` as that of the .NET DLL. If not, an exception is thrown because the thread is unable to cross `AppDomain` boundaries.
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-caching-api.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-caching-api.html.md.erb
deleted file mode 100644
index 3a11b01..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-caching-api.html.md.erb
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title:  .NET Client API
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This section describes the primary classes, usage conventions, and C++ to .NET class mappings of the .NET client API. It demonstrates how to use the API to create caches and perform data serialization.
-
--   **[About the .NET Client API](csharp-dotnet-api.html)**
-
-    The Microsoft .NET Framework interface for the client provides complete access to the C++ client functionality from any .NET Framework language (C\#, C++/CLI, VB.NET, and J\#). This enables clients using C\# and other .NET languages to use the capabilities provided by the C++ API.
-
--   **[C++ Class to .NET Class Mappings](cpp-class-to-dotnet-class-mappings.html)**
-
-    Wherever the native C++ class methods use pass-by-reference semantics to return data, the corresponding .NET methods return the object instead of using pass-by-reference semantics.
-
--   **[Java to .NET Type Mapping Table](java-to-dotnet-type-mapping.html)**
-
-    The following table provides a mapping between Java and .NET types.
-
--   **[Object Lifetimes](object-lifetimes.html)**
-
-    The .NET API provides a managed set of assemblies for the C++ API. The underlying C++ object will stay in memory until the .NET object is garbage-collected.
-
--   **[.NET Application Domains](dotnet-application-domains.html)**
-
-    Application domains, or `AppDomain`s, are units of isolation, security boundaries, and loading and unloading for applications in the .NET runtime. Multiple application domains can run in a single process. Each can have one or many threads, and a thread can switch application domains at runtime.
-
--   **[Creating a Cache](creating-a-cache.html)**
-
-    You create a cache using the <%=vars.product_name%> `CacheFactory.Create` call. Cache creation initializes the distributed system and creates the cache using your `geode.properties` and `cache.xml` file settings and any additional properties you provide to the call.
-
--   **[Creating a Region](creating-a-region.html)**
-
-    To create a region, you create a `RegionFactory` using the `RegionShortcut` that most closely fits your region configuration.
-
--   **[Adding an Entry to the Cache](dotnet-adding-entry-to-cache.html)**
-
-    You populate a native client region with cache entries by using the generic `IDictionary` API or by using the .NET `Region.Put` or the `Region.Create` API functions.
-
--   **[Accessing an Entry](dotnet-accessing-an-entry.html)**
-
-    The region entry retrieval methods return the value associated with the specified key, and pass the callback argument to any cache loaders or cache writers that are invoked during the operation.
-
--   **[Removing an Entry](removing-entry.html)**
-
-    The standard `Region::Remove` API removes the entry with specified key and provides a user-defined parameter object to any `CacheWriter` or `CacheListener` invoked in the process.
-
--   **[Data Serialization](dotnet-data-serialization.html)**
-
-    All data that <%=vars.product_name%> moves out of the local cache must be serializable.
-
--   **[Application Callbacks](application-callbacks.html)**
-
-    For region-level events, an application can use `AttributesFactory.SetCache*` methods to implement and register the `ICacheLoader`, `ICacheWriter`, and `ICacheListener` interfaces to perform custom actions.
-
--   **[A Simple C\# Example](simple-csharp-example.html)**
-
-    An example shows how to connect to <%=vars.product_name%>, create a cache and region, put and get keys and values, and disconnect.
-
--   **[Troubleshooting .NET Applications](troubleshooting-dotnet-applications.html)**
-
-    The .NET Framework does not find managed DLLs using the conventional `PATH` environment variable. In order for your assembly to find and load a managed DLL, it must either be loaded as a private assembly using `assemblyBinding`, or it must be installed into the Global Assembly Cache (GAC).
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-data-serialization-options.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-data-serialization-options.html.md.erb
deleted file mode 100644
index 8326260..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-data-serialization-options.html.md.erb
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title:  Data Serialization Options
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Built-in .NET types are serialized automatically into the cache and can be retrieved by Java servers and other <%=vars.product_name%> clients. For domain objects that are not simple types, you have three <%=vars.product_name%> serialization options.
-
-The options give good performance and flexibility for data storage, transfers, and language types. The <%=vars.product_name%> options can also improve performance in serializing and deserializing built-in types.
-
-The simplest option is to use perform automatic serialization by registering the <%=vars.product_name%> .NET PDX reflection-based autoserializer in your application. When you have this registered, <%=vars.product_name%> uses it for all domain objects that are not custom serialized.
-
-You can also custom serialize your objects by implementing one of the <%=vars.product_name%> .NET interfaces, `Apache.Geode.Client.IPdxSerializable` or `Apache.Geode.Client.IGeodeSerializable`.
-
-You also have the option of using default .NET serialization, but you cannot use it unless you also use helper classes. The helper classes you must use are `CacheableObject` and `CacheableObjectXml`.
-
-<%=vars.product_name%> .NET PDX serialization has more bytes in overhead than <%=vars.product_name%> .NET Data serialization, but using PDX serialization helps you avoid the performance costs of deserialization when performing queries. Applications can use `PdxInstances` in functions to avoid the deserialization of entire objects.
-
-<a id="concept_6DC3DD288F6C4190AEA07DEDE76DD867__table_D61A94C4BFBE4712835F632F30BB488E"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Serialization Options—Comparison of Features</span></caption>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="34%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Capability</th>
-<th>IGeodeSerializable</th>
-<th>IPdxSerializable and PDX reflection-based autoserializer</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>Handles multiple versions of domain objects*</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Provides single field access on servers of serialized data, without full deserialization. Supported also for OQL queries.</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="odd">
-<td><p>Automatically ported to other languages by <%=vars.product_name%> - no need to program Java-side implementation</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Works with <%=vars.product_name%> delta propagation</p></td>
-<td>X</td>
-<td>X (See explanation below.)</td>
-</tr>
-</tbody>
-</table>
-
-
-\*You can mix domain object versions where the differences between versions are the addition and removal of object fields.
-
-By default, you can use <%=vars.product_name%> delta propagation with PDX serialization. However, delta propagation will not work if you have set the <%=vars.product_name%> property read-serialized to "true". In terms of deserialization, to apply a change delta propagation requires a domain class instance and the `fromDelta` method. If you have set read-serialized to true, you will receive an `IPdxInstance` instead of a domain class instance and `IPdxInstance` does not have the `fromDelt [...]
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-data-serialization.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-data-serialization.html.md.erb
deleted file mode 100644
index 10c4823..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-data-serialization.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  Data Serialization
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-All data moving out of the client cache must be serializable.
-
-Region data that must be serializable falls under the following categories:
-
--   Partitioned regions (except functions that add data locally to a partitioned region use the deserialized form).
--   Distributed regions.
--   Regions that are persisted or overflowed to disk.
--   Server or client regions in a client/server installation.
--   Regions distributed between gateways in a multi-site installation.
--   Regions that receive events from remote caches.
--   Regions that provide function arguments and results.
-
-To minimize the cost of serialization and deserialization, <%=vars.product_name%> avoids changing the data format whenever possible. This means your data may be stored in the cache in serialized or deserialized form, depending on how you use it. For example, if a server acts only as a storage location for data distribution between clients, it makes sense to leave the data in serialized form, ready to be transmitted to clients that request it. Partitioned region data is always stored in s [...]
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-autoserializer.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-autoserializer.html.md.erb
deleted file mode 100644
index 19c2112..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-autoserializer.html.md.erb
+++ /dev/null
@@ -1,72 +0,0 @@
-<% set_title("Serialize Using the", product_name, "PDX Autoserializer") %>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-When you register the reflection-based serializer, <%=vars.product_name%> uses it to serialize all objects that do not implement `IPdxSerializable` or `IGeodeSerializable`. You can customize the auto-serialization behavior for your domain objects by adding serialization attributes to your object’s fields.
-
-**Procedure**
-
-1.  If you have not already registered the PDX reflection-based autoserializer, add the registration code to your application.
-
-    For example:
-
-    ``` pre
-    using Apache.Geode.Client;
-    ...
-    // Register reflection-based autoserializer to serialize
-    // domain objects using PDX serialization
-    Serializable.RegisterPdxSerializer(new ReflectionBasedAutoSerializer());
-    ```
-
-    This can only be configured in the application code. It cannot be configured declaratively in `cache.xml`.
-
-2.  (Optional) For each object you intend to have autoserialized, customize the serialization as needed.  **Note:** If you also use PDX serialization in Java for the object, customize your serialization the same for both languages.
-
-    1.  The following extension methods apply to autoserialization:
-        -   **WriteTransform**. Controls what field value is written during auto serialization.
-        -   **ReadTransform**. Controls what field value is read during auto deserialization.
-        -   **GetFieldType**. Defines the specific field names that will be generated during autoserialization.
-        -   **IsIdentityField**. Controls which field is marked as the identity field. Identity fields are used when a `PdxInstance` computes its hash code to determine whether it is equal to another object.
-        -   **GetFieldType**. Determines the field type that will be used when autoserializing the given field.
-        -   **IsFieldIncluded**. Specifies which fields of a class to autoserialize.
-
-        See [Extending the Autoserializer](extending-pdx-autoserializer.html#concept_87701FF3FAE74F3193BE3FB349CE0086) for sample usage.
-
-    2.  If you are writing a Java application, you can use the `IPdxType` Mapper to map Java types to .NET types. Note that you only need to use the `IPdxTypeMapper` if you are writing Java applications.
-
-        See [Map .NET Domain Type Names to PDX Type Names with IPdxTypeMapper](mapping-dotnet-domain-type-names.html#concept_63F4164F1AE242A9BA309738F484182D) for sample usage.
-
-    3.  To specify an identifier field in your domain object, add the attribute `PdxIdentityField` to the field.
-
-        For example:
-
-        ``` pre
-        [PdxIdentityField] private int id;
-        ```
-
-    4.  To exclude a field from serialization, add the .NET attribute `NonSerialized` to the field.
-
-        For example:
-
-        ``` pre
-        [NonSerialized] private int myLocalData;
-        ```
-
-For each domain class <%=vars.product_name%> serializes using the autoserializer, all fields are considered for serialization except those defined as `static`, `literal` or `readonly` and those you explicitly exclude using the .NET `NonSerialized` attribute.
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-serialization-features.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-serialization-features.html.md.erb
deleted file mode 100644
index 6684bf9..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-serialization-features.html.md.erb
+++ /dev/null
@@ -1,42 +0,0 @@
-<% set_title(product_name, "PDX Serialization Features") %>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<%=vars.product_name%> PDX serialization offers several advantages.
-
-## <a id="concept_E8DCAA3027B64C0C8213A0DF2D773BF4__section_8F8D96A0DAC3416DA90622D0E240F54A" class="no-quick-link"></a>Application Versioning of PDX Domain Objects
-
-Domain objects evolve along with your application code. You may create an address object with two address lines, then realize later that a third line is required for some situations. Or you may realize that a particular field is not used and want to get rid of it.
-
-With PDX, you can use old and new versions of domain objects together in a distributed system if the versions differ by the addition or removal of fields. This compatibility lets you gradually introduce modified code and data into the system, without bringing the system down.
-
-<%=vars.product_name%> maintains a central registry of the PDX domain object metadata. Using the registry, <%=vars.product_name%> preserves fields in each member's cache regardless of whether the member has the field defined. When a member receives an object that has a field registered that the member is not aware of, the member does not access the field, but preserves it and passes it along with the rest of the object to other members. When a member receives an object that is missing on [...]
-
-## <a id="concept_E8DCAA3027B64C0C8213A0DF2D773BF4__section_4CD0072C619F4F0496B73597B92B2289" class="no-quick-link"></a>Portability of PDX Serializable Objects
-
-When you create an `IPdxSerializable` object, <%=vars.product_name%> stores the object's type information in a central registry. The information is passed between peers, between clients and servers, and between distributed systems.
-
-This offers a notable advantage to the .NET client, which shares data with Java cache servers. Clients automatically pass registry information to servers when they store an `IPdxSerializable` object. Clients can run queries and functions against the data in the servers without the servers needing to know anything about the stored objects. One client can store data on the server to be retrieved by another client, with the server never needing to know the object type. This means you can co [...]
-
-## <a id="concept_E8DCAA3027B64C0C8213A0DF2D773BF4__section_0437E67A0DDE4F92A24658DAB48DD76C" class="no-quick-link"></a>Reduced Deserialization of Serialized Objects
-
-The access methods for `IPdxSerializable` objects allow you to examine specific fields of your domain object without deserializing the entire object. This can reduce serialization and deserialization costs significantly. .NET clients can run queries and execute functions against the objects in the server caches without deserializing the entire object on the server side. The query engine automatically recognizes PDX objects and uses only the fields it needs.
-
-Clients can execute Java functions on server data that only access parts of the domain objects by using `PdxInstance.`
-
-Likewise, peers can access just the fields needed from the serialized object, keeping the object stored in the cache in serialized form.
diff --git a/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-serialization.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-serialization.html.md.erb
deleted file mode 100644
index 30751b9..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/dotnet-pdx-serialization.html.md.erb
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title:  Serialize with PDX Serialization
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<%=vars.product_name%>'s Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
-
-You have two options for <%=vars.product_name%> PDX serialization when using the .NET caching API. You can program your domain objects using the `IPdxSerializable` interface, or you can use <%=vars.product_name%>’s reflection-based autoserializer.
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/event-handling-apis.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/event-handling-apis.html.md.erb
deleted file mode 100644
index a481b11..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/event-handling-apis.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  Event Handling APIs
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Code your event handlers to do minimal work before returning control to <%=vars.product_name%>.
-
-For example, a listener implementation may hand off the event to a thread pool that processes the event on its thread rather than the listener thread. Exceptions thrown by the listeners are caught by <%=vars.product_name%> and logged.
-
--   **RegionEvent class**. Provides information about the event, such as what region the event originated in, whether the event originated in a cache remote to the event handler, and whether the event resulted from a distributed operation.
--   **EntryEvent class**. Provides all available information for the `RegionEvent`. It also provides entry-specific information, such as the old and new entry values and whether the event resulted from a load operation.
--   **ICacheLoader application callback interface**. Loads data into a region.
--   **ICacheWriter application callback interface**. Synchronously handles region and entry events before the events occur. Entry events are `create`, `update`, `invalidate`, and `destroy`. Region events are invalidate and destroy. This class has the ability to abort events.
--   **ICacheListener application callback interface**. Asynchronously handles region and entry events. Listeners receive notifications when entries in a region change, or when changes occur to the region attributes themselves. Entry events are `create`, `update`, `invalidate`, and `destroy`. Region events are `invalidate` and `destroy`. Multiple events can cause concurrent invocation of `ICacheListener` methods. If event A occurs before event B, there is no guarantee that their correspon [...]
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/extending-pdx-autoserializer.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/extending-pdx-autoserializer.html.md.erb
deleted file mode 100644
index 3a72f72..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/extending-pdx-autoserializer.html.md.erb
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title:  Extend the PDX Autoserializer
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This example code demonstrates how to extend the autoserializer to customize serialization.
-
-## Extending the Autoserializer
-
-``` pre
-public class AutoSerializerEx : ReflectionBasedAutoSerializer
-{
-   public override object WriteTransform(FieldInfo fi, Type type, object originalValue) {
-      if (fi.FieldType.Equals(Type.GetType("System.Guid"))) {
-        return originalValue.ToString();
-      } else if (fi.FieldType.Equals(Type.GetType("System.Decimal"))) {
-        return originalValue.ToString();
-      } else
-        return base.WriteTransform(fi, type, originalValue);
-    }
-
-    public override object ReadTransform(FieldInfo fi, Type type, object serializeValue) {
-      if (fi.FieldType.Equals(Type.GetType("System.Guid"))) {
-        Guid g = new Guid((string)serializeValue);
-        return g;
-      } else if (fi.FieldType.Equals(Type.GetType("System.Decimal"))) {
-        return Convert.ToDecimal((string)serializeValue);
-      } else
-        return base.ReadTransform(fi, type, serializeValue);
-    }
-
-   public override FieldType GetFieldType(FieldInfo fi, Type type) {
-      if (fi.FieldType.Equals(Type.GetType("System.Guid")) ||
-              fi.FieldType.Equals(Type.GetType("System.Decimal")))
-        return FieldType.STRING;
-      return base.GetFieldType(fi, type);
-   }
-
-   public override bool IsIdentityField(FieldInfo fi, Type type) {
-      if (fi.Name == "_identityField")
-        return true;
-      return base.IsIdentityField(fi, type);
-   }
-
-   public override string GetFieldName(FieldInfo fi, Type type) {
-      if (fi.Name == "_nameChange")
-        return fi.Name + "NewName";
-      return fi.Name;
-    }
- 
-   public override bool IsFieldIncluded(FieldInfo fi, Type type)
-   {
-      if (fi.Name == "_notInclude")
-        return false;
-      return base.IsFieldIncluded(fi, type);
-    }
-}
-```
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/how-igfserializable-works.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/how-igfserializable-works.html.md.erb
deleted file mode 100644
index d524eb8..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/how-igfserializable-works.html.md.erb
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title:  How Serialization Works with IGeodeSerializable
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-When your application puts an object into the cache for distribution, <%=vars.product_name%> serializes the data by taking these steps.
-
-1.  Calls the appropriate `ClassId` function and creates the `TypeId` from it.
-2.  Writes the `TypeId` for the instance.
-3.  Invokes the `ToData` function for the instance.
-
-When your application subsequently receives a byte array, <%=vars.product_name%> takes the following steps:
-
-1.  Decodes the `TypeId` and creates an object of the designated type, using the registered factory functions.
-2.  Invokes the `FromData` function with input from the data stream.
-3.  Decodes the data and then populates the data fields.
-
-The `TypeId` is an integer of four bytes, which is a combination of `ClassId` integer and `0x27`, which is an indicator of user-defined type.
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/implementing-igfserializable.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/implementing-igfserializable.html.md.erb
deleted file mode 100644
index 505955d..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/implementing-igfserializable.html.md.erb
+++ /dev/null
@@ -1,139 +0,0 @@
----
-title:  Implement the IGeodeSerializable Interface
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-To store your own data types in the cache, you implement the <%=vars.product_name%> `IGeodeSerializable` interface.
-
-Examples follow the procedure.
-
-**Procedure**
-
-1.  Implement the `ToData` function that serializes your data:
-
-    ``` pre
-    void ToData(DataOutput output)
-    ```
-
-    The `ToData` function is responsible for copying all of the data fields for the object to the object stream. The `DataOutput` class represents the output stream and provides methods for writing the primitives in a network byte order.
-
-2.  Implement the `FromData` function that consumes a data input stream and repopulates the data fields for the object:
-
-    ``` pre
-    void fromData (DataInput& input)
-    ```
-
-    The `DataInput` class represents the input stream and provides methods for reading input elements. The `FromData` function must read the elements of the input stream in the same order that they were written by `ToData`.
-
-3.  Implement the `ClassId` function to return an integer which is unique for your class (in the set of all of your user-defined classes).
-
-## Simple BankAccount Class
-
-This example shows a simple class, `BankAccount`, that encapsulates the two `ints`, `customerId` and `accountId`:
-
-``` pre
-public class BankAccount
-{
-   private int m_customerId;
-   private int m_accountId;
-   public int Customer
-   {
-      get
-      {
-         return m_customerId;
-      }
-   }
-   public int Account
-   {
-      get
-      {
-         return m_accountId;
-      }
-   }
-   public BankAccount(int customer, int account)
-   {
-      m_customerId = customer;
-      m_accountId = account;
-   }
-}
-```
-
-## Implementing a Serializable Class
-
-To make `BankAccount` serializable, you implement the `IGeodeSerializable` interface as shown in this example:
-
-``` pre
-public class BankAccount : IGeodeSerializable
-   {
-   private int m_customerId;
-   private int m_accountId;
-   public int Customer
-   {
-      get
-      {
-         return m_customerId;
-      }
-   }
-   public int Account
-   {
-      get
-      {
-         return m_accountId;
-      }
-   }
-   public BankAccount(int customer, int account)
-   {
-      m_customerId = customer;
-      m_accountId = account;
-   }
-   // Our TypeFactoryMethod
-   public static IGeodeSerializable CreateInstance()
-   {
-      return new BankAccount(0, 0);
-   }
-   #region IGeodeSerializable Members
-   public void ToData(DataOutput output)
-   {
-      output.WriteInt32(m_customerId);
-      output.WriteInt32(m_accountId);
-   }
-   public void FromData(DataInput input)
-   {
-      m_customerId = input.ReadInt32();
-      m_accountId = input.ReadInt32();
-      return this;
-   }
-   public UInt32 ClassId
-   {
-      get
-      {
-         return 11;
-      }
-   }
-   public UInt32 ObjectSize
-   {
-      get
-      {
-         return (UInt32)(sizeof(Int32) + sizeof(Int32));
-      }
-   }
-}
-```
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/implementing-shared-assembly.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/implementing-shared-assembly.html.md.erb
deleted file mode 100644
index f506ecb..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/implementing-shared-assembly.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Implementing the Shared Assembly
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Follow these steps to install the shared assembly into the Global Assembly Cache (GAC).
-
-1.  Set the directory:
-
-    ``` pre
-    cd %GFCPP%
-    ```
-
-2.  Run the GAC utility to install `Apache.Geode.Client.dll` into the GAC.
-
-    ``` pre
-    gacutil.exe /if Apache.Geode.Client.dll
-    ```
-
-When you are ready to uninstall, use the `/u` switch. More information on the GAC utility can be found at [http://www.msdn.com](https://msdn.microsoft.com), or by using `gacutil.exe                 /?`.
-
-
diff --git a/docs/geode-native-docs/dotnet-caching-api/java-to-dotnet-type-mapping.html.md.erb b/docs/geode-native-docs/dotnet-caching-api/java-to-dotnet-type-mapping.html.md.erb
deleted file mode 100644
index cc25e78..0000000
--- a/docs/geode-native-docs/dotnet-caching-api/java-to-dotnet-type-mapping.html.md.erb
+++ /dev/null
@@ -1,163 +0,0 @@
----
-title:  Java to .NET Type Mapping Table
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
... 8981 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
echobravo@apache.org.