mirror of https://github.com/zulip/zulip.git
docs: Add missing space to compound verbs “back up”, “log in”, etc.
Noun: backup, login, logout, lookup, setup. Verb: back up, log in, log out, look up, set up. Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
b0ce4f1bce
commit
e1f42c1ac5
|
@ -108,7 +108,7 @@ See our guide on [writing help center articles](helpcenter.md).
|
|||
### Integrations documentation
|
||||
|
||||
Zulip's [integrations documentation](https://zulip.com/integrations)
|
||||
is user-facing documentation explaining to end users how to setup each
|
||||
is user-facing documentation explaining to end users how to set up each
|
||||
of Zulip's more than 100 integrations. There is a detailed [guide on
|
||||
documenting integrations](integrations.md), including style guidelines
|
||||
to ensure that the documentation is high quality and consistent.
|
||||
|
|
|
@ -566,7 +566,7 @@ to the root and `engineering` subdomains:
|
|||
|
||||
4. If you want to sign SAML requests, you have to do two things in Keycloak:
|
||||
|
||||
1. In the Keycloak client settings you setup previously, open the
|
||||
1. In the Keycloak client settings you set up previously, open the
|
||||
`Settings` tab and **enable** `Client Signature Required`.
|
||||
2. Keycloak can generate the Client private key and certificate
|
||||
automatically, but Zulip's SAML library does not support the
|
||||
|
@ -636,7 +636,7 @@ another IdP.
|
|||
logging out from Zulip, logging back in using SAML, and then using
|
||||
the SAML logout feature from KeyCloak. Check
|
||||
`/var/log/zulip/errors.log` for error output if it doesn't work.
|
||||
1. Once SAML logout is working for you, you can use the `manage.py logout_all_users` management command to logout all users so that
|
||||
1. Once SAML logout is working for you, you can use the `manage.py logout_all_users` management command to log out all users so that
|
||||
SAML logout works for everyone.
|
||||
|
||||
```bash
|
||||
|
@ -837,9 +837,9 @@ Note that `SOCIAL_AUTH_OIDC_ENABLED_IDPS` only supports a single IdP currently.
|
|||
The Return URL to authorize with the provider is
|
||||
`https://yourzulipdomain.example.com/complete/oidc/`.
|
||||
|
||||
By default, users who attempt to login with OIDC using an email
|
||||
By default, users who attempt to log in with OIDC using an email
|
||||
address that does not have a current Zulip account will be prompted
|
||||
for whether they intend to create a new account or would like to login
|
||||
for whether they intend to create a new account or would like to log in
|
||||
using another authentication method. You can configure automatic
|
||||
account creation on first login attempt by setting
|
||||
`"auto_signup": True` in the IdP configuration dictionary.
|
||||
|
|
|
@ -25,12 +25,12 @@ feature to billing.
|
|||
|
||||
### Setup
|
||||
|
||||
Apart from the common setup mentioned above, you also need to setup your
|
||||
Apart from the common setup mentioned above, you also need to set up your
|
||||
development environment to receive webhook events from Stripe.
|
||||
|
||||
- Install the Stripe CLI locally by following the instructions
|
||||
[here](https://stripe.com/docs/webhooks/test).
|
||||
- Login to Stripe CLI using the command `stripe login`.
|
||||
- Log in to Stripe CLI using the command `stripe login`.
|
||||
- You can get Stripe CLI to forward all Stripe webhook events to our local
|
||||
webhook endpoint using the following command:
|
||||
`stripe listen --forward-to http://localhost:9991/stripe/webhook/`
|
||||
|
|
|
@ -321,7 +321,7 @@ def add_cert_to_pipconf() -> None:
|
|||
|
||||
def do_setup_virtualenv(venv_path: str, requirements_file: str) -> None:
|
||||
|
||||
# Setup Python virtualenv
|
||||
# Set up Python virtualenv
|
||||
new_packages = set(get_package_names(requirements_file))
|
||||
|
||||
run_as_root(["rm", "-rf", venv_path])
|
||||
|
|
|
@ -203,7 +203,7 @@ if not os.path.exists(os.path.join(deploy_path, "zproject/prod_settings.py")):
|
|||
# zulip<1.4.0, we need to do it. See discussion in commit 586b23637.
|
||||
os.symlink("/etc/zulip/settings.py", os.path.join(deploy_path, "zproject/prod_settings.py"))
|
||||
|
||||
# Now we should have an environment setup where we can run our tools;
|
||||
# Now we should have an environment set up where we can run our tools;
|
||||
# first, creating the production venv.
|
||||
subprocess.check_call(
|
||||
[os.path.join(deploy_path, "scripts", "lib", "create-production-venv"), deploy_path]
|
||||
|
|
|
@ -1139,7 +1139,7 @@ export class MessageListView {
|
|||
const message_group_id = recipient_row.attr("id");
|
||||
|
||||
// Since there might be multiple dates within the message
|
||||
// group, it's important to lookup the original/full message
|
||||
// group, it's important to look up the original/full message
|
||||
// group rather than doing an artificial rerendering of the
|
||||
// message header from the set of message containers passed in
|
||||
// here.
|
||||
|
|
|
@ -64,7 +64,7 @@ function compare_by_huddle(huddle) {
|
|||
return person && person.user_id;
|
||||
});
|
||||
|
||||
// Construct dict for all huddles, so we can lookup each's recency
|
||||
// Construct dict for all huddles, so we can look up each's recency
|
||||
const huddles = huddle_data.get_huddles();
|
||||
const huddle_dict = new Map();
|
||||
for (const [i, huddle] of huddles.entries()) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Module for displaying the modal asking spectators to login when
|
||||
// Module for displaying the modal asking spectators to log in when
|
||||
// attempting to do things that are not possible as a spectator (like
|
||||
// add an emoji reaction, star a message, etc.). While in many cases,
|
||||
// we will prefer to hide menu options that don't make sense for
|
||||
|
|
|
@ -193,14 +193,14 @@ export class TopicListWidget {
|
|||
input.trigger("focus");
|
||||
}
|
||||
|
||||
// setup display of clear(x) button.
|
||||
// set up display of clear(x) button.
|
||||
if (this.topic_search_text.length) {
|
||||
$("#clear_search_topic_button").show();
|
||||
} else {
|
||||
$("#clear_search_topic_button").hide();
|
||||
}
|
||||
|
||||
// setup event handlers.
|
||||
// set up event handlers.
|
||||
const rebuild_list = () => this.build();
|
||||
input.on("input", rebuild_list);
|
||||
}
|
||||
|
|
|
@ -436,7 +436,7 @@
|
|||
Zulip Cloud is built with <a href="/privacy/">privacy</a> and <a href="/security/">security</a> in mind, and is used by some of the most security-conscious organizations in the world.
|
||||
</div>
|
||||
</li>
|
||||
<li><div class="list-content">Zulip is <a href="https://github.com/zulip">100% open-source software</a>, with no "open core" catch. We work hard to make it <a href="https://zulip.readthedocs.io/en/latest/production/install.html">easy to set up</a>, <a href="https://zulip.readthedocs.io/en/stable/production/export-and-import.html#backups">backup</a>, and <a href="https://zulip.readthedocs.io/en/stable/production/upgrade-or-modify.html">maintain</a> a self-hosted Zulip installation, where you have full control of your data.</div></li>
|
||||
<li><div class="list-content">Zulip is <a href="https://github.com/zulip">100% open-source software</a>, with no "open core" catch. We work hard to make it <a href="https://zulip.readthedocs.io/en/latest/production/install.html">easy to set up</a>, <a href="https://zulip.readthedocs.io/en/stable/production/export-and-import.html#backups">back up</a>, and <a href="https://zulip.readthedocs.io/en/stable/production/upgrade-or-modify.html">maintain</a> a self-hosted Zulip installation, where you have full control of your data.</div></li>
|
||||
<li><div class="list-content">Move your data with our high quality <a href="/help/export-your-organization">export</a> and <a href="https://zulip.readthedocs.io/en/latest/production/export-and-import.html">import</a> tools; you are never locked into a proprietary tool.</div></li>
|
||||
<li><div class="list-content">Zulip is built for scale and works reliably for organizations with thousands of users online at once with <a href="https://zulip.readthedocs.io/en/stable/production/requirements.html#scalability">modest hardware</a>.</div></li>
|
||||
<li>
|
||||
|
|
|
@ -109,7 +109,7 @@ the user will get to choose which playground to open the code in.
|
|||
programming language. The language tag for a code block is internally mapped
|
||||
to these human-readable Pygments names; e.g., `py3` and `py` are mapped to
|
||||
`Python`. One can use the typeahead (which appears when you type something
|
||||
or just click on the language field) to lookup the Pygments name.
|
||||
or just click on the language field) to look up the Pygments name.
|
||||
|
||||
* The links for opening code playgrounds are always constructed by concatenating
|
||||
the provided URL prefix with the URL-encoded contents of the code block.
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
* Zulip is [100% open-source software](https://github.com/zulip), with no "open core" catch.
|
||||
* We work hard to make it easy to [set up][install-zulip],
|
||||
[backup][backup-zulip], and [maintain][maintain-zulip] a self-hosted
|
||||
[back up][back-up-zulip], and [maintain][maintain-zulip] a self-hosted
|
||||
Zulip installation.
|
||||
* Retain full control over your data.
|
||||
* Customize Zulip for all your needs.
|
||||
|
||||
[install-zulip]: https://zulip.readthedocs.io/en/latest/production/install.html
|
||||
[backup-zulip]: https://zulip.readthedocs.io/en/stable/production/export-and-import.html#backups
|
||||
[back-up-zulip]: https://zulip.readthedocs.io/en/stable/production/export-and-import.html#backups
|
||||
[maintain-zulip]: https://zulip.readthedocs.io/en/stable/production/upgrade-or-modify.html
|
||||
|
|
|
@ -4,7 +4,7 @@ Zulip supports using SAML authentication for single sign-on, both when
|
|||
self-hosting or on the Zulip Cloud Plus plan.
|
||||
|
||||
This page documents details on how to set up SAML authentication with
|
||||
Zulip with various common SAML identity providers. Once you have setup
|
||||
Zulip with various common SAML identity providers. Once you have set up
|
||||
SAML, you may also want to consider configuring [SCIM](/help/scim).
|
||||
|
||||
If you are self-hosting, this documentation is likely still useful for
|
||||
|
|
|
@ -12,7 +12,7 @@ The instructions below explain how to configure SCIM in Okta for Zulip
|
|||
Cloud customers. Like SAML, feature is currently only available in
|
||||
Zulip Cloud with the Zulip Cloud Plus plan.
|
||||
|
||||
These instructions can also be used by self-hosters to setup the Okta
|
||||
These instructions can also be used by self-hosters to set up the Okta
|
||||
side of SCIM for their deployment.
|
||||
|
||||
## Configure SCIM with Okta
|
||||
|
|
|
@ -62,7 +62,7 @@ ensure you can always move from our hosting to yours (and back).
|
|||
* Zulip is [100% open-source software](https://github.com/zulip), with
|
||||
no "open core" catch.
|
||||
* We work hard to make it easy to [set up][install-zulip],
|
||||
[backup][backup-zulip], and [maintain][maintain-zulip] a self-hosted
|
||||
[back up][back-up-zulip], and [maintain][maintain-zulip] a self-hosted
|
||||
Zulip installation.
|
||||
* Retain full control over your data. If cloud hosting is not an
|
||||
option due to stringent data and privacy requirements (e.g. in the
|
||||
|
@ -70,7 +70,7 @@ ensure you can always move from our hosting to yours (and back).
|
|||
* Customize Zulip for all your needs.
|
||||
|
||||
[install-zulip]: https://zulip.readthedocs.io/en/latest/production/install.html
|
||||
[backup-zulip]: https://zulip.readthedocs.io/en/stable/production/export-and-import.html#backups
|
||||
[back-up-zulip]: https://zulip.readthedocs.io/en/stable/production/export-and-import.html#backups
|
||||
[maintain-zulip]: https://zulip.readthedocs.io/en/stable/production/upgrade-or-modify.html
|
||||
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ realms used for testing; consider using deactivate_realm instead."""
|
|||
if settings.BILLING_ENABLED:
|
||||
# Deleting a Realm object also deletes associating billing
|
||||
# metadata in an invariant-violating way, so we should
|
||||
# never use this tool for a realm with billing setup.
|
||||
# never use this tool for a realm with billing set up.
|
||||
from corporate.models import CustomerPlan, get_customer_by_realm
|
||||
|
||||
customer = get_customer_by_realm(realm)
|
||||
|
|
|
@ -2458,7 +2458,7 @@ class SAMLAuthBackendTest(SocialAuthBase):
|
|||
self.assertEqual(result.url, realm.uri + "/register/")
|
||||
|
||||
def test_social_auth_saml_multiple_idps_configured(self) -> None:
|
||||
# Setup a new SOCIAL_AUTH_SAML_ENABLED_IDPS dict with two idps.
|
||||
# Set up a new SOCIAL_AUTH_SAML_ENABLED_IDPS dict with two idps.
|
||||
# We deepcopy() dictionaries around for the sake of brevity,
|
||||
# to avoid having to spell them out explicitly here.
|
||||
# The second idp's configuration is a copy of the first one,
|
||||
|
@ -4884,7 +4884,7 @@ class TestTwoFactor(ZulipTestCase):
|
|||
|
||||
mock_totp.side_effect = totp
|
||||
|
||||
# Setup LDAP
|
||||
# Set up LDAP
|
||||
self.init_default_ldap_database()
|
||||
ldap_user_attr_map = {"full_name": "cn"}
|
||||
with self.settings(
|
||||
|
|
|
@ -928,7 +928,7 @@ class RestartEventsTest(ZulipTestCase):
|
|||
hamlet = self.example_user("hamlet")
|
||||
realm = hamlet.realm
|
||||
|
||||
# Setup an empty event queue
|
||||
# Set up an empty event queue
|
||||
clear_client_event_queues_for_testing()
|
||||
|
||||
queue_data = dict(
|
||||
|
|
|
@ -313,7 +313,7 @@ class HomeTest(ZulipTestCase):
|
|||
self.assertEqual(result.status_code, 302)
|
||||
self.assertEqual(result.url, "/login/")
|
||||
|
||||
# Tell server that user wants to login anonymously
|
||||
# Tell server that user wants to log in anonymously
|
||||
# Redirects to load webapp.
|
||||
realm = get_realm("zulip")
|
||||
result = self.client_post("/", {"prefers_web_public_view": "true"})
|
||||
|
|
|
@ -1858,7 +1858,7 @@ class GitHubAuthBackend(SocialAuthMixin, GithubOAuth2):
|
|||
]
|
||||
|
||||
def get_verified_emails(self, realm: Realm, *args: Any, **kwargs: Any) -> List[str]:
|
||||
# We only let users login using email addresses that are
|
||||
# We only let users log in using email addresses that are
|
||||
# verified by GitHub, because the whole point is for the user
|
||||
# to demonstrate that they control the target email address.
|
||||
verified_emails: List[str] = []
|
||||
|
@ -2437,10 +2437,10 @@ class SAMLAuthBackend(SocialAuthMixin, SAMLAuth):
|
|||
callback function without arguments, to delete the session. We're not
|
||||
happy with that for two reasons:
|
||||
1. These implementations don't look at the NameID in the LogoutRequest, which
|
||||
is not quite correct, as a LogoutRequest to logout user X can be delivered
|
||||
is not quite correct, as a LogoutRequest to log out user X can be delivered
|
||||
through any means, and doesn't need a session to be valid.
|
||||
E.g. a backchannel logout request sent by the IdP wouldn't have a session cookie.
|
||||
Also, hypothetically, a LogoutRequest to logout user Y shouldn't logout user X, even if the
|
||||
Also, hypothetically, a LogoutRequest to log out user Y shouldn't log out user X, even if the
|
||||
request is made with a session cookie belonging to user X.
|
||||
2. We want to revoke all sessions for the user, not just the current session
|
||||
of the request, so after validating the LogoutRequest, we need to identify
|
||||
|
|
|
@ -195,8 +195,8 @@ AUTH_LDAP_USER_SEARCH = LDAPSearch(
|
|||
"ou=users,dc=example,dc=com", ldap.SCOPE_SUBTREE, "(uid=%(user)s)"
|
||||
)
|
||||
|
||||
## Configuration to lookup a user's LDAP data given their email address
|
||||
## (For Zulip reverse mapping). If users log in as e.g. "sam" when
|
||||
## Configuration to look up a user's LDAP data given their email address
|
||||
## (for Zulip reverse mapping). If users log in as e.g. "sam" when
|
||||
## their email address is "sam@example.com", set LDAP_APPEND_DOMAIN to
|
||||
## "example.com". Otherwise, leave LDAP_APPEND_DOMAIN=None and set
|
||||
## AUTH_LDAP_REVERSE_EMAIL_SEARCH and AUTH_LDAP_USERNAME_ATTR below.
|
||||
|
|
Loading…
Reference in New Issue