-
Notifications
You must be signed in to change notification settings - Fork 88
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
(DOCSP-39525): Consolidate Create and Delete Users page #3289
(DOCSP-39525): Consolidate Create and Delete Users page #3289
Conversation
Readability for Commit Hash: 1a7b185 You can see any previous Readability scores (if they exist) by looking Readability scores for changed documents:
For Grade Level, aim for 8 or below. For Reading Ease scores, aim for 60 or above:
For help improving readability, try Hemingway App. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job, @dacharyc! I have mostly minor comments. It wasn't immediately clear to me what content was added verbatim and what needed to be messaged. Feel free to ignore comments on content that was migrated as-is.
.. tip:: Atlas Device SDK Users Differ from Other Types of Atlas Users | ||
|
||
Atlas Device SDK users are distinct from :ref:`database users <mongodb-users>` | ||
or :ref:`Atlas account users <atlas_users>`. SDK users are bounded by the | ||
App Services App where they are registered, and only have access to | ||
resources you provide through the App. Your application can let SDK users: | ||
|
||
- :ref:`Read and write from a synced database <sdks-write-synced-database>` | ||
- :ref:`Call an Atlas Function <sdks-call-function>` | ||
- Call :ref:`Data API <data-api>` or :ref:`custom HTTPS endpoints <custom-endpoints>` | ||
- Read and write from specified collections and databases in MongoDB Atlas | ||
through :ref:`the MongoClient API <sdks-access-mongodb>` | ||
|
||
SDK users do not have direct Atlas database access, or direct Atlas account | ||
access. It is your responsibility to manage these application users, | ||
including complying with data retention or deletion policies and regulatory | ||
requirements where you publish your applications. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should consider making this its own section. I can see support folks wanting to link to this content - that's harder when it's in an admonition.
I think it's also important enough to be its own section with its own heading.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good call. This is net new content that I realized was totally missing as I was creating this page. It got bigger as I was fleshing it out. I think you're right, it probably warrants being its own section. Updating!
You can also associate :ref:`metadata <sdks-user-metadata>` or | ||
:ref:`custom data <sdks-custom-user-data>` with user accounts. | ||
|
||
Users can have multiple identities. For more information, refer to | ||
:ref:`sdks-link-user-identities`. | ||
|
||
Your app can manage multiple users on a device. For more information, refer | ||
to :ref:`sdks-multi-user-applications`. | ||
|
||
For more information about authentication providers, identities, and user | ||
sessions, refer to :ref:`Authenticate & Manage Users <users-and-authentication>` | ||
in the App Services documentation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This block of content feels like a grab bag of related things and not particularly relevant? I was confused by the shift from the first paragraph to this block because there's not contextual shift from "here's what this thing is" to "here's related stuff".
We could remove the content block, embed it in a place with more context (like the Create Users section), or establish more context here.
In the case of the latter, maybe something like this?
You can also associate :ref:`metadata <sdks-user-metadata>` or | |
:ref:`custom data <sdks-custom-user-data>` with user accounts. | |
Users can have multiple identities. For more information, refer to | |
:ref:`sdks-link-user-identities`. | |
Your app can manage multiple users on a device. For more information, refer | |
to :ref:`sdks-multi-user-applications`. | |
For more information about authentication providers, identities, and user | |
sessions, refer to :ref:`Authenticate & Manage Users <users-and-authentication>` | |
in the App Services documentation. | |
When you create a new user, keep in mind these features: | |
- You can associate :ref:`metadata <sdks-user-metadata>` or | |
:ref:`custom data <sdks-custom-user-data>` with user accounts. | |
- Users can have multiple identities. For more information, refer to | |
:ref:`sdks-link-user-identities`. | |
- Your app can manage multiple users on a device. For more information, refer | |
to :ref:`sdks-multi-user-applications`. | |
- For more information about authentication providers, identities, and user | |
sessions, refer to :ref:`Authenticate & Manage Users <users-and-authentication>` | |
in the App Services documentation. | |
I don't necessarily love that framing, but hopefully the idea makes sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it is a grab bag of features. I understand the point you're making here - I'll iterate on this a little.
If your app uses email/password authentication, you must manually register a | ||
user to create a user object. For more information about registering | ||
email/password users, refer to :ref:`sdks-email-password-user-register`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was a bit confused by what "manually" refers to here. I'm afraid not all of the SDKs work the same way here. The JS SDK's registerUser()
method doesn't return anything - it doesn't create a user object. The .NET SDK also doesn't create a user object by registering.
I guess I'm assuming this refers to an on-device user object and not one in App Services. These methods do create App Services users.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I was referring to App Services users. I realize with this feedback that this is unclear. I'll wordsmith this a bit.
Calling the user delete method performs the following: | ||
|
||
- Deletes synced databases associated with the user from the device. | ||
- deletes the ``User`` object from the Atlas App Services server |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- deletes the ``User`` object from the Atlas App Services server | |
- Deletes the ``User`` object from the Atlas App Services server |
.. literalinclude:: /examples/MissingPlaceholders/example.m | ||
:language: objectivec | ||
|
||
- id: swift |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it intentional that the Swift examples have XCTAssert
statements? Seems problematic for copy/paste. Probably not worth addressing as part of the consolidation work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is intentional as we were experimenting with different ways to show information in code examples. But it's a direction we decided not to take after this, and probably warrants being updated/removed. I can make it non copyable for now, and will update the Swift follow up ticket for this page to remove the asserts.
- id: typescript | ||
content: | | ||
|
||
.. literalinclude:: /examples/MissingPlaceholders/example.ts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should use the JavaScript example here. I know it's a .js
file, but this is a case where TypeScript would look and behave exactly the same way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy to make this change here. But generally there are a lot of places in the docs where we are missing either a JS or TS example, and I'm using the "missing example" placeholder because I don't know where those would be the same example. We'll need to make updates as part of the follow up work.
I've kept the "missing example" includes files generic, but I could create includes for places where we have JS or TS that say "This example is missing in Typescript - see the Javascript example" or "see the Typescript example" if you think that would be a better experience? It would create more maintenance overhead for us to use the right include and remember to update it when that changes, but we could definitely do that.
c33fc22
into
mongodb:feature-consolidated-sdk-docs
✨ Staging URL: https://preview-mongodbmongodb.gatsbyjs.io/realm/feature-consolidated-sdk-docs/ 🪵 Logs |
Pull Request Info - SDK Docs Consolidation
Jira ticket: https://jira.mongodb.org/browse/DOCSP-39525
Staged Page
Page Source
Add links to every SDK's pages where you got the SDK-specific information:
PR Author Checklist
Before requesting a review for your PR, please check these items:
feature-consolidated-sdk-docs
branch instead ofmaster
Naming
.rst
files comply with the naming guidelinesLinks and Refs
Content
Reviewer Checklist
As a reviewer, please check these items: