diff --git a/modules/ROOT/images/capella-logo.svg b/modules/ROOT/images/capella-logo.svg
new file mode 100644
index 000000000..c03d2f24b
--- /dev/null
+++ b/modules/ROOT/images/capella-logo.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/modules/ROOT/images/couchbase-logo.svg b/modules/ROOT/images/couchbase-logo.svg
new file mode 100644
index 000000000..36cf6df44
--- /dev/null
+++ b/modules/ROOT/images/couchbase-logo.svg
@@ -0,0 +1,50 @@
+
+
+
+
\ No newline at end of file
diff --git a/modules/ROOT/partials/component-signpost.adoc b/modules/ROOT/partials/component-signpost.adoc
new file mode 100644
index 000000000..6fa897d96
--- /dev/null
+++ b/modules/ROOT/partials/component-signpost.adoc
@@ -0,0 +1,17 @@
+// `flag-devex-escape-hatch` is a flag to hide the feature from production until ready.
+// Use `no-escape-hatch` to turn off the escape hatch for individual pages.
+// Use `escape-hatch` to override the escape hatch xref for individual pages.
+ifdef::flag-devex-escape-hatch[]
+[.signpost]
+image:ROOT:capella-logo.svg["Couchbase Capella", 25.6]
+This page is for Couchbase Capella.
+ifndef::no-escape-hatch[]
+For Couchbase Server, see
+ifdef::escape-hatch[]
+xref:{escape-hatch}[].
+endif::escape-hatch[]
+ifndef::escape-hatch[]
+xref:server:{page-module}:{docname}.adoc[].
+endif::escape-hatch[]
+endif::no-escape-hatch[]
+endif::flag-devex-escape-hatch[]
\ No newline at end of file
diff --git a/modules/develop/pages/intro.adoc b/modules/develop/pages/intro.adoc
index 1ce0f7111..5a576140f 100644
--- a/modules/develop/pages/intro.adoc
+++ b/modules/develop/pages/intro.adoc
@@ -23,7 +23,7 @@ endif::[]
{description}
It also provides links to the documentation for software development kits and other integrations.
-include::partial$escape-hatch.adoc[]
+include::ROOT:partial$component-signpost.adoc[]
ifdef::flag-devex-tutorial[]
== Developer Tutorial
@@ -43,7 +43,7 @@ Choose how you want to connect your app to Couchbase Capella.
Use the Data Service for key-value (CRUD) operations and to import or export data.
-* xref:guides:kv-operations.adoc[]
+* xref:guides:data.adoc[]
== Query
@@ -51,6 +51,13 @@ Use the Query Service and the Index Service to issue {sqlpp} queries to extract
* xref:n1ql:query.adoc[]
+== Vector Search
+
+Vector Search builds on the Search Service to provide support for vector indexes.
+You can use vector indexes with existing Large Language Models to develop AI applications.
+
+* xref:vector-search:vector-search.adoc[]
+
== Search
Use the Search Service for full-text search with natural language processing across multiple data types and languages.
diff --git a/modules/develop/partials/escape-hatch.adoc b/modules/develop/partials/escape-hatch.adoc
deleted file mode 100644
index 55fb9f426..000000000
--- a/modules/develop/partials/escape-hatch.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-This
-ifdef::page-topic-type[{page-topic-type}]
-ifndef::page-topic-type[page]
-is for Couchbase Capella.
-ifdef::flag-devex-escape-hatch[]
-// soft-set flag-devex-escape-hatch so authors can override the escape hatch for individual pages
-For Couchbase Server, see xref:server:develop:{docname}.adoc[].
-endif::flag-devex-escape-hatch[]
\ No newline at end of file
diff --git a/modules/guides/pages/.call-user-defined-function.adoc b/modules/guides/pages/.call-user-defined-function.adoc
index 6bf7c4634..a92ef220a 100644
--- a/modules/guides/pages/.call-user-defined-function.adoc
+++ b/modules/guides/pages/.call-user-defined-function.adoc
@@ -7,12 +7,12 @@ endif::flag-devex-javascript-udfs[]
:page-topic-type: guide
:page-toclevels: 2
:imagesdir: ../assets/images
+:no-escape-hatch:
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[tags=!link]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/.create-javascript-library.adoc b/modules/guides/pages/.create-javascript-library.adoc
index eb6e359df..d10a710f9 100644
--- a/modules/guides/pages/.create-javascript-library.adoc
+++ b/modules/guides/pages/.create-javascript-library.adoc
@@ -7,12 +7,12 @@ endif::flag-devex-javascript-udfs[]
:page-topic-type: guide
:page-toclevels: 2
:imagesdir: ../assets/images
+:no-escape-hatch:
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[tags=!link]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/.create-user-defined-function.adoc b/modules/guides/pages/.create-user-defined-function.adoc
index ea99c7759..4aae487e3 100644
--- a/modules/guides/pages/.create-user-defined-function.adoc
+++ b/modules/guides/pages/.create-user-defined-function.adoc
@@ -8,12 +8,12 @@ endif::flag-devex-javascript-udfs[]
:page-toclevels: 2
:keywords: N1QL, UDF, user-defined function, SQL++
:imagesdir: ../assets/images
+:no-escape-hatch:
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[tags=!link]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/.intro.adoc b/modules/guides/pages/.intro.adoc
deleted file mode 100644
index 22f2e47eb..000000000
--- a/modules/guides/pages/.intro.adoc
+++ /dev/null
@@ -1,80 +0,0 @@
-= Developer Guides
-:page-role: tiles -toc
-:description: This section contains how-to guides for developers.
-:!sectids:
-
-// Pass through HTML styles for this page.
-
-ifdef::basebackend-html[]
-++++
-
-++++
-endif::[]
-
-This section contains _how-to guides_ that walk you through common tasks for Couchbase Capella development, such as storing, retrieving, and querying documents.
-
-include::partial$other-guide.adoc[]
-
-== Connecting to Couchbase
-
-This guide explains how to connect to a Couchbase cluster.
-
-* xref:connect.adoc[]
-
-== Key-Value Operations
-
-This guide explains how to use Couchbase SDKs to carry out key-value operations on documents.
-
-* xref:kv-operations.adoc[]
-
-== Selection Queries
-
-This guide explains how to read data with a {sqlpp} query.
-
-* xref:query.adoc[]
-
-== Indexes
-
-This guide explains how to create and use primary and secondary indexes for {sqlpp} queries.
-
-* xref:indexes.adoc[]
-
-== Data Manipulation Queries
-
-This guide explains how to create, update, and delete data with a {sqlpp} query.
-
-* xref:manipulate.adoc[]
-
-== Optimizing Performance
-
-This guide explains how to optimize the performance of {sqlpp} queries.
-
-* xref:optimize.adoc[]
-
-== Transactions
-
-This guide explains how to carry out ACID transactions on the database.
-
-* xref:transactions.adoc[]
-
-== Importing Data
-
-This guide explains how to import data from files.
-
-* xref:import.adoc[]
-
-ifdef::flag-devex-javascript-udfs[]
-== JavaScript User-Defined Functions
-
-This guide explains how to create JavaScript User-Defined Functions, and how to call them through the Query WorkBench and the REST API.
-
-* xref:javascript-udfs.adoc[]
-endif::flag-devex-javascript-udfs[]
diff --git a/modules/guides/pages/.javascript-udfs.adoc b/modules/guides/pages/.javascript-udfs.adoc
index 7a2e92e2a..3cbe89d10 100644
--- a/modules/guides/pages/.javascript-udfs.adoc
+++ b/modules/guides/pages/.javascript-udfs.adoc
@@ -7,12 +7,12 @@ endif::flag-devex-javascript-udfs[]
:page-topic-type: guide
:page-toclevels: 2
:xrefstyle: short
+:no-escape-hatch:
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[tags=!link]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/.optimize.adoc b/modules/guides/pages/.optimize.adoc
deleted file mode 100644
index 8ecf14997..000000000
--- a/modules/guides/pages/.optimize.adoc
+++ /dev/null
@@ -1,42 +0,0 @@
-= Optimizing Performance
-:page-role: tiles -toc
-:page-pagination: next
-:description: These guides explain some of the features that you can use to optimize the performance of {sqlpp} queries.
-:!sectids:
-
-// Pass through HTML styles for this page.
-
-ifdef::basebackend-html[]
-++++
-
-++++
-endif::[]
-
-{description} +
-include::partial$other-guide.adoc[]
-
-== Index Advisor
-
-include::index-advisor.adoc[tags=intro]
-
-* xref:index-advisor.adoc[]
-
-== Cost-Based Optimizer
-
-include::cbo.adoc[tags=intro]
-
-* xref:cbo.adoc[]
-
-== Related Links
-
-Refer to the following guide for information on creating and using primary indexes and global secondary indexes.
-
-* xref:indexes.adoc[]
\ No newline at end of file
diff --git a/modules/guides/pages/bulk-operations.adoc b/modules/guides/pages/bulk-operations.adoc
index b27904b43..967283d9d 100644
--- a/modules/guides/pages/bulk-operations.adoc
+++ b/modules/guides/pages/bulk-operations.adoc
@@ -8,10 +8,9 @@
include::partial$example-attributes.adoc[]
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/cbo.adoc b/modules/guides/pages/cbo.adoc
index caf86f4be..778f50a14 100644
--- a/modules/guides/pages/cbo.adoc
+++ b/modules/guides/pages/cbo.adoc
@@ -6,10 +6,9 @@
:description: How to use the Cost-Based Optimizer and manage optimizer statistics.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/create-index.adoc b/modules/guides/pages/create-index.adoc
index abbddfd80..b8b73d3d3 100644
--- a/modules/guides/pages/create-index.adoc
+++ b/modules/guides/pages/create-index.adoc
@@ -9,10 +9,9 @@
:description: How to create primary indexes and secondary indexes.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/creating-data.adoc b/modules/guides/pages/creating-data.adoc
index b4a2dcb2e..f53b305fe 100644
--- a/modules/guides/pages/creating-data.adoc
+++ b/modules/guides/pages/creating-data.adoc
@@ -9,10 +9,9 @@
include::partial$example-attributes.adoc[]
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/data.adoc b/modules/guides/pages/data.adoc
index 5c0a2a21c..faa5b0cba 100644
--- a/modules/guides/pages/data.adoc
+++ b/modules/guides/pages/data.adoc
@@ -1,6 +1,5 @@
= Work with Your Data
:page-role: tiles -toc
-:!flag-devex-escape-hatch:
:description: The Data Service offers Couchbase clients the fastest and simplest way to create, retrieve, or mutate data.
:!sectids:
@@ -23,6 +22,8 @@ endif::[]
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
== Key-Value Operations
Use the Couchbase Capella UI or an SDK to create, read, update, or delete data.
diff --git a/modules/guides/pages/defer-index.adoc b/modules/guides/pages/defer-index.adoc
index 6108984f2..2f5956815 100644
--- a/modules/guides/pages/defer-index.adoc
+++ b/modules/guides/pages/defer-index.adoc
@@ -8,10 +8,9 @@
:description: How to create deferred indexes and build them later.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/delete.adoc b/modules/guides/pages/delete.adoc
index 2e0f4625b..d9ab6a1a8 100644
--- a/modules/guides/pages/delete.adoc
+++ b/modules/guides/pages/delete.adoc
@@ -7,10 +7,9 @@
:description: How to delete documents using {sqlpp}.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/deleting-data.adoc b/modules/guides/pages/deleting-data.adoc
index 9396be680..2b0a8ef74 100644
--- a/modules/guides/pages/deleting-data.adoc
+++ b/modules/guides/pages/deleting-data.adoc
@@ -8,10 +8,9 @@
include::partial$example-attributes.adoc[]
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/drop-index.adoc b/modules/guides/pages/drop-index.adoc
index c986189ba..31f1fd074 100644
--- a/modules/guides/pages/drop-index.adoc
+++ b/modules/guides/pages/drop-index.adoc
@@ -8,10 +8,9 @@
:description: How to drop primary and secondary indexes.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/group-agg.adoc b/modules/guides/pages/group-agg.adoc
index 05904ec5c..dfe03cb8e 100644
--- a/modules/guides/pages/group-agg.adoc
+++ b/modules/guides/pages/group-agg.adoc
@@ -7,10 +7,9 @@
:description: How to calculate aggregates and group the results.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/import.adoc b/modules/guides/pages/import.adoc
index a5174bb75..6b45b2c85 100644
--- a/modules/guides/pages/import.adoc
+++ b/modules/guides/pages/import.adoc
@@ -7,10 +7,9 @@
:github: Click the icon:github[] View button to see any code sample in context.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/index-advisor.adoc b/modules/guides/pages/index-advisor.adoc
index e3a0e44f6..20097bfc0 100644
--- a/modules/guides/pages/index-advisor.adoc
+++ b/modules/guides/pages/index-advisor.adoc
@@ -6,10 +6,9 @@
:description: How to use the Index Advisor to recommend indexes for your queries.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/indexes.adoc b/modules/guides/pages/indexes.adoc
index 46972fa2d..d1d836aa8 100644
--- a/modules/guides/pages/indexes.adoc
+++ b/modules/guides/pages/indexes.adoc
@@ -20,8 +20,9 @@ ifdef::basebackend-html[]
++++
endif::[]
-{description} +
-include::partial$other-guide.adoc[]
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Create Indexes
diff --git a/modules/guides/pages/insert.adoc b/modules/guides/pages/insert.adoc
index 8b18e6a49..5657638c2 100644
--- a/modules/guides/pages/insert.adoc
+++ b/modules/guides/pages/insert.adoc
@@ -7,10 +7,9 @@
:description: How to insert documents using {sqlpp}.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/join.adoc b/modules/guides/pages/join.adoc
index 7a93f9026..9d5f6417c 100644
--- a/modules/guides/pages/join.adoc
+++ b/modules/guides/pages/join.adoc
@@ -8,10 +8,9 @@
:description: How to join data sources for a {sqlpp} selection query.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/kv-operations.adoc b/modules/guides/pages/kv-operations.adoc
index 058991222..6aa7be25d 100644
--- a/modules/guides/pages/kv-operations.adoc
+++ b/modules/guides/pages/kv-operations.adoc
@@ -6,10 +6,9 @@
:page-toclevels: 2
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/load.adoc b/modules/guides/pages/load.adoc
index cb3874a87..14be2797a 100644
--- a/modules/guides/pages/load.adoc
+++ b/modules/guides/pages/load.adoc
@@ -1,7 +1,6 @@
= Import and Export Data
:page-role: tiles -toc
:page-pagination: next
-:!flag-devex-escape-hatch:
:description: How to import data from files, and how to export data.
:!sectids:
@@ -21,8 +20,9 @@ ifdef::basebackend-html[]
++++
endif::[]
-{description} +
-include::partial$other-guide.adoc[]
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Import Data with the Couchbase Capella UI
diff --git a/modules/guides/pages/manipulate.adoc b/modules/guides/pages/manipulate.adoc
index 724e5a856..af9ca34f2 100644
--- a/modules/guides/pages/manipulate.adoc
+++ b/modules/guides/pages/manipulate.adoc
@@ -20,8 +20,9 @@ ifdef::basebackend-html[]
++++
endif::[]
-{description} +
-include::partial$other-guide.adoc[]
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Inserting Data
diff --git a/modules/guides/pages/nest-unnest.adoc b/modules/guides/pages/nest-unnest.adoc
index 28b1b69e6..e6b6a6df7 100644
--- a/modules/guides/pages/nest-unnest.adoc
+++ b/modules/guides/pages/nest-unnest.adoc
@@ -8,10 +8,9 @@
:description: How to nest and unnest arrays of embedded objects.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/place-index.adoc b/modules/guides/pages/place-index.adoc
index 570deaa58..cf5e415cb 100644
--- a/modules/guides/pages/place-index.adoc
+++ b/modules/guides/pages/place-index.adoc
@@ -7,10 +7,9 @@
:description: How to place indexes on specified nodes, create index replicas, and partition indexes.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/prep-statements.adoc b/modules/guides/pages/prep-statements.adoc
index da04f5be0..eae28fdbd 100644
--- a/modules/guides/pages/prep-statements.adoc
+++ b/modules/guides/pages/prep-statements.adoc
@@ -6,10 +6,9 @@
:description: How to create and execute prepared statements, including placeholder parameters.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/query.adoc b/modules/guides/pages/query.adoc
index 2cc548619..2866716c0 100644
--- a/modules/guides/pages/query.adoc
+++ b/modules/guides/pages/query.adoc
@@ -24,7 +24,7 @@ endif::[]
The {sqlpp} query language enables you to retrieve a document by inspecting its contents to see if it matches a certain criterion.
Key-value operations are quicker, but querying documents allows for richer search capabilities -- for example, "Give me all likes and followed users located in the US", versus "Give me a user with the ID e3d882a4".
-include::partial$other-guide.adoc[]
+include::ROOT:partial$component-signpost.adoc[]
== Read Data and Return Results
diff --git a/modules/guides/pages/reading-data.adoc b/modules/guides/pages/reading-data.adoc
index 45ad46ad0..cecc3bfe1 100644
--- a/modules/guides/pages/reading-data.adoc
+++ b/modules/guides/pages/reading-data.adoc
@@ -9,10 +9,9 @@
include::partial$example-attributes.adoc[]
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/select-index.adoc b/modules/guides/pages/select-index.adoc
index 5b7f03587..f384af7f4 100644
--- a/modules/guides/pages/select-index.adoc
+++ b/modules/guides/pages/select-index.adoc
@@ -7,10 +7,9 @@
:description: How to select an index for a query.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/select.adoc b/modules/guides/pages/select.adoc
index b4174fcbb..425c89406 100644
--- a/modules/guides/pages/select.adoc
+++ b/modules/guides/pages/select.adoc
@@ -7,10 +7,9 @@
:github: Click the icon:github[] View button to see this code in context.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/transactions.adoc b/modules/guides/pages/transactions.adoc
index 508fc22b0..14cb7f979 100644
--- a/modules/guides/pages/transactions.adoc
+++ b/modules/guides/pages/transactions.adoc
@@ -7,10 +7,9 @@
:github: Click the icon:github[] View button to see this code in context.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/update.adoc b/modules/guides/pages/update.adoc
index d955e7b91..5074127b1 100644
--- a/modules/guides/pages/update.adoc
+++ b/modules/guides/pages/update.adoc
@@ -7,10 +7,9 @@
:description: How to modify documents using {sqlpp}.
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/pages/updating-data.adoc b/modules/guides/pages/updating-data.adoc
index a6a1092d9..78157b74f 100644
--- a/modules/guides/pages/updating-data.adoc
+++ b/modules/guides/pages/updating-data.adoc
@@ -8,10 +8,9 @@
include::partial$example-attributes.adoc[]
[abstract]
---
-{description} +
-include::partial$other-guide.adoc[]
---
+{description}
+
+include::ROOT:partial$component-signpost.adoc[]
== Introduction
diff --git a/modules/guides/partials/other-guide.adoc b/modules/guides/partials/other-guide.adoc
deleted file mode 100644
index 5da2b98de..000000000
--- a/modules/guides/partials/other-guide.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-This
-ifdef::page-topic-type[{page-topic-type}]
-ifndef::page-topic-type[page]
-is for Couchbase Capella.
-ifdef::flag-devex-escape-hatch[]
-// soft-set flag-devex-escape-hatch so authors can override the escape hatch for individual pages
-For Couchbase Server, see xref:server:guides:{docname}.adoc[].
-endif::flag-devex-escape-hatch[]
\ No newline at end of file
diff --git a/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc b/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc
index d13e8baea..7e8680ab6 100644
--- a/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc
+++ b/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc
@@ -22,8 +22,9 @@ endif::[]
== Tuning and Query Performance
-* xref:learn:services-and-indexes/indexes/indexing-and-query-perf.adoc[]
+* xref:learn:services-and-indexes/indexes/query-without-index.adoc[]
* xref:learn:services-and-indexes/indexes/index-lifecycle.adoc[]
+* xref:learn:services-and-indexes/indexes/indexing-and-query-perf.adoc[]
* xref:n1ql:n1ql-language-reference/covering-indexes.adoc[]
* xref:learn:services-and-indexes/indexes/index-scans.adoc[]
* xref:learn:services-and-indexes/indexes/index_pushdowns.adoc[]
@@ -32,6 +33,7 @@ endif::[]
== Index Commands
+* xref:n1ql:n1ql-language-reference/advise.adoc[ADVISE]
* xref:n1ql:n1ql-language-reference/createindex.adoc[CREATE INDEX]
* xref:n1ql:n1ql-language-reference/createprimaryindex.adoc[CREATE PRIMARY INDEX]
* xref:n1ql:n1ql-language-reference/build-index.adoc[BUILD INDEX]
diff --git a/modules/mobile-guides/pages/intro.adoc b/modules/mobile-guides/pages/intro.adoc
index 35444fbe5..b69b5c767 100644
--- a/modules/mobile-guides/pages/intro.adoc
+++ b/modules/mobile-guides/pages/intro.adoc
@@ -1,7 +1,7 @@
= Build Mobile Apps
:page-role: tiles -toc
:description: Use App Services in combination with Couchbase Mobile to develop mobile apps.
-:!flag-devex-escape-hatch:
+:no-escape-hatch:
:!sectids:
// Pass through HTML styles for this page.
@@ -22,7 +22,7 @@ endif::[]
{description}
-include::develop:partial$escape-hatch.adoc[]
+include::ROOT:partial$component-signpost.adoc[]
== App Services
diff --git a/modules/n1ql/assets/images/icon-query.svg b/modules/n1ql/assets/images/icon-query.svg
new file mode 100644
index 000000000..fc5383986
--- /dev/null
+++ b/modules/n1ql/assets/images/icon-query.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/n1ql/pages/.tutorial.adoc b/modules/n1ql/pages/.tutorial.adoc
deleted file mode 100644
index b2bb2f78e..000000000
--- a/modules/n1ql/pages/.tutorial.adoc
+++ /dev/null
@@ -1,49 +0,0 @@
-= Tutorials
-:page-role: tiles -toc
-:!sectids:
-
-// Pass through HTML styles for this page.
-
-ifdef::basebackend-html[]
-++++
-
-++++
-endif::[]
-
-== Run Your First {sqlpp} Query
-
-If you have not done so already, refer to this page to run your first {sqlpp} query.
-
-* xref:get-started:run-first-queries.adoc#first-query[Run Your First Query with the Query Workbench]
-
-ifdef::flag-devex-tutorial[]
-
-== Developer Tutorial
-
-An introductory worked example for developers, showing how to use a software development kit to query a simple database using {sqlpp}.
-
-* xref:tutorials:couchbase-tutorial-student-records.adoc[]
-
-endif::flag-devex-tutorial[]
-
-== Interactive {sqlpp} Tutorial
-
-Provides interactive web modules where you can learn about {sqlpp} without having to configure Couchbase Capella or have Couchbase Server installed in your own environment.
-The modules are self-contained and let you modify and run sample queries.
-
-* https://query-tutorial.couchbase.com/tutorial/#1[{sqlpp} Query Language Tutorial^]
-
-ifdef::flag-devex-cheatsheet[]
-
-== Related Links
-
-The {sqlpp} cheat sheet provides a concise summary of the basic syntax elements of {sqlpp}.
-
-* http://docs.couchbase.com/files/Couchbase-N1QL-CheatSheet.pdf[{sqlpp} Cheat Sheet^]
-
-endif::flag-devex-cheatsheet[]
\ No newline at end of file
diff --git a/modules/n1ql/pages/admin.adoc b/modules/n1ql/pages/admin.adoc
index fcf74528e..cf362b8af 100644
--- a/modules/n1ql/pages/admin.adoc
+++ b/modules/n1ql/pages/admin.adoc
@@ -15,6 +15,8 @@ ifdef::basebackend-html[]
++++
endif::[]
+include::ROOT:partial$component-signpost.adoc[]
+
== Get System Information
{sqlpp} has a system namespace that stores metadata about data containers.
diff --git a/modules/n1ql/pages/advanced.adoc b/modules/n1ql/pages/advanced.adoc
index a3fc7028b..cd57c99fe 100644
--- a/modules/n1ql/pages/advanced.adoc
+++ b/modules/n1ql/pages/advanced.adoc
@@ -16,6 +16,8 @@ ifdef::basebackend-html[]
++++
endif::[]
+include::ROOT:partial$component-signpost.adoc[]
+
== Cost-Based Optimizer
The cost-based optimizer takes into account the cost of memory, CPU, network transport, and disk usage when choosing the optimal plan to execute a query.
@@ -30,13 +32,11 @@ The cost-based optimizer takes into account the cost of memory, CPU, network tra
* xref:n1ql:n1ql-language-reference/transactions.adoc[]
* xref:guides:transactions.adoc[]
-ifdef::flag-devex-search[]
== Flex Indexes
-Flex Indexes provide the ability for a {sqlpp} query to use a Full Text Search index transparently with standard {sqlpp} syntax.
+Flex Indexes enable a {sqlpp} query to use a Search index transparently with standard {sqlpp} syntax.
* xref:n1ql:n1ql-language-reference/flex-indexes.adoc[]
-endif::flag-devex-search[]
== Time Series Data
diff --git a/modules/n1ql/pages/n1ql-intro/index.adoc b/modules/n1ql/pages/n1ql-intro/index.adoc
index 18b375fc6..1a9531987 100644
--- a/modules/n1ql/pages/n1ql-intro/index.adoc
+++ b/modules/n1ql/pages/n1ql-intro/index.adoc
@@ -16,6 +16,8 @@ ifdef::basebackend-html[]
++++
endif::[]
+include::ROOT:partial$component-signpost.adoc[]
+
== Query Concepts
An overview of common concepts that you will need to understand in order to use the Query service.
diff --git a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc
index 71998c5b1..0e5e103ab 100644
--- a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc
+++ b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc
@@ -6,6 +6,8 @@
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
== {sqlpp} Queries
A {sqlpp} query is a string parsed by the Query service.
diff --git a/modules/n1ql/pages/n1ql-intro/sysinfo.adoc b/modules/n1ql/pages/n1ql-intro/sysinfo.adoc
index 035e941f5..982e5fabd 100644
--- a/modules/n1ql/pages/n1ql-intro/sysinfo.adoc
+++ b/modules/n1ql/pages/n1ql-intro/sysinfo.adoc
@@ -6,6 +6,8 @@ You can query the system namespace to get information about the data containers.
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
There is a catalog for each type of data container.
The catalog names are plural in order to avoid conflicting with {sqlpp} keywords.
diff --git a/modules/n1ql/pages/n1ql-language-reference/backfill.adoc b/modules/n1ql/pages/n1ql-language-reference/backfill.adoc
index 64f2f1b2e..8650e2eed 100644
--- a/modules/n1ql/pages/n1ql-language-reference/backfill.adoc
+++ b/modules/n1ql/pages/n1ql-language-reference/backfill.adoc
@@ -1,10 +1,13 @@
= Backfill Support for {sqlpp}
:description: Configure the temporary working space for the {sqlpp} engine and its embedded GSI client.
:page-aliases: settings:backfill
+:no-escape-hatch:
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
== Introduction
When a query has an extremely large corresponding index scan, the indexer `gsiClient` buffers the results into the `/tmp` directory.
@@ -17,7 +20,8 @@ The user must have _Cluster Admin_ privileges in order to be able to specify and
== Configuration
In the Query Workbench > Settings page, click *Advanced Query Settings* to see:
-image:backfill_QueryTempDiskPath_circled.png[]
+
+image::backfill_QueryTempDiskPath_circled.png["Advanced Query Settings, showing Query Temp Disk Path and Quota"]
In the *Query Temp Disk Path* textbox, enter the directory you want to use for your backfill file.
@@ -58,7 +62,20 @@ $ curl --GET -u Administrator:password http://localhost:8091/settings/querySetti
.Results
[source,json]
----
-{"queryTmpSpaceDir":"/opt/couchbase/tmp","queryTmpSpaceSize":5120,"queryCurlWhitelist":{"all_access":false,"allowed_urls":["http://localhost:8091/settings/querySettings",""],"disallowed_urls":[""]}}
+{
+ "queryTmpSpaceDir": "/opt/couchbase/tmp",
+ "queryTmpSpaceSize": 5120,
+ "queryCurlWhitelist": {
+ "all_access": false,
+ "allowed_urls": [
+ "http://localhost:8091/settings/querySettings",
+ ""
+ ],
+ "disallowed_urls": [
+ ""
+ ]
+ }
+}
----
====
@@ -67,13 +84,27 @@ $ curl --GET -u Administrator:password http://localhost:8091/settings/querySetti
====
[source,console]
----
-$ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp2' http://localhost:8091/settings/querySettings
+$ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp2' \
+http://localhost:8091/settings/querySettings
----
.Results
[source,json]
----
-{"queryTmpSpaceDir":"/opt/couchbase/tmp2","queryTmpSpaceSize":5120,"queryCurlWhitelist":{"all_access":false,"allowed_urls":["http://localhost:8091/settings/querySettings",""],"disallowed_urls":[""]}}
+{
+ "queryTmpSpaceDir": "/opt/couchbase/tmp2",
+ "queryTmpSpaceSize": 5120,
+ "queryCurlWhitelist": {
+ "all_access": false,
+ "allowed_urls": [
+ "http://localhost:8091/settings/querySettings",
+ ""
+ ],
+ "disallowed_urls": [
+ ""
+ ]
+ }
+}
----
====
@@ -82,13 +113,27 @@ $ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp
====
[source,console]
----
-$ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp' -d 'queryTmpSpaceSize=2048' http://localhost:8091/settings/querySettings
+$ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp' \
+-d 'queryTmpSpaceSize=2048' http://localhost:8091/settings/querySettings
----
.Results
[source,json]
----
-{"queryTmpSpaceDir":"/opt/couchbase/tmp","queryTmpSpaceSize":2048,"queryCurlWhitelist":{"all_access":false,"allowed_urls":["http://localhost:8091/settings/querySettings",""],"disallowed_urls":[""]}}
+{
+ "queryTmpSpaceDir": "/opt/couchbase/tmp",
+ "queryTmpSpaceSize": 2048,
+ "queryCurlWhitelist": {
+ "all_access": false,
+ "allowed_urls": [
+ "http://localhost:8091/settings/querySettings",
+ ""
+ ],
+ "disallowed_urls": [
+ ""
+ ]
+ }
+}
----
At the same time, the logs will contain messages for every change coming from both query and GSI, so after executing Example 3's CURL statement:
diff --git a/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc b/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc
index 4d2bbca4e..b5a70b58a 100644
--- a/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc
+++ b/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc
@@ -32,6 +32,8 @@
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
[[overview]]
== Overview
diff --git a/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc b/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc
index 2eeabd03c..db16aeca6 100644
--- a/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc
+++ b/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc
@@ -1,7 +1,9 @@
-= Flex Indexes
+= Use Search Indexes with a Query
:description: The Flex Index feature enables you run a {sqlpp} query as a full-text search query, using a full-text index.
:page-topic-type: concept
:imagesdir: ../../assets/images
+:keywords: flex
+:no-escape-hatch:
// Cross-references
:searchfun: xref:n1ql-language-reference/searchfun.adoc
@@ -22,6 +24,8 @@
{description}
This means that you can write queries in {sqlpp} to leverage the Search service's keyword search capabilities.
+include::ROOT:partial$component-signpost.adoc[]
+
In Couchbase Capella, a global secondary index (GSI) uses a B-tree structure for fast exact search, whereas full-text search (FTS) uses an inverted index to provide efficient term search.
It is possible to perform a full-text search within a {sqlpp} query using {searchfun}[search functions].
However this requires you to write the full-text search using the FTS syntax.
diff --git a/modules/n1ql/pages/n1ql-language-reference/hints.adoc b/modules/n1ql/pages/n1ql-language-reference/hints.adoc
index ef81a3945..de6000f71 100644
--- a/modules/n1ql/pages/n1ql-language-reference/hints.adoc
+++ b/modules/n1ql/pages/n1ql-language-reference/hints.adoc
@@ -219,9 +219,7 @@ Specifies which index form to use.
`USING GSI`:: A Global Secondary Index, which lives on an index node and can possibly be separate from a data node.
`USING FTS`:: A Full Text Search index, for use with queries containing xref:n1ql-language-reference/searchfun.adoc[Search functions].
-ifdef::flag-devex-search[]
You can use this hint to specify that the query is a xref:n1ql:n1ql-language-reference/flex-indexes.adoc[Flex Index] query using a Full Text Search index.
-endif::flag-devex-search[]
This clause is optional; if omitted, the default is `USING GSI`.
diff --git a/modules/n1ql/pages/n1ql-language-reference/index.adoc b/modules/n1ql/pages/n1ql-language-reference/index.adoc
index 4662409f7..8fe18b02f 100644
--- a/modules/n1ql/pages/n1ql-language-reference/index.adoc
+++ b/modules/n1ql/pages/n1ql-language-reference/index.adoc
@@ -1,6 +1,6 @@
-= {sqlpp} Language Reference
-:description: This reference guide describes the syntax and structure of the {sqlpp} language.
-:page-topic-type: concept
+= {sqlpp} for Query Reference
+:description: This reference guide describes the syntax and structure of {sqlpp} for Query.
+:page-topic-type: reference
:page-toclevels: 2
:imagesdir: ../../assets/images
@@ -48,6 +48,7 @@ The following are the different types of {sqlpp} expressions:
* xref:n1ql-language-reference/collectionops.adoc[Collection expressions]
* xref:n1ql-language-reference/constructionops.adoc[Construction expressions]
* <>
+* xref:n1ql-language-reference/sequenceops.adoc[Sequence expressions]
* xref:n1ql-language-reference/functions.adoc[Function calls]
* xref:n1ql-language-reference/subqueries.adoc[Subqueries]
diff --git a/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc b/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc
index 77c693173..faad8b232 100644
--- a/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc
+++ b/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc
@@ -1,10 +1,13 @@
= {sqlpp} Auditing
:description: {sqlpp}-related activities can be audited, by Couchbase Capella.
:page-topic-type: reference
+:no-escape-hatch:
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
== Understanding {sqlpp} Auditing
This section provides specific information on Couchbase Capella auditing as it relates to {sqlpp}.
@@ -187,111 +190,99 @@ Required auditing fields for API requests:
To reduce disk usage and improve performance, the log files are as compact as possible.
-When viewed through Query Workbench, the logs are formatted and indented for easier reading.
-
-*Example 1:* Execute `SELECT * FROM orders` via a CURL statement.
-
-----
-{"timestamp":"2018-02-09T14:52:35.163-08:00","real_userid":{"source":"local","user":"Administrator"},"requestId":"aee53bf0-d009-4015-8a1d-efec74f2cd74","statement":"SELECT * FROM orders","isAdHoc":true,"userAgent":"curl/7.43.0","node":"local_node","status":"success","metrics":{"elapsedTime":"7.599684ms","executionTime":"7.507755ms","resultCount":0,"resultSize":0},"id":28672,"name":"SELECT statement","description":"A N1QL SELECT statement was executed”}
-----
-
-To make the log entry easier-to-read:
+To make the log entry easier-to-read, use a formatting utility such as https://stedolan.github.io/jq/[jq^], or reformat the log entry through the Query Workbench:
. Copy the log entry to the clipboard
. Open Query Workbench
. Type `SELECT`
. Paste the query from the clipboard
-. Click the *Execute* button
+. Click the btn:[Execute] button
-----
-[
- {
- "$1": {
- "description": "A N1QL SELECT statement was executed",
- "id": 28672,
- "isAdHoc": true,
- "metrics": {
- "elapsedTime": "7.599684ms",
- "executionTime": "7.507755ms",
- "resultCount": 0,
- "resultSize": 0
- },
- "name": "SELECT statement",
- "node": "local_node",
- "real_userid": {
- "source": "local",
- "user": "Administrator"
- },
- "requestId": "aee53bf0-d009-4015-8a1d-efec74f2cd74",
- "statement": "SELECT * FROM orders",
- "status": "success",
- "timestamp": "2018-02-09T14:52:35.163-08:00",
- "userAgent": "curl/7.43.0"
- }
- }
-]
-----
+When viewed through Query Workbench, the logs are formatted and indented for easier reading.
-*Example 2:* Execute `DELETE FROM orders WHERE priority = 6` via a CURL statement
+.{blank}
+====
+Execute `SELECT * FROM orders` via a CURL statement.
+[source,json]
----
-{"timestamp":"2018-02-09T14:52:55.786-08:00","real_userid":{"source":"local","user":"Administrator"},"requestId":"ded68ae3-d964-4d87-b1c2-70cf72041c6b","statement":"DELETE FROM orders WHERE priority = 6","isAdHoc":true,"userAgent":"curl/7.43.0","node":"local_node","status":"success","metrics":{"elapsedTime":"8.884558ms","executionTime":"8.853976ms","resultCount":0,"resultSize":0},"id":28678,"name":"DELETE statement","description":"A N1QL DELETE statement was executed"}
+{
+ "timestamp": "2018-02-09T14:52:35.163-08:00",
+ "real_userid": {
+ "source": "local",
+ "user": "Administrator"
+ },
+ "requestId": "aee53bf0-d009-4015-8a1d-efec74f2cd74",
+ "statement": "SELECT * FROM orders",
+ "isAdHoc": true,
+ "userAgent": "curl/7.43.0",
+ "node": "local_node",
+ "status": "success",
+ "metrics": {
+ "elapsedTime": "7.599684ms",
+ "executionTime": "7.507755ms",
+ "resultCount": 0,
+ "resultSize": 0
+ },
+ "id": 28672,
+ "name": "SELECT statement",
+ "description": "A N1QL SELECT statement was executed"
+}
----
+====
-----
-[
- {
- "$1": {
- "description": "A N1QL DELETE statement was executed",
- "id": 28678,
- "isAdHoc": true,
- "metrics": {
- "elapsedTime": "8.884558ms",
- "executionTime": "8.853976ms",
- "resultCount": 0,
- "resultSize": 0
- },
- "name": "DELETE statement",
- "node": "local_node",
- "real_userid": {
- "source": "local",
- "user": "Administrator"
- },
- "requestId": "ded68ae3-d964-4d87-b1c2-70cf72041c6b",
- "statement": "DELETE FROM orders WHERE priority = 6",
- "status": "success",
- "timestamp": "2018-02-09T14:52:55.786-08:00",
- "userAgent": "curl/7.43.0"
- }
- }
-]
-----
-
-*Example 3:* Make an HTTP `GET` method from an `/admin/ping` API request.
+.{blank}
+====
+Execute `DELETE FROM orders WHERE priority = 6` via a CURL statement.
+[source,json]
----
-{"timestamp":"2018-02-09T14:53:10.856-08:00","real_userid":{"source":"internal","user":"unknown"},"httpMethod":"GET","httpResultCode":200,"errorMessage":"","id":28697,"name":"/admin/ping API request","description":"An HTTP request was made to the API at /admin/ping."}
+{
+ "timestamp": "2018-02-09T14:52:55.786-08:00",
+ "real_userid": {
+ "source": "local",
+ "user": "Administrator"
+ },
+ "requestId": "ded68ae3-d964-4d87-b1c2-70cf72041c6b",
+ "statement": "DELETE FROM orders WHERE priority = 6",
+ "isAdHoc": true,
+ "userAgent": "curl/7.43.0",
+ "node": "local_node",
+ "status": "success",
+ "metrics": {
+ "elapsedTime": "8.884558ms",
+ "executionTime": "8.853976ms",
+ "resultCount": 0,
+ "resultSize": 0
+ },
+ "id": 28678,
+ "name": "DELETE statement",
+ "description": "A N1QL DELETE statement was executed"
+}
----
+====
+
+.{blank}
+====
+Make an HTTP `GET` method from an `/admin/ping` API request.
+[source,json]
----
-[
- {
- "$1": {
- "description": "An HTTP request was made to the API at /admin/ping.",
- "errorMessage": "",
- "httpMethod": "GET",
- "httpResultCode": 200,
- "id": 28697,
- "name": "/admin/ping API request",
- "real_userid": {
- "source": "internal",
- "user": "unknown"
- },
- "timestamp": "2018-02-09T14:53:10.856-08:00"
- }
- }
-]
+{
+ "timestamp": "2018-02-09T14:53:10.856-08:00",
+ "real_userid": {
+ "source": "internal",
+ "user": "unknown"
+ },
+ "httpMethod": "GET",
+ "httpResultCode": 200,
+ "errorMessage": "",
+ "id": 28697,
+ "name": "/admin/ping API request",
+ "description": "An HTTP request was made to the API at /admin/ping."
+}
----
+====
== Audit Rotation
diff --git a/modules/n1ql/pages/n1ql-language-reference/time-series.adoc b/modules/n1ql/pages/n1ql-language-reference/time-series.adoc
index 4f485d761..21c8519ac 100644
--- a/modules/n1ql/pages/n1ql-language-reference/time-series.adoc
+++ b/modules/n1ql/pages/n1ql-language-reference/time-series.adoc
@@ -25,6 +25,8 @@
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
Time series data is any data which changes over time.
In the case of data management, it refers to data collected frequently, in regular or irregular intervals, from a device or a process.
The changing data is typically numerical, and changes incrementally.
diff --git a/modules/n1ql/pages/n1ql-language-reference/transactions.adoc b/modules/n1ql/pages/n1ql-language-reference/transactions.adoc
index f8b3c74c3..d0d5f563b 100644
--- a/modules/n1ql/pages/n1ql-language-reference/transactions.adoc
+++ b/modules/n1ql/pages/n1ql-language-reference/transactions.adoc
@@ -62,6 +62,8 @@
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
A transaction is a group of operations that are either committed to the database together, or are all undone from the database if there's a failure.
Refer to {transactions}[Transactions] for an overview of Couchbase transactions.
diff --git a/modules/n1ql/pages/query.adoc b/modules/n1ql/pages/query.adoc
index ba5444c4e..67ba9feda 100644
--- a/modules/n1ql/pages/query.adoc
+++ b/modules/n1ql/pages/query.adoc
@@ -22,6 +22,8 @@ endif::[]
[abstract]
{description}
+include::ROOT:partial$component-signpost.adoc[]
+
As its primary function, the Query service enables you to issue queries to extract data from Couchbase Capella.
You can also issue queries for data definition (defining indexes) and data manipulation (adding or deleting data).
The Query Service needs both the Index Service and the Data Service to be running on Couchbase Capella.
diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc
index 309daedbe..b884934fb 100644
--- a/modules/n1ql/partials/nav.adoc
+++ b/modules/n1ql/partials/nav.adoc
@@ -33,9 +33,7 @@ endif::flag-devex-tools[]
*** xref:guides:cbo.adoc[]
*** xref:n1ql:n1ql-language-reference/transactions.adoc[]
*** xref:guides:transactions.adoc[]
-ifdef::flag-devex-search[]
*** xref:n1ql:n1ql-language-reference/flex-indexes.adoc[]
-endif::flag-devex-search[]
*** xref:n1ql:n1ql-language-reference/time-series.adoc[]
** xref:n1ql:admin.adoc[]
*** xref:n1ql:n1ql-intro/sysinfo.adoc[]
diff --git a/modules/third-party/pages/integrations.adoc b/modules/third-party/pages/integrations.adoc
index e76d03ef0..b0d5a0646 100644
--- a/modules/third-party/pages/integrations.adoc
+++ b/modules/third-party/pages/integrations.adoc
@@ -1 +1 @@
-include::7.6@server:develop:integrations.adoc[]
\ No newline at end of file
+include::7.6@server:third-party:integrations.adoc[]
\ No newline at end of file