Skip to content

updated intro page for SGW #885

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: release/3.2
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions modules/ROOT/pages/_partials/landing-page-tiles-layout.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
:page-role: tiles -toc
:!sectids:

// Pass through HTML styles for this page.
ifdef::basebackend-html[]
++++
<style type="text/css">
/* Extend heading across page width */
div.page-heading-title,
div.contributor-list-box,
div#preamble,
nav.pagination {
flex-basis: 100%;
}
.full-width-tip {
flex-basis: 100%;
}

</style>
++++
endif::[]
4 changes: 4 additions & 0 deletions modules/ROOT/pages/configuration-schema-db-security.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,15 @@ include::partial$static_restapi/admin/index.adoc[tags=put_db-_role-name-response

=== Example



====

[{tabs}]
=====



Curl::
+
--
Expand Down
21 changes: 12 additions & 9 deletions modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,18 @@ include::partial$_set_page_context.adoc[]
<div class="card-row">
++++

[.column]
====== {empty}
[.content]
include::page$introduction.adoc[tags=intro]

[.column]
====== {empty}
[.media-left]
image::cbm-architecture.png[,300]
Sync Gateway is a secure, high-performance gateway designed for cloud-to-edge data synchronization.
It serves as the synchronization server in a Couchbase Mobile deployment, enabling mobile, web, and IoT applications to view and sync data with Couchbase Server.

// [.column]
// ====== {empty}
// [.content]
// include::page$introduction.adoc[tags=intro]

// [.column]
// ====== {empty}
// [.media-left]
// image::cbm-architecture.png[,300]

++++
</div>
Expand Down
158 changes: 121 additions & 37 deletions modules/ROOT/pages/introduction.adoc
Original file line number Diff line number Diff line change
@@ -1,55 +1,139 @@
= Introduction
ifdef::show_edition[:page-edition: {release}]
ifdef::prerelease[:page-status: {prerelease}]
:page-role:
:page-partial:
:description: pass:q[A short introduction to _Couchbase's Sync Gateway_ and how to get started using it.]
= Sync Gateway
:navtitle: Sync Gateway
:description: Sync Gateway is a secure, high-performance gateway designed for cloud-to-edge data synchronization.
// Handles boilerplate logic for landing page tiles layout
:page-role: tiles -toc
:!sectids:

Sync Gateway is a secure, high-performance gateway designed for cloud-to-edge data synchronization. It serves as the synchronization server in a Couchbase Mobile deployment, enabling mobile, web, and IoT applications to view and sync data with Couchbase Server.

include::partial$_set_page_context.adoc[]
You can use Sync Gateway in conjunction with Couchbase Lite for full bi-directional sync between edge devices and the cloud. It provides fine-grained access control, RESTful API, and secure sync capabilities.

== Why Use Sync Gateway?

// BEGIN -- Page Heading
:topic-group: Start Here!
:param-abstract: pass:q[This is *Step 1* in Sync Gateway's Start Here! topic group.]
:param-related: {get-started-prepare--xref} | {get-started-install--xref} | {get-started-verify-install--xref}
include::partial$_show_page_header_block.adoc[]
// END -- Page Heading
* Bi-directional synchronization: Sync data between Couchbase Lite clients and Couchbase Server with real-time updates.

* Secure access control: Supports RBAC, channels, and sync functions.

== Getting Started with Sync Gateway
* RESTful API: Public, Admin and Metric REST API interfaces for data and configuration access.

:param-page: {page-relative-src-path}
include::partial$topic-group-get-started.adoc[]
* Scalable architecture: Designed for high-throughput, cloud-to-edge synchronization.

// tag::intro[]
Sync Gateway is the synchronization server in a Couchbase Mobile deployment.
It is designed to provide data synchronization for large-scale interactive web, mobile, and IoT applications
// end::intro[]
-- see: <<fig-mobile-server>>.
== Key Capabilities

[#fig-mobile-server]
.Couchbase Mobile -- Deployment Architecture
image::cbm-architecture.png[]
* Fine-grained data distribution using channels for efficient synchronization.

As you can see from <<fig-mobile-server>> Sync Gateway synchronizes changes made by web clients through its REST API, Couchbase Lite mobile-device applications, and Couchbase Server buckets.
* Sync Function support: Customizable business logic for validation, transformation, and access control.

You can read more about the Data Synchronization process in {sync-with-couchbase-server--xref}.
Some of its most central, and commonly used features, are those used to ensure secure **Access Control**.
* Role-Based Access Control.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be up to the PM and docs team, but it is weird to me that RBAC and RESTful API are in both sections Why Use Sync Gateway? and Key Capabilities

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is to show common and useful information


Sync Gateway assures secure access control using:
* RESTful API: Public, Admin and Metric REST API interfaces for data and configuration access.

* **User authentication**, which ensures that only authorized users can connect to Sync Gateway.
For more information see the
{users--xref}, {roles--xref} and {authentication-users--xref} content.
* Integration with Couchbase Lite and Couchbase Server.

* *Data Routing*, which ensures that authorized users can only access documents in those {channels--xref} assigned to them and only in accordance with their assigned privileges.
You can set those privileges to confer {read-access--xref} and-or {write-access--xref} as required.
* Supports peer-to-peer, cloud, and hybrid sync topologies.

The business logic behind the validation and authorization of document access is provided by the customizable {sync-function--xref}.
// We need to go up one heading level to break the previous h2 div (with flex-basis 50%).
= {empty}

[.full-width-tile]
TIP: For more information about the latest changes to Sync Gateway, see xref:whatsnew.adoc[].

// BEGIN -- Page Footer
include::partial$block-related-content-deploy.adoc[]
// END -- Page Footer

== Get Started

Get started with Sync Gateway, from preparing your environment to installing and verifying your installation.

* xref:get-started-prepare.adoc[Prepare your environment]
* xref:get-started-install.adoc[Install Sync Gateway]
* xref:get-started-verify-install.adoc[Verify your installation]

== Data Modeling

Learn how to design and structure your data buckets and documents using Sync Gateway.

* xref:data-modeling.adoc[]

== Configuration

Learn how to configure Sync Gateway for cloud to edge synchronization including bootstrap, database settings, security, and more.

* xref:configuration-schema-bootstrap.adoc[]
* xref:configuration-schema-database.adoc[]
* xref:configuration-schema-db-security.adoc[]
* xref:configuration-schema-access-control.adoc[]
* xref:configuration-schema-import-filter.adoc[]
* xref:configuration-schema-isgr.adoc[]
* xref:configuration-javascript-functions.adoc[]
* xref:configuration-environment-variables.adoc[]

== Security

Implement comprehensive security measures to protect your data and control access to Sync Gateway.

* xref:secure-sgw-access.adoc[]
* xref:authentication-users.adoc[]
* xref:authentication-certs.adoc[]
* xref:audit-logging.adoc[]

== Access Control

Configure fine-grained access control with users, roles, channels, and sync functions.

* xref:access-control-concepts.adoc[]
* xref:sync-function.adoc[]
* xref:access-contrlol-how.adoc[How to]
* xref:auto-purge-channel-access-revocation.adoc[]

== REST API

Interact with Sync Gateway programmatically using comprehensive REST API interfaces.

* xref:rest-api-access.adoc[]
* xref:rest-api-admin.adoc[]
* xref:rest-api-metrics.adoc[]
Comment on lines +92 to +94
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ultimately a question for docs team but since we switched from swagger to redocly, some of these pages are really just pass through to openapi and have actually no content

https://preview.docs-test.couchbase.com/docs-sync-gateway-DOC-13353-update-SGW-intro-page/sync-gateway/current/rest-api.html

https://preview.docs-test.couchbase.com/docs-sync-gateway-DOC-13353-update-SGW-intro-page/sync-gateway/current/rest_api_public.html

This definitely could be outside the scope of this review, I was just testing the links here.

If there's extra information on any of these pages. I find it annoying as a consumer of the docs to be sent to https://preview.docs-test.couchbase.com/docs-sync-gateway-DOC-13353-update-SGW-intro-page/sync-gateway/current/rest-api.html only to have to click through to https://preview.docs-test.couchbase.com/docs-sync-gateway-DOC-13353-update-SGW-intro-page/sync-gateway/current/rest_api_public.html

The same is true for admin and metrics.

* xref:rest-api.adoc[]
* xref:rest-api-access-rbac-roles.adoc[]

== Sync

Synchronize data between Sync Gateway and your applications, servers, and other Sync Gateway instances.

* xref:sync-with-server.adoc[]
* xref:sync-using-app.adoc[]
* xref:inter-syncgateway-overview.adoc[]
* xref:delta-sync.adoc[]
* xref:import-processing.adoc[]

== Manage

Perform administrative and operational tasks to maintain and monitor Sync Gateway.

* xref:revisions.adoc[]
* xref:managing-tombstones.adoc[]
* xref:resync.adoc[]
* xref:stats-monitoring.adoc[]
* xref:database-offline.adoc[]
* xref:logging.adoc[]

== Deploy

Deploy Sync Gateway in production environments with scalability and reliability considerations.

* xref:command-line-options.adoc[]
* xref:load-balancer.adoc[]
* xref:webhooks.adoc[]
* xref:stats-prometheus.adoc[]
* xref:indexing.adoc[]
* xref:deploy-cluster-to-kubernetes.adoc[]

== Server Compatibility

Understand Sync Gateway compatibility with Couchbase Server features and services.

* xref:server-compatibility-buckets.adoc[Buckets]
* xref:server-compatibility-collections.adoc[Collections]
* xref:server-compatibility-eventing.adoc[Eventing]
* xref:server-compatibility-transactions.adoc[Transactions]
* xref:server-compatibility-xdcr.adoc[XDCR]
* xref:server-compatibility-backups.adoc[Backup and Restore]