Skip to content

Commit 9e9b17e

Browse files
authored
DOCSP-41456: Rename Realm and clarify terminology on Device Sync landing page (#813)
* Rename Realm and clarify terminology * Apply Dachary feedback
1 parent e6b8442 commit 9e9b17e

File tree

2 files changed

+89
-85
lines changed

2 files changed

+89
-85
lines changed

source/sync.txt

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@
88
Atlas Device Sync
99
=================
1010

11-
.. meta::
11+
.. meta::
1212
:description: Atlas Device Sync is a cloud service that syncs data seamlessly between local devices and Atlas.
13+
:keywords: Realm, C++ SDK, Flutter SDK, Java SDK, Kotlin SDK, .NET SDK, Node.js SDK, React Native SDK, Swift SDK, mobile app development, MongoDB mobile
1314

1415
.. toctree::
1516
:titlesonly:
1617
:hidden:
17-
18+
1819
Get Started </sync/get-started>
1920
App Builder's Resources </sync/app-builder>
20-
Configure and Update Your Data Model </sync/configure-your-data-model>
21+
Define and Update Your Data Model </sync/configure-your-data-model>
2122
Configure Sync </sync/configure-device-sync>
2223
Handle Errors </sync/error-handling>
2324
Go to Production with Sync </sync/go-to-production>
@@ -32,12 +33,12 @@ Atlas Device Sync
3233
can be intermittent, so you write data locally on the device first. A
3334
background process then synchronizes the data to the cloud and resolves any
3435
conflicting writes.
35-
36+
3637
Atlas Device Sync provides all of the above, so you can build better apps faster.
3738

38-
Watch our `Intro to Atlas Device Sync
39-
<https://learn.mongodb.com/learn/course/intro-to-atlas-device-sync/learning-byte/learn>`__
40-
Learning Byte to learn more.
39+
Watch our `Intro to Atlas Device Sync
40+
<https://learn.mongodb.com/learn/course/intro-to-atlas-device-sync/learning-byte/learn>`__
41+
Learning Byte to learn more.
4142

4243
.. button:: Start Building with a Template App
4344
:uri: https://www.mongodb.com/realm/register?tck=docs_CTA_app_services
@@ -56,12 +57,12 @@ Key Features
5657
:style: compact
5758

5859
.. card::
59-
:headline: Realm in the Front, MongoDB in the Back
60+
:headline: Atlas Device SDK in the Front, MongoDB in the Back
6061
:icon: /images/icons/General_FEATURES_IntelligentEdge3x.png
6162
:icon-alt: An icon depicting a mobile phone connecting with the cloud
6263

63-
Atlas Device Sync is a bridge between client apps using the :realm:`Realm SDKs </>`
64-
and a MongoDB instance running in Atlas. Realm is a lightweight database
64+
Atlas Device Sync bridges client apps using the :realm:`Atlas Device SDK </>`
65+
and a MongoDB instance running in Atlas. The lightweight device database is
6566
optimized for mobile development.
6667

6768
.. card::
@@ -78,7 +79,7 @@ Key Features
7879
:icon: /images/icons/Technical_REALM_Offline3x.png
7980
:icon-alt: An icon depicting network loss
8081

81-
Realm Database and Device Sync seamlessly handle intermittent
82+
Atlas Device SDK and Device Sync seamlessly handle intermittent
8283
connectivity so users can continue using your app regardless of their
8384
current network status.
8485

@@ -99,10 +100,10 @@ Get Started
99100
:icon: /images/icons/Technical_REALM_iOSAndriodCrossPlatform3x.png
100101
:icon-alt: An icon depicting two mobile devices synchronizing data between each other
101102

102-
The best way to start using Device Sync is with a template starter app.
103-
In the Atlas App Services UI, under the :guilabel:`App Services` tab, you can select a
104-
template. Atlas configures a backend instance and gives you the
105-
frontend code for a selection of platforms.
103+
The best way get started with Device Sync is with a template app.
104+
From the Atlas UI, select the :guilabel:`App Services` tab, and select
105+
from the provided templates. Atlas configures a backend instance and
106+
gives you the frontend code for a selection of platforms.
106107

107108
.. card::
108109
:headline: Follow a Device Sync Tutorial
@@ -122,11 +123,11 @@ Explore the Device Sync Documentation
122123

123124
.. procedure::
124125

125-
.. step:: Maintain Data Integrity with Schemas
126+
.. step:: Maintain Data Integrity with Your Data Model
126127

127-
Define your application data model with standard schemas that you can use
128-
to validate data and generate language-specific classes. Read the
129-
:ref:`sync-schema-overview` to get oriented.
128+
Define your application data model directly in your code or with
129+
server-side JSON schemas that you can use to generate language-specific
130+
classes. Read the :ref:`sync-schema-overview` to get oriented.
130131

131132
.. step:: Configure & Enable Device Sync
132133

@@ -143,9 +144,9 @@ Explore the Device Sync Documentation
143144

144145
.. step:: Handle Errors
145146

146-
Develop a robust app that can handle schema changes and data recovery
147+
Develop a robust app that can handle data model changes and data recovery
147148
scenarios with the :ref:`client-resets` documentation. Troubleshoot other
148-
errors and edge cases with the :ref:`sync-errors` reference.
149+
errors and edge cases with the :ref:`sync-errors` reference.
149150

150151
.. step:: Go to Production
151152

@@ -169,11 +170,11 @@ End-to-End Security
169170
:icon: /images/icons/Technical_REALM_Mobile3x.png
170171
:icon-alt: An icon depicting a mobile app
171172

172-
Encrypt sensitive data in Realm Database files with the encryption APIs.
173+
Encrypt sensitive data in synced database files with the encryption APIs.
173174

174175
Built-in user authentication providers include anonymous, email/password,
175176
API key, Custom Function, Custom JWT, Facebook, Google, and Apple.
176-
177+
177178
.. card::
178179
:headline: In Flight
179180
:icon: /images/icons/General_CLOUD_Transfer3x.png

source/sync/get-started.txt

Lines changed: 65 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44
Get Started with Atlas Device Sync
55
==================================
66

7-
.. meta::
8-
:description: Learn how to get started with Atlas Device Sync in this high-level overview.
7+
.. meta::
8+
:description: Get started using Atlas Device Sync with this high-level overview.
9+
:keywords: Realm, C++ SDK, Flutter SDK, Java SDK, Kotlin SDK, .NET SDK, Node.js SDK, React Native SDK, Swift SDK, mobile app development, MongoDB mobile
910

1011
.. facet::
11-
:name: genre
12+
:name: genre
1213
:values: reference
1314

1415
.. contents:: On this page
@@ -17,14 +18,13 @@ Get Started with Atlas Device Sync
1718
:depth: 2
1819
:class: singlecol
1920

20-
To sync data across devices, you :ref:`enable Device Sync <enable-sync>` for your
21-
App and then use the sync-related methods and properties in the SDKs.
21+
To sync data across devices, :ref:`enable Device Sync <enable-sync>`, then use the sync-related methods and properties in the
22+
:ref:`Atlas Device SDK <realm-sdks>`.
2223

2324
.. tip:: Check out the tutorial
24-
25-
If you prefer to learn by example, check out the App Services
26-
`tutorial <https://www.mongodb.com/docs/realm/tutorial/>`_, which describes
27-
how to build a synced to-do list application with clients for common
25+
26+
If you prefer to learn by example, check out the Device Sync
27+
:ref:`tutorial <app-services-get-started-tutorials>`, which uses a synced to-do list application with clients for common
2828
platforms that App Services supports.
2929

3030
Before You Start
@@ -33,13 +33,14 @@ Before You Start
3333
- If you don't already have one, `sign up for a free MongoDB Atlas account
3434
<https://www.mongodb.com/cloud/atlas/register?tck=docs_realm>`__.
3535

36-
- Flexible Sync requires MongoDB version 5.0 or later. You can use a free shared
36+
- Device Sync requires an Atlas cluster running MongoDB version {+sync-min-mongo-version-required+} or
37+
later. You can use a free shared
3738
M0 cluster to explore and develop your app. We recommend that you use a
3839
dedicated tier cluster (M10 and above) for production applications. You cannot
3940
use sync with a :ref:`serverless instance <serverless-caveats>` or
4041
:ref:`{+adf-instance+} <data-federation-caveats>`.
41-
42-
- If you don't already have one, :ref:`create a new App
42+
43+
- If you don't already have one, :ref:`create a new App Services App
4344
<create-app>` linked to your Atlas cluster.
4445

4546
Configure Your Data Model
@@ -48,14 +49,16 @@ Configure Your Data Model
4849
Choose an SDK
4950
~~~~~~~~~~~~~
5051

51-
Realm is an object database optimized for mobile use cases. The
52-
:ref:`Realm SDKs <realm-sdks>`, available for multiple languages and
53-
platforms, include everything you need to work with synced "realms" in your
54-
client code. You can use multiple SDKs to work with the same set of synced data
52+
:ref:`Atlas Device SDK <realm-sdks>` wraps Realm Core Database, an object
53+
database optimized for mobile and edge use cases. The SDK, available for multiple languages
54+
and
55+
platforms, includes everything you need to work with synced databases in your
56+
client code. You can use multiple SDK languages to work with the same set of synced data
5557
across devices and platforms.
5658

57-
This guide focuses on configuring sync with an SDK. For in-depth documentation
58-
that includes details on how to install and use the Realm SDKs more generally,
59+
This guide focuses on configuring Device Sync with the SDK. For in-depth documentation
60+
that includes details on how to install and use the Atlas Device SDK more
61+
generally,
5962
check out the SDK docs:
6063

6164
- :ref:`C++ SDK <cpp-intro>`
@@ -67,56 +70,55 @@ check out the SDK docs:
6770
- :ref:`React Native SDK <react-native-intro>`
6871
- :ref:`Swift SDK <ios-intro>`
6972

70-
.. note::
73+
.. note:: Using Device Sync with the Realm JS WebAssembly SDK
7174

72-
The Realm Web SDK does not currently support Realm Database or Atlas Device Sync.
73-
However, you can query the same data in an Atlas cluster using
75+
For more information on building realtime web apps for the browser with the
76+
Realm Database API and Atlas Device Sync, check out :ref:`<web-sync>`.
77+
Or you can query the same data in an Atlas cluster using
7478
:ref:`MongoDB Data Access <web-mongodb-data-access>`.
7579

7680
Define Data Model
7781
~~~~~~~~~~~~~~~~~
7882

79-
A synced realm uses object models that you define to determine the type of
80-
objects in the realm. Additionally, Sync requires a server-side document schema
81-
for each synced object type so that App Services can translate and apply changes
82-
between synced realms and MongoDB Atlas.
83+
A synced database uses object models that you define to determine the type of
84+
objects in the database. Additionally, Sync requires a server-side document schema
85+
for each synced object type so the server can translate and apply changes
86+
between synced databases and MongoDB Atlas.
8387

8488
To define your synced object models, do one of the following for each object
8589
type:
8690

8791
- **Sync object models from an SDK:** In :ref:`Development Mode
88-
<development-mode>`, App Services automatically generates a document schema
92+
<development-mode>`, you can automatically generate a document schema
8993
for each synced object type and assigns that schema to a collection in the
9094
linked cluster with the same name as the object type. Development mode lets
9195
you configure your synced data model from a client application using the same
9296
object models and code that you use in your production app. This is useful if
9397
you prefer a client-first approach that uses idiomatic object models in your
9498
preferred programming language.
95-
96-
For a walkthrough of how to turn on Development Mode, see :ref:`Enable
97-
Development Mode <development-mode>`.
98-
99-
- **Generate object models from a document schema:** App Services can automatically
100-
generate language-specific object models that you can use in your client
101-
applications. The generated models match the document schemas defined for your
102-
app's synced cluster. You can define these schemas manually or App Services can
103-
sample existing data in the cluster to create them automatically. This is
104-
useful if you prefer a server-first approach and/or plan to build apps with
105-
multiple SDKs.
106-
107-
For a walkthrough of how to generate your object models based on server-side
108-
document schemas, see :ref:`Generate SDK Object Models
109-
<generate-sdk-object-models>`.
110-
99+
100+
To get started, check out :ref:`create-sync-schema`.
101+
102+
- **Generate object models from a document schema:** If you already have data in
103+
Atlas, you can automatically generate language-specific object models that
104+
match the document schemas defined for your app's synced cluster. You can
105+
define these schemas manually or App Services can sample existing data in the
106+
cluster to create them automatically. This is useful if you prefer a
107+
server-first approach or plan to build apps with multiple SDKs.
108+
109+
For a walkthrough of how to generate object models that you can use in your
110+
client applications, see
111+
:ref:`Generate SDK Object Models<generate-sdk-object-models>`.
112+
111113
Once you have the generated object models, you can copy them directly into
112114
your client application and use them the same way you would any regular object
113115
or struct in your preferred programming language.
114116

115117
Define Data Access Patterns
116118
---------------------------
117119

118-
Once you have decided on your app's data model, you can define a data access
119-
pattern and access rules for your app's data.
120+
Once you have decided on your app's data model, you can define a data access
121+
pattern and access rules for your app's data.
120122

121123
Client applications can query the queryable fields of a document to determine
122124
which objects to sync. Then, App Services applies rules and default roles to
@@ -125,11 +127,11 @@ determine whether users can read or write the objects that match the query.
125127
Define Data Access Rules
126128
~~~~~~~~~~~~~~~~~~~~~~~~
127129

128-
Data access rules determine which data to sync, as well as each user's
129-
ability to read and write data. Rules are closely linked to your app's data
130+
Data access rules determine which data to sync, as well as each user's
131+
ability to read and write data. Rules are closely linked to your app's data
130132
model.
131133

132-
With Flexible Sync, you specify which data to sync through queries for matching
134+
With Device Sync, you specify which data to sync through queries for matching
133135
objects in a client application. App Services then evaluates :ref:`roles and
134136
rules <flexible-sync-roles>` to determine which of those matching objects a user
135137
can read and write.
@@ -139,11 +141,11 @@ write permissions when more specific roles do not apply. Default roles apply to
139141
all collections an App can access, but you can restrict a role to a specific
140142
collection by specifying the collection name.
141143

142-
Enable Sync
143-
~~~~~~~~~~~
144+
Configure Sync
145+
~~~~~~~~~~~~~~~
144146

145-
When you enable Sync, you specify how clients can access data in your App.
146-
For a walkthrough of how to turn on sync, refer to :ref:`enable-sync`.
147+
Device Sync lets you specify how clients can access data in your App.
148+
For a walkthrough of how to enable and configure Sync, refer to :ref:`enable-sync`.
147149

148150
Optimize Sync Data Usage
149151
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -165,22 +167,23 @@ our guide to :ref:`Optimize Device Sync Atlas Usage
165167
Create Queries in Your Client Application
166168
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
167169

168-
With Flexible Sync enabled, you can start creating queries from your client
169-
application.
170+
With Device Sync enabled, you can start creating queries from your client
171+
application.
170172

171-
The Realm SDKs provide methods to create, update, and remove queries from the
173+
The Atlas Device SDK provide methods to create, update, and remove queries from the
172174
client application. The SDKs use **subscriptions** to maintain those queries on
173175
the client side. Through these subscriptions, your applications sync objects
174176
with the backend app and can watch for and react to changes.
175177

176-
To create queries from your client application, refer to the Realm SDK documentation:
178+
To create queries from your client application, refer to the Atlas Device SDK
179+
documentation in your preferred programming language:
177180

178-
- :ref:`Flexible Sync - Flutter SDK <flutter-sync>`
179-
- :ref:`Flexible Sync - Java SDK<java-flexible-sync>`
180-
- :ref:`Flexible Sync - Kotlin SDK <kotlin-subscriptions>`
181-
- :ref:`Flexible Sync - .NET SDK <dotnet-flexible-sync>`
182-
- :ref:`Flexible Sync - Node.js SDK <node-flexible-sync>`
183-
- :ref:`Flexible Sync - React Native SDK <react-native-flexible-sync>`
184-
- :ref:`Flexible Sync - Swift SDK <ios-flexible-sync>`
181+
- :ref:`Flutter SDK <flutter-sync>`
182+
- :ref:`Java SDK<java-flexible-sync>`
183+
- :ref:`Kotlin SDK <kotlin-subscriptions>`
184+
- :ref:`.NET SDK <dotnet-flexible-sync>`
185+
- :ref:`Node.js SDK <node-flexible-sync>`
186+
- :ref:`React Native SDK <react-native-flexible-sync>`
187+
- :ref:`Swift SDK <ios-flexible-sync>`
185188

186189
.. include:: /includes/important-sync-ignores-custom-collation.rst

0 commit comments

Comments
 (0)