You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bb...@apache.org on 2020/07/31 15:33:10 UTC

[geode-native] branch develop updated: GEODE-8388: Geode Native Client User Guide - delete unused source files (#631)

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

bbender 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 ed18ce4  GEODE-8388: Geode Native Client User Guide - delete unused source files (#631)
ed18ce4 is described below

commit ed18ce4d805250809e9d9a50770c954c05327e7e
Author: Dave Barnes <db...@apache.org>
AuthorDate: Fri Jul 31 08:33:00 2020 -0700

    GEODE-8388: Geode Native Client User Guide - delete unused source files (#631)
---
 docs/geode-native-book-cpp/Gemfile.lock            |   3 -
 docs/geode-native-book-dotnet/Gemfile.lock         |   3 -
 .../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/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/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
 .../about-connection-pools.html.md.erb             |   2 +-
 ...onfiguring-pools-attributes-example.html.md.erb |   2 +-
 .../images/7-Preserving_Data-2.gif                 | Bin
 .../images/SQLite_Persistence_Mgr.png              | Bin 58388 -> 0 bytes
 .../images/client-cache-plugins-run.png            | Bin 19227 -> 0 bytes
 .../images/client-server-arch.gif                  | Bin
 .../images/delta-propagation.png                   | Bin 78773 -> 0 bytes
 .../preserving-data/reconnection.html.md.erb       |   2 +-
 .../consistency-checking-in-regions.html.md.erb    |  34 ---
 .../archive/data-as-blob.html.md.erb               |  25 --
 ...enting-pdxserializable-custom-class.html.md.erb |  43 ----
 .../archive/object-graphs.html.md.erb              |  23 --
 .../archive/pdx-ignore-unread-fields.html.md.erb   |  37 ---
 .../archive/pdx-serialization.html.md.erb          |  59 -----
 .../archive/pdx-with-delta-propagation.html.md.erb |  45 ----
 .../archive/pdxserializable-example.html.md.erb    | 151 ------------
 .../performing-ops-with-pdx-object.html.md.erb     |  60 -----
 .../archive/serialization-options.html.md.erb      |  85 -------
 .../archive/serialization-overview.html.md.erb     |  47 ----
 .../serialization-using-serializable.html.md.erb   | 271 ---------------------
 .../archive/using-enum-type-with-pdx.html.md.erb   | 130 ----------
 .../archive/using-pdxinstance.html.md.erb          |  59 -----
 .../archive/using-pdxinstancefactory.html.md.erb   | 134 ----------
 .../archive/using-pdxserialization.html.md.erb     |  70 ------
 .../archive/using-pdxserializer.html.md.erb        | 119 ---------
 .../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/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/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
 .../about-connection-pools.html.md.erb             |   2 +-
 ...onfiguring-pools-attributes-example.html.md.erb |   2 +-
 .../images/7-Preserving_Data-2.gif                 | Bin
 .../images/SQLite_Persistence_Mgr.png              | Bin 58388 -> 0 bytes
 .../images/client-cache-plugins-run.png            | Bin 19227 -> 0 bytes
 .../images/client-server-arch.gif                  | Bin
 .../images/delta-propagation.png                   | Bin 78773 -> 0 bytes
 .../preserving-data/reconnection.html.md.erb       |   2 +-
 .../consistency-checking-in-regions.html.md.erb    |  34 ---
 .../custom-class-igfserializable.html.md.erb       | 153 ------------
 .../dotnet-data-serialization-options.html.md.erb  |  63 -----
 .../archive/dotnet-data-serialization.html.md.erb  |  55 -----
 .../archive/how-igfserializable-works.html.md.erb  |  36 ---
 .../implementing-igfserializable.html.md.erb       | 139 -----------
 ...enting-pdxserializable-custom-class.html.md.erb |  43 ----
 .../mapping-dotnet-domain-type-names.html.md.erb   |  42 ----
 .../archive/programming-ipdxinstance.html.md.erb   |  70 ------
 .../archive/registering-the-type.html.md.erb       |  44 ----
 .../archive/serializable-types.html.md.erb         |  36 ---
 .../serialize-using-igfserializable.html.md.erb    |  41 ----
 .../archive/serializing-domain-objects.html.md.erb |  46 ----
 .../archive/using-ipdxinstancefactory.html.md.erb  |  26 --
 73 files changed, 6 insertions(+), 2232 deletions(-)

diff --git a/docs/geode-native-book-cpp/Gemfile.lock b/docs/geode-native-book-cpp/Gemfile.lock
index 48f5b00..0549ca6 100644
--- a/docs/geode-native-book-cpp/Gemfile.lock
+++ b/docs/geode-native-book-cpp/Gemfile.lock
@@ -202,6 +202,3 @@ PLATFORMS
 DEPENDENCIES
   bookbindery
   libv8
-
-BUNDLED WITH
-   1.17.3
diff --git a/docs/geode-native-book-dotnet/Gemfile.lock b/docs/geode-native-book-dotnet/Gemfile.lock
index 8ccdcfc..ffb0270 100644
--- a/docs/geode-native-book-dotnet/Gemfile.lock
+++ b/docs/geode-native-book-dotnet/Gemfile.lock
@@ -202,6 +202,3 @@ PLATFORMS
 DEPENDENCIES
   bookbindery
   libv8
-
-BUNDLED WITH
-   1.17.3
diff --git a/docs/geode-native-docs-cpp/common/images/10-Continuous_Querying-1.gif b/docs/geode-native-docs-cpp/common/images/10-Continuous_Querying-1.gif
deleted file mode 100644
index ca78bc9..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/10-Continuous_Querying-1.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/10-Continuous_Querying-3.gif b/docs/geode-native-docs-cpp/common/images/10-Continuous_Querying-3.gif
deleted file mode 100644
index 716aabc..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/10-Continuous_Querying-3.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/6-DotNet_API-1.gif b/docs/geode-native-docs-cpp/common/images/6-DotNet_API-1.gif
deleted file mode 100644
index 0ac6fa0..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/6-DotNet_API-1.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/client-cache-data-flow.gif b/docs/geode-native-docs-cpp/common/images/client-cache-data-flow.gif
deleted file mode 100644
index b69ad60..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/client-cache-data-flow.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/client-cache-plugins-run.gif b/docs/geode-native-docs-cpp/common/images/client-cache-plugins-run.gif
deleted file mode 100644
index f255b33..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/client-cache-plugins-run.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/client-overview.gif b/docs/geode-native-docs-cpp/common/images/client-overview.gif
deleted file mode 100644
index a71a23a..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/client-overview.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/data-dep-func-from-client.gif b/docs/geode-native-docs-cpp/common/images/data-dep-func-from-client.gif
deleted file mode 100644
index a0c4488..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/data-dep-func-from-client.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/data-dep-func-with-filter.gif b/docs/geode-native-docs-cpp/common/images/data-dep-func-with-filter.gif
deleted file mode 100644
index f5bb9d9..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/data-dep-func-with-filter.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/data-indep-func-from-client.gif b/docs/geode-native-docs-cpp/common/images/data-indep-func-from-client.gif
deleted file mode 100644
index 1ab8a96..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/data-indep-func-from-client.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/delta-propagation-in-client-server.gif b/docs/geode-native-docs-cpp/common/images/delta-propagation-in-client-server.gif
deleted file mode 100644
index e662062..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/delta-propagation-in-client-server.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/ha-data-dep-func.gif b/docs/geode-native-docs-cpp/common/images/ha-data-dep-func.gif
deleted file mode 100644
index 519dd6b..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/ha-data-dep-func.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/security-client-connections.gif b/docs/geode-native-docs-cpp/common/images/security-client-connections.gif
deleted file mode 100644
index af8fd27..0000000
Binary files a/docs/geode-native-docs-cpp/common/images/security-client-connections.gif and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/connection-pools/about-connection-pools.html.md.erb b/docs/geode-native-docs-cpp/connection-pools/about-connection-pools.html.md.erb
index fce954c..2f66e68 100644
--- a/docs/geode-native-docs-cpp/connection-pools/about-connection-pools.html.md.erb
+++ b/docs/geode-native-docs-cpp/connection-pools/about-connection-pools.html.md.erb
@@ -30,7 +30,7 @@ The connection pool has a configurable timeout period that is used to expire idl
 <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" />
+<img src="../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-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb b/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
index 17bb6ea..4696143 100644
--- a/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
+++ b/docs/geode-native-docs-cpp/connection-pools/configuring-pools-attributes-example.html.md.erb
@@ -105,7 +105,7 @@ You create an instance of `PoolFactory` through `PoolManager`.
 </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>Setting used for single-hop access to partitioned region data in the servers for some data operations. See <a href="../client-cache-ref.html#partition-resolver-ref">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">
diff --git a/docs/geode-native-docs-dotnet/common/images/7-Preserving_Data-2.gif b/docs/geode-native-docs-cpp/images/7-Preserving_Data-2.gif
similarity index 100%
rename from docs/geode-native-docs-dotnet/common/images/7-Preserving_Data-2.gif
rename to docs/geode-native-docs-cpp/images/7-Preserving_Data-2.gif
diff --git a/docs/geode-native-docs-cpp/images/SQLite_Persistence_Mgr.png b/docs/geode-native-docs-cpp/images/SQLite_Persistence_Mgr.png
deleted file mode 100644
index 0384874..0000000
Binary files a/docs/geode-native-docs-cpp/images/SQLite_Persistence_Mgr.png and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/images/client-cache-plugins-run.png b/docs/geode-native-docs-cpp/images/client-cache-plugins-run.png
deleted file mode 100644
index 72631c9..0000000
Binary files a/docs/geode-native-docs-cpp/images/client-cache-plugins-run.png and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/client-server-arch.gif b/docs/geode-native-docs-cpp/images/client-server-arch.gif
similarity index 100%
rename from docs/geode-native-docs-dotnet/common/images/client-server-arch.gif
rename to docs/geode-native-docs-cpp/images/client-server-arch.gif
diff --git a/docs/geode-native-docs-cpp/images/delta-propagation.png b/docs/geode-native-docs-cpp/images/delta-propagation.png
deleted file mode 100644
index 022e6c5..0000000
Binary files a/docs/geode-native-docs-cpp/images/delta-propagation.png and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/preserving-data/reconnection.html.md.erb b/docs/geode-native-docs-cpp/preserving-data/reconnection.html.md.erb
index 193e41f..8fc8b5e 100644
--- a/docs/geode-native-docs-cpp/preserving-data/reconnection.html.md.erb
+++ b/docs/geode-native-docs-cpp/preserving-data/reconnection.html.md.erb
@@ -44,6 +44,6 @@ Message B2 applies to an entry in Region A, so the cache listener handles B2's e
 <a id="concept_38C027837216434CB5DEC84DF56B807E__fig_5A5566FB9EBE4A6D906E9D8FA687B4C5"></a>
 <span class="figtitleprefix">Figure: </span> Initialization of a Reconnected Durable Client
 
-<img src="../common/images/7-Preserving_Data-2.gif" id="concept_38C027837216434CB5DEC84DF56B807E__image_1B3693DB90D041F193496BA24849D114" class="image" />
+<img src="../images/7-Preserving_Data-2.gif" id="concept_38C027837216434CB5DEC84DF56B807E__image_1B3693DB90D041F193496BA24849D114" class="image" />
 
 Only one region is shown for simplicity, but the messages in the queue could apply to multiple regions. Also, the figure omits the concurrent cache updates on the servers, which would normally be adding more messages to the client's message queue.
diff --git a/docs/geode-native-docs-cpp/regions/consistency-checking-in-regions.html.md.erb b/docs/geode-native-docs-cpp/regions/consistency-checking-in-regions.html.md.erb
deleted file mode 100644
index 84bc252..0000000
--- a/docs/geode-native-docs-cpp/regions/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-cpp/serialization/cpp-serialization/archive/data-as-blob.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/data-as-blob.html.md.erb
deleted file mode 100644
index e3c45f2..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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/serialization/cpp-serialization/archive/implementing-pdxserializable-custom-class.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/implementing-pdxserializable-custom-class.html.md.erb
deleted file mode 100644
index 47897f0..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/implementing-pdxserializable-custom-class.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Implementing a PdxSerializable 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.
--->
-
-Pdx serialization provides custom serialization to an individual class. Fields within an object can be serialized separately from the rest of the class.
-
-The type of serialization and its implementation can be specified entirely in the client
-application, with no need to create corresponding code on the <%=product_name%> server.
-
-<a id="setup_pdxsbl_class"></a>
-### Setup
-
-Pdx serialization provides custom serialization to an individual class. Fields within an object can be serialized separately from the rest of the class.
-
-Setting up a custom class for PdxSerializable treatment requires some preparatory steps:
-
-- The custom class must inherit from the C++ PdxSerializable interface.
-
-- You must provide serialization instructions for objects of the custom class. Specifically:
-
-  -  You must implement the `toData()` and `fromData()` methods.
-  -  You must provide a "factory method" that returns an instance of the custom object.
-
-- Your application must register your custom class with the cache, which takes care of informing the server of your
-  serialization scheme. With registration, you provide the name of the "factory method" you created for instantiating
-  objects of the custom class.
diff --git a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/object-graphs.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/object-graphs.html.md.erb
deleted file mode 100644
index 182b72d..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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/serialization/cpp-serialization/archive/pdx-ignore-unread-fields.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/pdx-ignore-unread-fields.html.md.erb
deleted file mode 100644
index 1149494..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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/serialization/cpp-serialization/archive/pdx-serialization.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/pdx-serialization.html.md.erb
deleted file mode 100644
index 021cb6b..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/pdx-serialization.html.md.erb
+++ /dev/null
@@ -1,59 +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 implement PDX serialization for each
-domain object or register a `PdxSerializer` for the entire cache.
-
-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.
-
-<!--  -   **[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.
-
--   **[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.
-
--   **[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/serialization/cpp-serialization/archive/pdx-with-delta-propagation.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/pdx-with-delta-propagation.html.md.erb
deleted file mode 100644
index 4f9bbf4..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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/serialization/cpp-serialization/archive/pdxserializable-example.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/pdxserializable-example.html.md.erb
deleted file mode 100644
index 714980c..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/pdxserializable-example.html.md.erb
+++ /dev/null
@@ -1,151 +0,0 @@
----
-title:  PdxSerializable Example
----
-
-<!--
-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.
--->
-
-## Order.cpp:
-
-Front matter:
-
-    #include "Order.hpp"
-
-`PdxReader` & `PdxWriter` are used for `fromData()` & `toData()`:
-
-    #include <geode/PdxReader.hpp>
-    #include <geode/PdxWriter.hpp>
-
-    namespace customserializable {
-
-- Must provide `fromData()` and `toData()`.
-- Specify the keys in the same order in `fromData()` and `toData()`. Use `PdxReader` and `PdxWriter`:
-
-    ```
-    void Order::fromData(PdxReader& pdxReader) {
-      order_id_ = static_cast<uint32_t>(pdxReader.readLong(ORDER_ID_KEY_));
-      name_ = pdxReader.readString(NAME_KEY_);
-      quantity_ = static_cast<uint16_t>(pdxReader.readInt(QUANTITY_KEY_));
-    }
-
-    void Order::toData(PdxWriter& pdxWriter) const {
-      pdxWriter.writeLong(ORDER_ID_KEY_, order_id_);
-      pdxWriter.markIdentityField(ORDER_ID_KEY_);
-
-      pdxWriter.writeString(NAME_KEY_, name_);
-      pdxWriter.markIdentityField(NAME_KEY_);
-
-      pdxWriter.writeInt(QUANTITY_KEY_, quantity_);
-      pdxWriter.markIdentityField(QUANTITY_KEY_);
-    }
-    ```
-
-Optionally override and add detailed methods as needed. In this example, we override `toString()` and implement `size()` and `classname()`.
-
-    std::string Order::toString() const {
-      return "OrderID: " + std::to_string(order_id_) + " Product Name: " + name_ +
-	     " Quantity: " + std::to_string(quantity_);
-    }
-
-
-    size_t Order::objectSize() const {
-      auto objectSize = sizeof(Order);
-      objectSize += name_.capacity();
-      return objectSize;
-    }
-
-
-    const std::string& Order::getClassName() const {
-      static const std::string CLASS_NAME = "com.example.Order";
-      return CLASS_NAME;
-    }
-
-Provide a constructor in a parameter-less wrapper that can be called to create a prototypical instance (called `createDeserializable()` here).
-
-    std::shared_ptr<PdxSerializable> Order::createDeserializable() {
-      return std::make_shared<Order>(0, "", 0);
-    }
-
-    const std::string Order::ORDER_ID_KEY_ = "order_id";
-    const std::string Order::NAME_KEY_ = "name";
-    const std::string Order::QUANTITY_KEY_ = "quantity";
-
-    }  // namespace customserializable
-
-## main.cpp
-
-Front matter. You will need `TypeRegistry` to register your PdxSerializable class. Bring in the customary includes for I/O and cache, pool, and region creation.
-
-    #include <iostream>
-    #include <sstream>
-
-    #include <geode/CacheFactory.hpp>
-    #include <geode/PoolManager.hpp>
-    #include <geode/RegionFactory.hpp>
-    #include <geode/RegionShortcut.hpp>
-    #include <geode/TypeRegistry.hpp>
-
-    #include "Order.hpp"
-
-    using namespace apache::geode::client;
-    using namespace customserializable;
-
-
-    int main(int argc, char** argv) {
-      auto cacheFactory = CacheFactory();
-      cacheFactory.set("log-level", "none");
-      auto cache = cacheFactory.create();
-
-      auto poolFactory = cache.getPoolManager().createFactory();
-      poolFactory.addLocator("localhost", 10334);
-      auto pool = poolFactory.create("pool");
-
-      auto regionFactory = cache.createRegionFactory(RegionShortcut::PROXY);
-      auto region = regionFactory.setPoolName("pool").create("custom_orders");
-
-
-      cache.getTypeRegistry().registerPdxType(Order::createDeserializable);
-
-
-      std::cout << "Create orders" << std::endl;
-      auto order1 = std::make_shared<Order>(1, "product x", 23);
-      auto order2 = std::make_shared<Order>(2, "product y", 37);
-
-      std::cout << "Storing orders in the region" << std::endl;
-      region->put("Customer1", order1);
-      region->put("Customer2", order2);
-
-      std::cout << "Getting the orders from the region" << std::endl;
-
-      if (auto order1retrieved =
-	      std::dynamic_pointer_cast<Order>(region->get("Customer1"))) {
-	std::cout << "OrderID: " << order1retrieved->getOrderId() << std::endl;
-	std::cout << "Product Name: " << order1retrieved->getName() << std::endl;
-	std::cout << "Quantity: " << order1retrieved->getQuantity() << std::endl;
-      } else {
-	std::cout << "Order 1 not found." << std::endl;
-      }
-
-      if (auto order2retrieved = region->get("Customer2")) {
-	std::cout << order2retrieved->toString() << std::endl;
-      } else {
-	std::cout << "Order 2 not found." << std::endl;
-      }
-
-
-      cache.close();
-    }
diff --git a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/performing-ops-with-pdx-object.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/performing-ops-with-pdx-object.html.md.erb
deleted file mode 100644
index f9c8ec4..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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#pdx-serializable-example).
-
-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/serialization/cpp-serialization/archive/serialization-options.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/serialization-options.html.md.erb
deleted file mode 100644
index 1e49872..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/serialization-options.html.md.erb
+++ /dev/null
@@ -1,85 +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: <%=vars.product_name%> PDX serialization and the `apache::geode::client::DataSerializable` interface.
-
-<%=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 you
-to mix versions of objects where you have added or removed fields.
-
-When using PDX serialization, you can use either `PdxSerializable` (for a specific domain object) or `PdxSerializer` (for all your domain objects).
-
-`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.
-
-`PdxSerializer` is used when a user has registered a domain class for serialization in the cache using the `registerPdxSerializer` API.
-
-The non-PDX serialization option is to use the `apache::geode::client::DataSerializable` interface. This
-`DataSerializable` interface can be a good option performance-wise if the size of your objects is
-small. `DataSerializable` is used whenever a user domain class is not inherited by `PdxSerializable`,
-but the user has registered the class with the `registerType` API.
-
-<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>DataSerializable</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 Geode delta propagation</p></td>
-<td>X</td>
-<td>X</td>
-</tr>
-</tbody>
-</table>
-
-<span class="tablecap">**Table 1.** Serialization Options—Comparison of Features</span>
-
-## Important points to remember when using DataSerializable
-
-1. Make sure to register the proper typeId when registering custom classes that have a corresponding server side jar (e.g. Portfolio and Position)
-2. Make sure to register any custom types in each process that uses those types. The cppcache framework uses four separate processes.
diff --git a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/serialization-overview.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/serialization-overview.html.md.erb
deleted file mode 100644
index 6c5ba24..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/serialization-overview.html.md.erb
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title:  Data Serialization &ndash; C++
----
-
-<!--
-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.
-
--   **[Data Serialization Options](serialization-options.html)**
-
-    The C++ client API provides two serialization options:  <%=vars.product_name%> PDX serialization and the `apache::geode::client::DataSerializable` interface.
-
--   **[Using 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
-implement PDX serialization for each domain object or register a PdxSerializer for the entire cache.
-
--   **[Serializing Data with the DataSerializable Interface](serialization-using-serializable.html)**
-
-    The C++ client API provides a `DataSerializable` interface that you can use for fast and compact data serialization. This section discusses the <%=vars.product_name%> DataSerializable 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/serialization/cpp-serialization/archive/serialization-using-serializable.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/serialization-using-serializable.html.md.erb
deleted file mode 100644
index 5ba377d..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/serialization-using-serializable.html.md.erb
+++ /dev/null
@@ -1,271 +0,0 @@
----
-title:  Serializing Data with the DataSerializable 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 `DataSerializable` interface that you can use for fast and compact
-data serialization. 
-
-<%=vars.product_name%> Portable Data eXchange (PDX) serialization is the recommended option,
-but the `DataSerializable` interface can be a good option performance-wise if the size of your objects
-is small. 
-
-This section discusses the <%=vars.product_name%> `DataSerializable` 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 DataSerializable Interface
-
-To store your own data types in the cache, you need to derive a new subclass from the `DataSerializable`
-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 `DataSerializable` and implement the following:
-
--   `toData` — a function to serialize the data.
--   `fromData` — a function to deserialize the data.
--   `getClassId` — a function to provide a unique integer for the class.
--   `TypeFactoryMethod` — a pointer to a function that returns a `DataSerializable*` to an uninitialized instance of the type.
-
-## Example 2. Implementing a DataSerializable Class
-
-This example shows a code sample that demonstrates how to implement a serializable class.
-
-``` pre
-class BankAccount : public DataSerializable
-{
-   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 DataSerializable interface
-// Our TypeFactoryMethod
-static DataSerializable* createInstance( )
-{
-    return new BankAccount( 0, 0 );
-}
-
-int32_t getClassId( )
-{
-    return 10; // must be unique per class.
-}
-
-void toData( DataOutput& output )
-{
-    output.writeInt( m_ownerId );
-    output.writeInt( m_accountId );
-}
-
-DataSerializable* 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
-DataSerializable::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 `DataSerializable` 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 `DataSerializable`.
-
--   Implement `operator==` and `hashcode` functions.
-
-## Example 3. Extending a DataSerializable 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 DataSerializable* 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 );
-}
-
-DataSerializable* 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 even if there are no Java clients.
-
diff --git a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/using-enum-type-with-pdx.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/using-enum-type-with-pdx.html.md.erb
deleted file mode 100644
index b8d520e..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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 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/serialization/cpp-serialization/archive/using-pdxinstance.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/using-pdxinstance.html.md.erb
deleted file mode 100644
index e152ee5..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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/serialization/cpp-serialization/archive/using-pdxinstancefactory.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/using-pdxinstancefactory.html.md.erb
deleted file mode 100644
index f1d755b..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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/serialization/cpp-serialization/archive/using-pdxserialization.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/using-pdxserialization.html.md.erb
deleted file mode 100644
index 1132067..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/using-pdxserialization.html.md.erb
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title:  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.
--->
-
-<%=vars.product_name%> Portable Data eXchange (PDX) serialization provides portability for PDX serializable objects so that clients can share data with
-Java servers and other non-C++ clients. 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 you
-to mix versions of objects where you have added or removed fields.
-
-When using PDX serialization, you can use either `PdxSerializable` (for a specific domain object) or `PdxSerializer` (for all your domain objects).
-
-**Use `PdxSerializable`** when the object is one whose definition you control. You can embed the serialization/deserialization capability within
-the object, so its conversion from one format to the other is self-contained. You do this by defining an object that inherits from the `PdxSerializable`
-interface, and you register the domain class using the `registerPdxType(domainClass)` API.
-
-**Use `PdxSerializer`** when you cannot or do not wish to modify the object definition, for example, when the object is provided by a third-party.
-You define the serialization/deserialization capability in a separate place, then register the domain class for serialization in the cache using 
-the `registerPdxSerializer` API.
-
-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.
-
-<!-- -   **[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.
-
--   **[Performing put, get, and localDestroy Operations with a PDX Domain Object](performing-ops-with-pdx-object.html)**
-    This topic demonstrates how you can perform operations on a PDX domain object after you have implemented PDX serializable in your domain class.
-
--   **[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.
-
--   **[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/serialization/cpp-serialization/archive/using-pdxserializer.html.md.erb b/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/using-pdxserializer.html.md.erb
deleted file mode 100644
index 20afe61..0000000
--- a/docs/geode-native-docs-cpp/serialization/cpp-serialization/archive/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 "deallocator", 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-dotnet/common/images/10-Continuous_Querying-1.gif b/docs/geode-native-docs-dotnet/common/images/10-Continuous_Querying-1.gif
deleted file mode 100644
index ca78bc9..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/10-Continuous_Querying-1.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/10-Continuous_Querying-3.gif b/docs/geode-native-docs-dotnet/common/images/10-Continuous_Querying-3.gif
deleted file mode 100644
index 716aabc..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/10-Continuous_Querying-3.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/6-DotNet_API-1.gif b/docs/geode-native-docs-dotnet/common/images/6-DotNet_API-1.gif
deleted file mode 100644
index 0ac6fa0..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/6-DotNet_API-1.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/client-cache-data-flow.gif b/docs/geode-native-docs-dotnet/common/images/client-cache-data-flow.gif
deleted file mode 100644
index b69ad60..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/client-cache-data-flow.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/client-cache-plugins-run.gif b/docs/geode-native-docs-dotnet/common/images/client-cache-plugins-run.gif
deleted file mode 100644
index f255b33..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/client-cache-plugins-run.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/client-overview.gif b/docs/geode-native-docs-dotnet/common/images/client-overview.gif
deleted file mode 100644
index a71a23a..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/client-overview.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/data-dep-func-from-client.gif b/docs/geode-native-docs-dotnet/common/images/data-dep-func-from-client.gif
deleted file mode 100644
index a0c4488..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/data-dep-func-from-client.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/data-dep-func-with-filter.gif b/docs/geode-native-docs-dotnet/common/images/data-dep-func-with-filter.gif
deleted file mode 100644
index f5bb9d9..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/data-dep-func-with-filter.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/data-indep-func-from-client.gif b/docs/geode-native-docs-dotnet/common/images/data-indep-func-from-client.gif
deleted file mode 100644
index 1ab8a96..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/data-indep-func-from-client.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/delta-propagation-in-client-server.gif b/docs/geode-native-docs-dotnet/common/images/delta-propagation-in-client-server.gif
deleted file mode 100644
index e662062..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/delta-propagation-in-client-server.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/ha-data-dep-func.gif b/docs/geode-native-docs-dotnet/common/images/ha-data-dep-func.gif
deleted file mode 100644
index 519dd6b..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/ha-data-dep-func.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/common/images/security-client-connections.gif b/docs/geode-native-docs-dotnet/common/images/security-client-connections.gif
deleted file mode 100644
index af8fd27..0000000
Binary files a/docs/geode-native-docs-dotnet/common/images/security-client-connections.gif and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/connection-pools/about-connection-pools.html.md.erb b/docs/geode-native-docs-dotnet/connection-pools/about-connection-pools.html.md.erb
index fce954c..2f66e68 100644
--- a/docs/geode-native-docs-dotnet/connection-pools/about-connection-pools.html.md.erb
+++ b/docs/geode-native-docs-dotnet/connection-pools/about-connection-pools.html.md.erb
@@ -30,7 +30,7 @@ The connection pool has a configurable timeout period that is used to expire idl
 <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" />
+<img src="../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-dotnet/connection-pools/configuring-pools-attributes-example.html.md.erb b/docs/geode-native-docs-dotnet/connection-pools/configuring-pools-attributes-example.html.md.erb
index 17bb6ea..4696143 100644
--- a/docs/geode-native-docs-dotnet/connection-pools/configuring-pools-attributes-example.html.md.erb
+++ b/docs/geode-native-docs-dotnet/connection-pools/configuring-pools-attributes-example.html.md.erb
@@ -105,7 +105,7 @@ You create an instance of `PoolFactory` through `PoolManager`.
 </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>Setting used for single-hop access to partitioned region data in the servers for some data operations. See <a href="../client-cache-ref.html#partition-resolver-ref">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">
diff --git a/docs/geode-native-docs-cpp/common/images/7-Preserving_Data-2.gif b/docs/geode-native-docs-dotnet/images/7-Preserving_Data-2.gif
similarity index 100%
rename from docs/geode-native-docs-cpp/common/images/7-Preserving_Data-2.gif
rename to docs/geode-native-docs-dotnet/images/7-Preserving_Data-2.gif
diff --git a/docs/geode-native-docs-dotnet/images/SQLite_Persistence_Mgr.png b/docs/geode-native-docs-dotnet/images/SQLite_Persistence_Mgr.png
deleted file mode 100644
index 0384874..0000000
Binary files a/docs/geode-native-docs-dotnet/images/SQLite_Persistence_Mgr.png and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/images/client-cache-plugins-run.png b/docs/geode-native-docs-dotnet/images/client-cache-plugins-run.png
deleted file mode 100644
index 72631c9..0000000
Binary files a/docs/geode-native-docs-dotnet/images/client-cache-plugins-run.png and /dev/null differ
diff --git a/docs/geode-native-docs-cpp/common/images/client-server-arch.gif b/docs/geode-native-docs-dotnet/images/client-server-arch.gif
similarity index 100%
rename from docs/geode-native-docs-cpp/common/images/client-server-arch.gif
rename to docs/geode-native-docs-dotnet/images/client-server-arch.gif
diff --git a/docs/geode-native-docs-dotnet/images/delta-propagation.png b/docs/geode-native-docs-dotnet/images/delta-propagation.png
deleted file mode 100644
index 022e6c5..0000000
Binary files a/docs/geode-native-docs-dotnet/images/delta-propagation.png and /dev/null differ
diff --git a/docs/geode-native-docs-dotnet/preserving-data/reconnection.html.md.erb b/docs/geode-native-docs-dotnet/preserving-data/reconnection.html.md.erb
index 193e41f..8fc8b5e 100644
--- a/docs/geode-native-docs-dotnet/preserving-data/reconnection.html.md.erb
+++ b/docs/geode-native-docs-dotnet/preserving-data/reconnection.html.md.erb
@@ -44,6 +44,6 @@ Message B2 applies to an entry in Region A, so the cache listener handles B2's e
 <a id="concept_38C027837216434CB5DEC84DF56B807E__fig_5A5566FB9EBE4A6D906E9D8FA687B4C5"></a>
 <span class="figtitleprefix">Figure: </span> Initialization of a Reconnected Durable Client
 
-<img src="../common/images/7-Preserving_Data-2.gif" id="concept_38C027837216434CB5DEC84DF56B807E__image_1B3693DB90D041F193496BA24849D114" class="image" />
+<img src="../images/7-Preserving_Data-2.gif" id="concept_38C027837216434CB5DEC84DF56B807E__image_1B3693DB90D041F193496BA24849D114" class="image" />
 
 Only one region is shown for simplicity, but the messages in the queue could apply to multiple regions. Also, the figure omits the concurrent cache updates on the servers, which would normally be adding more messages to the client's message queue.
diff --git a/docs/geode-native-docs-dotnet/regions/consistency-checking-in-regions.html.md.erb b/docs/geode-native-docs-dotnet/regions/consistency-checking-in-regions.html.md.erb
deleted file mode 100644
index 84bc252..0000000
--- a/docs/geode-native-docs-dotnet/regions/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-dotnet/serialization/dotnet-serialization/archive/custom-class-igfserializable.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/custom-class-igfserializable.html.md.erb
deleted file mode 100644
index 1489566..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/custom-class-igfserializable.html.md.erb
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title:  Using a Custom Class With IDataSerializable
----
-
-<!--
-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 : IDataSerializable   
-   {
-      #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 IDataSerializable CreateInstance()
-      {
-         return new AccountHistory();
-      }
-      #region IDataSerializable 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/serialization/dotnet-serialization/archive/dotnet-data-serialization-options.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/dotnet-data-serialization-options.html.md.erb
deleted file mode 100644
index 24546ed..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/dotnet-data-serialization-options.html.md.erb
+++ /dev/null
@@ -1,63 +0,0 @@
-<a id="data-serialization-options"></a>
-## Data Serialization Options
-
-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 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.IDataSerializable`.
-
-In addition, You 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">Serialization Options—Comparison of Features</a>
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="34%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Capability</th>
-<th>IDataSerializable</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`. 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, but `IPdxInstance` does not have the `fromDelta`
-method required for delta propagation. You will also require a Java domain class on the server
-similar to your .NET PDX Delta domain class.
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/dotnet-data-serialization.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/dotnet-data-serialization.html.md.erb
deleted file mode 100644
index 6e4de50..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/dotnet-data-serialization.html.md.erb
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title:  Data Serialization &ndash; .NET
----
-
-<!--
-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.
-
-
-  - <%=vars.product_name%> Portable Data eXchange (PDX) serialization
-  - `DataSerializable` interface serialization
-
-The `DataSerializable` interface can be a good option performance-wise if the size of your objects
-is small, but do not as readily support code that executes on the server, such as queries and functions.
-
-Each of these serialization methods provides two options:
-
-  - PDXSerializable / DataSerializable for objects under your control, that is, objects you can modify to incorporate their own serialization and deserialization code
-  - PDXSerializer / DataSerializer for objects not under your control, that is, objects for which serialization and deserialization must be specified separately from the objects themselves.
-
-For .NET, a reflection-based autoserialization option is also available, but it is limited to cases in which the objects being serialized (a) contain no transient state and (b) are composed only of primitive types.
-
-
-# .NET Data Serialization Options
-
-The .NET client API provides an option not available to the C++ API, as .NET objects are capable of reflection.
-The recommended choice is iPDXSerializable.
-
-With reflection-based autoserialization, built-in .NET types are serialized automatically into the
-cache and can be retrieved by <%=vars.product_name%> servers and other <%=vars.product_name%> clients. For domain
-objects that are not simple types, you have three <%=vars.product_name%> serialization options.
-
-  - The simplest option is to use 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 custom serialize your objects by implementing the <%=vars.product_name%> `IDataSerializable` .NET interface.
-
-  - 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`.
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/how-igfserializable-works.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/how-igfserializable-works.html.md.erb
deleted file mode 100644
index 5efba97..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/how-igfserializable-works.html.md.erb
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title:  How Serialization Works with IDataSerializable
----
-
-<!--
-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/serialization/dotnet-serialization/archive/implementing-igfserializable.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/implementing-igfserializable.html.md.erb
deleted file mode 100644
index aa069c1..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/implementing-igfserializable.html.md.erb
+++ /dev/null
@@ -1,139 +0,0 @@
----
-title:  Implement the IDataSerializable 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%> `IDataSerializable` 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 `IDataSerializable` interface as shown in this example:
-
-``` pre
-public class BankAccount : IDataSerializable
-   {
-   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 IDataSerializable CreateInstance()
-   {
-      return new BankAccount(0, 0);
-   }
-   #region IDataSerializable 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/serialization/dotnet-serialization/archive/implementing-pdxserializable-custom-class.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/implementing-pdxserializable-custom-class.html.md.erb
deleted file mode 100644
index 67cdb34..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/implementing-pdxserializable-custom-class.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Implementing a PdxSerializable 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.
--->
-
-Pdx serialization provides custom serialization to an individual class. Fields within an object can be serialized separately from the rest of the class.
-
-The type of serialization and its implementation can be specified entirely in the client
-application, with no need to create corresponding code on the <%=product_name%> server.
-
-<a id="setup_pdxsbl_class"></a>
-## Setup
-
-Pdx serialization provides custom serialization to an individual class. Fields within an object can be serialized separately from the rest of the class.
-
-Setting up a custom class for PdxSerializable treatment requires some preparatory steps:
-
-- The custom class must inherit from the .NET IPdxSerializable interface.
-
-- You must provide serialization instructions for objects of the custom class. Specifically:
-
-  -  You must implement the `ToData()` and `FromData()` methods.
-  -  You must provide a "factory method" that returns an instance of the custom object.
-
-- Your application must register your custom class with the cache, which takes care of informing the server of your
-  serialization scheme. With registration, you provide the name of the "factory method" you created for instantiating
-  objects of the custom class.
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/mapping-dotnet-domain-type-names.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/mapping-dotnet-domain-type-names.html.md.erb
deleted file mode 100644
index c925faa..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/mapping-dotnet-domain-type-names.html.md.erb
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title:  Map .NET Domain Type Names to PDX Type Names with IPdxTypeMapper
----
-
-<!--
-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 serialized instances in Java map to .NET types with the same name. If you need to adjust the .NET name, then you need to use the IPdxTypeMapper.
-
-See the [Java to .NET Type Mapping Table](../../dotnet-caching-api/java-to-dotnet-type-mapping.html#concept_24D0AAC71FF1483AB47A7772DA018966) for current mappings.
-
-## Using IPdxTypeMapper
-
-``` pre
-//This demonstrates, how to map .NET type to pdx type or java type
-public class PdxTypeMapper : IPdxTypeMapper {
-    
-    public string ToPdxTypeName(string localTypeName) {
-        return "pdx_" + localTypeName;
-    }
-
-    public string FromPdxTypeName(string pdxTypeName) {
-        return pdxTypeName.Substring(4);//need to extract "pdx_"
-    }
-}
-```
-
-
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/programming-ipdxinstance.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/programming-ipdxinstance.html.md.erb
deleted file mode 100644
index 6e00839..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/programming-ipdxinstance.html.md.erb
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title:  Program Your Application to Use IPdxInstance
----
-
-<!--
-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 `IPdxInstance` is a lightweight wrapper around PDX serialized bytes. It provides applications with run-time access to fields of a PDX serialized object.
-
-You can configure your cache to return an `IPdxInstance` when a PDX serialized object is deserialized instead of deserializing the object to a domain class. You can then program your application code that reads your entries to handle `IPdxInstances` fetched from the cache.
-
-**Note:**
-This option applies only to entry retrieval that you explicitly code using methods like `EntryEvent.getNewValue` and `Region.get`, as you do inside functions or in cache listener code. This does not apply to querying because the query engine retrieves the entries and handles object access for you.
-
-**Note:**
-`IPdxInstance` overrides any custom implementation you might have coded for your object's `equals` and `hashcode` methods.
-
-**Procedure**
-
-1.  In the `cache.xml` file of the server member where entry fetches are run, set the `<pdx>` read-serialized attribute to true.
-
-    Data is not necessarily accessed on the member that you have coded for it. For example, if a client application runs a function on a server, the actual data access is done on the server, so you set read-serialized to true on the server.
-
-    For example:
-
-    ``` pre
-    // Cache configuration setting PDX read behavior
-                  <cache>
-                    <pdx read-serialized="true" />
-    ... </cache>
-    ```
-
-2.  Write the application code that fetches data from the cache to handle a `IPdxInstance`. If you are sure you will only retrieve `IPdxInstances` from the cache, you can code only for that. In many cases, a `IPdxInstance` or a domain object may be returned from your cache entry retrieval operation, so you should check the object type and handle each possible type.
-
-    See [Use the IPdxInstanceFactory to Create IPdxInstances](using-ipdxinstancefactory.html#concept_8FA31D0D022146CE8DE2197006507AFF__example_89B7EDD2BE27423BA0CAB9B0270348B5) for an example of this.
-
-If you configure your cache to allow PDX serialized reads, cache fetches return the data in the form it is found. If the object is not serialized, the fetch returns the domain object. If the object is serialized, the fetch returns the `PdxInstance` for the object.
-
-**Note:**
-If you are using `IPdxInstances`, you cannot use delta propagation to apply changes to PDX serialized objects.
-
-For example, in client/server applications that are programmed and configured to handle all data activity from the client, PDX serialized reads done on the server side will always return the `IPdxInstance`. This is because all of data is serialized for transfer from the client and you are not performing any server-side activities that would deserialize the objects in the server cache.
-
-In mixed situations, such as where a server cache is populated from client operations and also from data loads done on the server side, fetches done on the server can return a mix of `IPdxInstances` and domain objects.
-
-When fetching data in a cache with PDX serialized reads enabled, the safest approach is to code to handle both types, receiving an Object from the fetch operation, checking the type and casting as appropriate.
-
-## <a id="using-ipdxinstancefactory""></a> Using the IPdxInstanceFactory to Create IPdxInstances
-
-You can use the `IPdxInstanceFactory` to create an `IPdxInstance` from raw data when the domain class is not available on the server.
-
-This option can be useful when you need an instance of a domain class for plug-in code such as a
-function or a loader. If you have the raw data for the domain object (the class name and each
-field's type and data), then you can explicitly create a `IPdxInstance`. The `IPdxInstanceFactory`
-is very similar to the `IPdxWriter` except that after writing each field, you need to call the
-create method which returns the created `IPdxInstance.`
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/registering-the-type.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/registering-the-type.html.md.erb
deleted file mode 100644
index c77603e..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/registering-the-type.html.md.erb
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title:  Register the Type
----
-
-<!--
-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 use the `BankAccount` type, you must register it with the type system. Then, 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 creating the system.
-
-## <a id="concept_FFFB0AAA131E46D09065F910EFF218CB__section_1B68CDA7392E45CAA413362F42CCF829" class="no-quick-link"></a>Using ClassId
-
-A `ClassId` is an integer that returns the `ClassId` of the instance being serialized. The `ClassId` is used by deserialization to determine what instance type to create and deserialize into.
-
-## <a id="concept_FFFB0AAA131E46D09065F910EFF218CB__section_8A63DBA039744DCCB6840A7F1F5734DA" class="no-quick-link"></a>Using DSFID
-
-A `DSFID` is an integer that returns the data serialization fixed ID type. `DSFID` is used to determine what instance type to create and deserialize into. `DSFID` should not be overridden by custom implementations, and it is reserved only for built-in serializable types.
-
-## <a id="concept_FFFB0AAA131E46D09065F910EFF218CB__section_A02B5E61D03B4B0893DFF3D21F2346F9" class="no-quick-link"></a>Using Custom Key Types
-
-If your application uses its own key types that are too complex to easily force into strings, you can probably improve performance by using a custom type and implementing `HashCode` and `Equals` functions. For example, if you have hybrid data types such as floating point numbers, you can implement your own type that encapsulates the floating point number. Comparing floating point numbers in this way provides better performance than comparing a string representation of the floating point  [...]
-
-See [Serialization in Native Client Mode with a Java Server](../cpp-caching-api/serialization-using-serializable.html#concept_696AB5206C3E45898CC1A24CDD93D003__section_AFB685227E4048BF9FB4FD7C55AED274) for information about implementing key types for a client that is used with a Java cache server.
-
-To extend a type that implements `IPdxSerializable` or `IDataSerializable` for your key, override and implement the `HashCode` and `Equals` methods in the key as needed.
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serializable-types.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serializable-types.html.md.erb
deleted file mode 100644
index f213da6..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serializable-types.html.md.erb
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title:  Generic and Custom Serializable Types
----
-
-<!--
-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 built-in generics are automatically registered at initialization. You have a couple of options for complex key types.
-
-If your application uses more complex key types that you want to make more accessible or easier to handle, you can derive a new class from `IDataSerializable`. Another option is for the application to do its own object serialization using `Byte[]` or a custom type.
-
-## <a id="concept_5D520C87F65B48AFA4240615190B0150__section_DA3BCFFFCB974C65BEE953DF3FAA8442" class="no-quick-link"></a>Blobs
-
-If you have data that is best handled as a blob, such as structs that do not contain pointers, use a `Byte[]` or, if you need something more complex than `Byte[]`, implement a custom type using either `IPdxSerializable` or `IDataSerializable`.
-
-## <a id="concept_5D520C87F65B48AFA4240615190B0150__section_D49865F1CF5F467A9FFAD244D990F3F5" class="no-quick-link"></a>Object Graphs
-
-If you have a graph of objects in which each node can be serializable, the parent node calls `DataOutput.WriteObject` to delegate the serialization responsibility to its child nodes. Similarly, your application calls `DataInput.ReadObject` to deserialize the object graph.
-
-**Note:**
-The <%=vars.product_name%> `IDataSerializable` interface does not support object graphs with multiple references to the same object. If your application uses these types of circular graphs, you must address this design concern explicitly.
-
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serialize-using-igfserializable.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serialize-using-igfserializable.html.md.erb
deleted file mode 100644
index e261eea..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serialize-using-igfserializable.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
-<% set_title("Using the", product_name, "IDataSerializable 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 .NET `IDataSerializable` interface provides fast and compact data serialization.
-
-<%=vars.product_name%> .NET Data serialization consumes fewer bytes in overhead than  <%=vars.product_name%> .NET PDX serialization,
-but incurs higher performance costs of deserialization when performing queries.
-
--   **[How Serialization Works with IDataSerializable](how-igfserializable-works.html)**
-
-    When your application puts an object into the cache for distribution, <%=vars.product_name%> serializes the data by taking these steps.
-
--   **[Implement the IDataSerializable Interface](implementing-igfserializable.html)**
-
-    To store your own data types in the cache, you implement the <%=vars.product_name%> `IDataSerializable` interface.
-
--   **[Register the Type](registering-the-type.html)**
-
-    To use the `BankAccount` type, you must register it with the type system. Then, when an incoming stream contains a `BankAccount`, it can be manufactured from the associated `TypeFactoryMethod.`
-
--   **[Using a Custom Class With IDataSerializable](custom-class-igfserializable.html)**
-
-    An example shows how to use the BankAccount custom key type and the AccountHistory value type that were previously defined.
-
-
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serializing-domain-objects.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serializing-domain-objects.html.md.erb
deleted file mode 100644
index d3e571a..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/serializing-domain-objects.html.md.erb
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title:  Serialize Your Domain Objects with IPdxSerializer
----
-
-<!--
-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 `IPdxSerializer` class to serialize and deserialize the object's fields.
-
-You use one `IPdxSerializer` 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 `IPdxSerializable` interface for each domain class.
-
-With `IPdxSerializer`, you leave your domain object as-is and handle the serialization and deserialization in the separate serializer. You register the serializer in your cache PDX configuration. Then program the serializer to handle all of the domain objects you need.
-
-If you write your own `IPdxSerializer` and you also use the `ReflectionBasedAutoSerializer`, then the `IPdxSerializer` needs to own the `ReflectionBasedAutoSerializer` and delegate to it. A cache can only have a single `IPdxSerializer` instance.
-
-**Note:**
-The `IPdxSerializer` `toData` and `fromData` methods differ from those for `IPdxSerializable`. They have different parameters and results.
-
-To register an `IPdxSerializer`, you can use the following code. Note that you can only register the `IPdxSerializer` in the application code. It cannot be configured declaratively in `cache.xml`.
-
-Example:
-
-``` pre
-using Apache.Geode.Client;
-...
-// Register a PdxSerializer to serialize
-// domain objects using PDX serialization
- 
-Serializable.RegisterPdxSerializer(new MyPdxSerializer());
-```
-
-
diff --git a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/using-ipdxinstancefactory.html.md.erb b/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/using-ipdxinstancefactory.html.md.erb
deleted file mode 100644
index c433e60..0000000
--- a/docs/geode-native-docs-dotnet/serialization/dotnet-serialization/archive/using-ipdxinstancefactory.html.md.erb
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title:  Using the IPdxInstanceFactory to Create IPdxInstances
----
-
-<!--
-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 `IPdxInstanceFactory` to create an `IPdxInstance` from raw data when the domain class is not available on the server.
-
-This option can be useful when you need an instance of a domain class for plug-in code such as a function or a loader. If you have the raw data for the domain object (the class name and each field's type and data), then you can explicitly create a `IPdxInstance`. The `IPdxInstanceFactory` is very similar to the `IPdxWriter` except that after writing each field, you need to call the create method which returns the created `IPdxInstance.`
-
-