Commit Graph

1103 Commits

Author SHA1 Message Date
Sarah 35e60d5e14 new-feature-tutorial: Add references to Django.
With some tweaks by tabbott to update links for our recent
documentation migration.

Fixes #670.
2017-11-16 22:57:31 -08:00
Tim Abbott 569cb1d2fb docs: Move readme-symlink symlink to be just called readme.
This name was always a little confusing.
2017-11-16 21:43:25 -08:00
Mohd Ali Rizwi 66d658d7f1 docs: Use `git clone -c` to set `git pull` to rebase by default.
This updates the developer documentation to recommend `git clone -c`
to set the git pull mode to be rebase by default in the repository
configuration.

The hope is that this will help minimize how often new contributors
end up accidentally messing up their PRs by using `git pull`.

Tweaked by tabbott to fix broken links and optimize the language.

Fixes: #7022.
2017-11-16 14:35:02 -08:00
KiranS 92caa4abab docs: Add more troubleshooting cases to Vagrant guide. 2017-11-16 14:12:38 -08:00
Rishi Gupta 549401ede4 docs: Update emoji.md to explain new naming scheme. 2017-11-16 14:05:49 -08:00
Tim Abbott cb4acf2aa4 docs: Lint rst files for trailing whitespace. 2017-11-16 13:20:50 -08:00
Tim Abbott bf77ad3a6e docs: Clean a few files of too-long lines.
We also document why the rest of them are still on the list.
2017-11-16 11:49:00 -08:00
Greg Price 011114397b docs: Fix some Markdown links missing a close-paren.
These were just introduced today.
2017-11-16 11:43:19 -08:00
Tim Abbott 6973f1d1ef docs: Fix unnecessary absolute links in docs/. 2017-11-16 11:39:59 -08:00
Tim Abbott 07c2b205a4 docs: Update absolute links to point to new URLs.
This should get test-documentation and test-help-documentation passing
again after we moved everything around in the last commit.

There are a lot more absolute links (generally in code comments) to
update, but they are lower-priority and can be done in a follow-up
pass.
2017-11-16 10:08:22 -08:00
David Rosa Tamsen 7072fa5b37 docs: Reorganize developer docs to improve navigation.
This commit helps reduce clutter on the navigation sidebar.
Creates new directories and moves relevant files into them.
Modifies index.rst, symlinks, and image paths accordingly.

This commit also enables expandable/collapsible navigation items,
renames files in docs/development and docs/production,
modifies /tools/test-documentation so that it overrides a theme setting,
Also updates links to other docs, file paths in the codebase that point
to developer documents, and files that should be excluded from lint tests.

Note that this commit does not update direct links to
zulip.readthedocs.io in the codebase; those will be resolved in an
upcoming follow-up commit (it'll be easier to verify all the links
once this is merged and ReadTheDocs is updated).

Fixes #5265.
2017-11-16 09:45:08 -08:00
Rishi Gupta c377db7d04 docs: Update intro text to index.rst. 2017-11-15 14:32:25 -08:00
derAnfaenger 5ef09bfcd4 docs: Move bot docs to /api.
With a few fixes for rendering bugs.  The rest will be in a follow-up
issue.
2017-11-15 09:58:29 -08:00
Rishi Gupta c019c1ba70 docs: Update chat-zulip-org.md. 2017-11-14 16:04:23 -08:00
Rishi Gupta df8e156e50 docs: Reorder sections in chat-zulip-org.md. 2017-11-14 16:04:23 -08:00
Rishi Gupta 87b470ff40 docs: Remove information on office hours and sprints.
Also removes references to meeting agendas that haven't been updated in
months.
2017-11-14 16:04:23 -08:00
Rishi Gupta ee2ea3750c docs: Split a CONTRIBUTING.md out of README.md.
Also contains a number of updates, additions, and deletions; this is
essentially a rewrite of the github landing page experience.
2017-11-14 16:04:23 -08:00
Rishi Gupta 7e9273bc31 docs: Stop recommending the dev environment in prod.md.
The dev environment has none of the onboarding that chat.zulip.org and the
prod install have.
2017-11-14 16:04:23 -08:00
Greg Price 415da352df prod install: Cut premature suggestion to configure auth backends.
The warning here means that the admin can't really act on this yet if
they want to disable email auth, which is likely among admins that
want to make any changes here.  And for admins who don't, this is an
extra thing to read and make a decision about before they can get a
server running.  See #6985.

Conversely, we already discuss auth backends right at the top of the
`prod-customize` doc, which is linked under "Next steps" at the end of
these instructions.

The warning about EmailAuthBackend is important; but we can move it to
the config file right next to the setting, and then it's available
right when it's actionable, which is if the admin is actually thinking
about changing the setting.
2017-11-14 15:57:39 -08:00
Tim Abbott f756f55145 docs: Rename docs/README.html to docs/documentation.html.
Since it's now the top-level documentation for our documentation
system in general, not just docs/, it deserves a more normal name.
2017-11-14 15:52:58 -08:00
Vishnu Ks 36f29764cb emails: Add option to forward mails send in dev env to external email.
Fixes #7085.
2017-11-14 15:27:29 -08:00
Eeshan Garg 4755ecae8a docs/dev-env: Recommend setting up lxc network config on Debian.
LXC on Debian does not ship with a default network config for
containers, so we now recommend setting up the lxc network config
manually.

Tweaked by tabbott to make these details much harder to miss.
2017-11-14 11:19:33 -08:00
Tim Abbott a047584d0b docs: Use parallelism when building docs.
This makes things significantly faster on a multiprocess machine.
2017-11-14 10:41:38 -08:00
Tim Abbott 01a8dd04d3 docs: Update our changelog. 2017-11-10 17:40:50 -08:00
Rishi Gupta b88ba90b30 docs: Make minor updates to chat-zulip-org.md. 2017-11-10 16:44:42 -08:00
Brock Whittaker 74d91bff22 input-pill: Add `onpillcreate` method. 2017-11-10 14:14:03 -08:00
Brock Whittaker 7b00736fa2 input-pill: Add "input_pill" class and documentation. 2017-11-10 14:14:03 -08:00
derAnfaenger 19bc55aa45 Fix various typos.
The typos and their corrections were found with the
aid of https://github.com/lucasdemarchi/codespell.
2017-11-09 16:26:38 +01:00
Steve Howell cdc1bf3d5e node test: Remove add_dependencies(). 2017-11-08 12:24:17 -08:00
David Rosa Tamsen dd10d30d1e docs: Add setting to conf.py to disable sticky_navigation
The left navigation bar defaults to "sticking" to the screen as you
scroll.  This commit adds the sticky_navigation setting to conf.py to
disable the default behavior.

This addresses part of #5265.
2017-11-07 16:48:15 -08:00
Rhea Parekh 34667e7b64 markdown_test_cases: Clean bugdown_matches_marked from the tex cases. 2017-11-07 11:55:25 -08:00
Rishi Gupta dec4b9ed93 remote dev: Add code and instructions for creating digital ocean droplets.
Mostly copied from the zulip/zulip-gci repository, but with some changes to
wordings and code cleanup for linters.
2017-11-06 12:20:39 -08:00
rht ada9979f51 docs: Use python 3 syntax for typing. 2017-11-04 19:58:05 -07:00
Tim Abbott ff2f55e8ba docs: Add some basic coverage of our mypy Python 3 situation. 2017-11-04 19:46:32 -07:00
Tim Abbott 671c3dea66 mypy: Fix type annotation style in webhook walkthrough. 2017-11-04 19:44:12 -07:00
Greg Price 909631b5a9 docs/oauth: Update for Google UI changes, and for zulipdev.com.
The control panel on the Google side doesn't seem to match the
instructions we have; it looks pretty 2017 to me, so I imagine
it's had a redesign since the instructions were written.

Also, in dev, EXTERNAL_HOST is now a port on zulipdev.com, not on
localhost.

Update these instructions for those developments, and edit lightly.
In dev, recommend setting in `dev_settings` instead of in
`prod_settings_template`; that feels to me a little more reflective of
the actual intent, and the effect should be equivalent.
2017-11-03 13:38:59 -07:00
Greg Price eafb82ab2e docs: Move docs on testing OAuth to their own page.
In some minutes of searching yesterday afternoon on the docs site,
I couldn't find docs on how to set up our OAuth integrations for
the dev environment -- even though I was pretty sure they should
be there somewhere, because I'd just been told that.  Wasn't until
I considered the problem fresh today, and grepped the docs source
instead, that I found them.

So, move them to a separate page so they're in the nav.
2017-11-03 13:38:59 -07:00
Greg Price b33d981d7b settings: Simplify setting ALLOWED_HOSTS, by handling EXTERNAL_HOST.
This means one fewer thing the admin typically needs to read, absorb,
and make a decision about at install time.

The one way this change could hypothetically cause trouble is if the
admin wants to keep subdomains of EXTERNAL_HOST out of ALLOWED_HOSTS.
But while the subdomains often won't exist as domain names, it's hard
to imagine the situation in which they would exist but be under
someone else's control, or be doing something other than serving
Zulip realms.
2017-11-03 13:38:59 -07:00
rht e51d98cd96 refactor: Remove usage of ModelReprMixin. 2017-11-02 11:01:47 -07:00
Tim Abbott 3ed707c225 docs: Add more detail on the apt upgrade process and postgres. 2017-10-31 18:11:54 -07:00
Rhea Parekh 6f029d487e tests: Change test_content to text_content in markdown_test_cases.
docs: Fix error in markdown documentation.
2017-10-31 08:51:49 -07:00
Greg Price eb55a3a1ba template context: Give better names to the URLs for the API.
The "subdomain" label is redundant, to the extent it's even
accurate -- this is really just the URL we want to display,
which may or may not involve a subdomain.  Similarly "external".

The former `external_api_path_subdomain` was never a path -- it's a
host, followed by a path, which together form a scheme-relative URL.
I'm not quite convinced that value is actually the right thing in
2 of the 3 places we use it, but fixing that can start by giving an
accurate name to the thing we have.
2017-10-30 18:29:29 -07:00
Greg Price 271a9f0da7 settings: Eliminate disused variable EXTERNAL_API_URI.
This was part of the logic to handle EXTERNAL_API_PATH varying.
But also it was already no longer used -- it was only ever passed
into template contexts, as `external_api_uri`, and it'd been
overtaken there by `external_api_uri_subdomain`.

So, update our dev docs to reflect that, and eliminate the variable.
2017-10-30 18:29:29 -07:00
Greg Price aeb69dfd61 template context: Eliminate now-constant variable `api_site_required`. 2017-10-30 18:29:29 -07:00
Jack Zhang fef828a037 compose: Add video link button, powered by Jitsi. 2017-10-30 17:13:47 -07:00
rht c4fcff7178 refactor: Replace super(.*self) with Python 3-specific super().
We change all the instances except for the `test_helpers.py`
TimeTrackingCursor monkey-patching, which actually needs to specify
the base class.
2017-10-30 14:30:25 -07:00
Tim Abbott 669517c450 docs: Clarify 1.6-and-below instructions for upgrade-zulip-from-git. 2017-10-29 12:41:32 -07:00
Rishi Gupta b7a9068724 mobile: Update docs and portico URLs to point to new Android app. 2017-10-28 15:27:29 -07:00
Tim Abbott 1cd017288d views: Fix imports of REQ/has_request_variables from the wrong place.
These were never in zerver/decorator.py, and so it makes sense to
import them zerver/lib/request.py, mostly for ease of finding things.
2017-10-27 15:07:31 -07:00
Tim Abbott 1a283434a8 docs: Clean up links for writing integration docs.
There's no need to have an empty redirect section at the bottom of
this page.
2017-10-26 15:14:11 -07:00
derAnfaenger ec17460c68 docs: Update preferred integration logo format to svg. 2017-10-26 15:06:07 -07:00
Tim Abbott 3e16b02f30 docs: Update release checklist following 1.7.0 release. 2017-10-26 13:53:21 -07:00
derAnfaenger 51f1281ee9 docs: Specify the updated bot StateHandler API. 2017-10-25 15:37:28 -07:00
derAnfaenger 81a6b0d72c docs: Update deprecated code in writing bots guide. 2017-10-25 15:29:08 -07:00
Tim Abbott a03f322028 version: Bump version following 1.7 release. 2017-10-25 10:37:51 -07:00
Tim Abbott ff6a502200 Release Zulip Server 1.7.0. 2017-10-25 09:27:39 -07:00
Tim Abbott 9cc561e442 docs: Update changelog with a few last entries for the 1.7 release. 2017-10-24 16:45:00 -07:00
Tim Abbott 730c77c7df docs: Document scripts/setup/generate-self-signed-certs.
And more generally clean up our non-LetsEncrypt SSL docs.

This should make it a bit easier to setup a Zulip server.
2017-10-24 13:48:14 -07:00
Tim Abbott 7fd7e054e1 docs: Fix broken link in changelog on ReadTheDocs. 2017-10-23 17:43:21 -07:00
Tim Abbott 8a32f012bf docs: Highlight notes on apt upgrades for perf. 2017-10-23 17:41:25 -07:00
Tim Abbott a174455ae1 docs: Document API super user bots a bit more in security model docs. 2017-10-23 17:37:38 -07:00
Tim Abbott e450d9ab8c docs: Document text_content field of our markdown test cases. 2017-10-20 16:08:16 -07:00
Tim Abbott 42d6defd40 docs: Update changelog for changes going into 1.7 release. 2017-10-20 15:39:53 -07:00
derAnfaenger 1b67652380 docs: Add explicit command to su to zulip from prod step 5 on. 2017-10-20 14:57:44 -07:00
Tim Abbott 0828b4ad90 docs: Add troubleshooting notice for `su zulip` as the zulip user. 2017-10-20 14:57:44 -07:00
Tim Abbott 216fbc2f79 docs: Fix a typo in installation docs. 2017-10-20 14:55:20 -07:00
Tim Abbott 54a2ef7b59 docs: Improve discussion of Ubuntu system updates. 2017-10-20 14:38:34 -07:00
Tim Abbott b511e9d0a9 docs: Recommend Xenial over Trusty for new installations. 2017-10-20 14:34:48 -07:00
Greg Price 12f8ec780e docs/expensive-migrations: Revise a bit for clarity.
Borrows some language from the paragraph in the changelog that
points to it.
2017-10-20 14:21:58 -07:00
Greg Price 50927c7cfd changelog: Revise a bit for clarity and formatting before 1.7 release.
This leaves most of the highlights untouched, to be revised
separately.
2017-10-20 14:04:27 -07:00
Tim Abbott 7c7e93cb43 docs: Improve discussion of legacy desktop app in changelog. 2017-10-20 12:11:06 -07:00
Nikhil Kumar Mishra 075158ec81 docs: Correct details about mobile and desktop codebases.
http://zulip.readthedocs.io/en/latest/architecture-overview.html
mentions "Our mobile clients are separate code repositories: Android
and React Native iOS app. " However Zulip Mobile is the official
mobile Zulip client supporting both iOS and Android.

Edited by tabbott to also fix confusion about the desktop.
2017-10-20 11:57:26 -07:00
Tim Abbott b6de7e3b90 docs: Mention system bot realm in multiple organization docs. 2017-10-20 09:57:16 -07:00
Tim Abbott b33d80707c docs: Document push notification redacting setting. 2017-10-19 18:17:35 -07:00
Alexis La Porte ec3b2072ce docs: Fix broken anchor links to troubleshooting section.
The Vagrant environment setup tutorial anchor links for the
Troubleshooting & Common Errors section don't work in GitHub flavored
markdown because the ampersand in the heading gets removed and the
resulting space is filled with a hyphen. (See here:
https://gist.github.com/asabaylus/3071099#gistcomment-1593627)

To make anchor links work with ReadTheDocs as well as with GitHub
markdown for the time being, this commit changes ampersand in the
heading to 'and'.

Fixes #7056.
2017-10-18 15:20:58 -07:00
rht a967ac5fa7 docs: Simplify install instruction for production environment. 2017-10-18 09:21:16 -07:00
rht a603a4f9f5 Remove `from __future__ import absolute_import`.
Except in:
- docs/writing-bots-guide.md, because bots are supposed to be Python 2
  compatible
- puppet/zulip_ops/files/zulip-ec2-configure-interfaces, because this
  script is still on python2.7
- tools/lint
- tools/linter_lib
- tools/lister.py

For the latter two, because they might be yanked away to a separate repo
for general use with other FLOSS projects.
2017-10-17 22:59:42 -07:00
Tim Abbott 88325c7e85 docs: Simplify discussion of sha256sums. 2017-10-17 22:16:37 -07:00
rht dceaa1d19a Add sha256sum integrity check to the release tarball.
This stems from the discussion at
https://chat.zulip.org/#narrow/stream/general/topic/signing.20the.20release
2017-10-17 22:15:14 -07:00
Tim Abbott 2648d595c1 Revert "docs: Fix broken anchor links in troubleshooting guide."
This reverts commit fa71f64adb.
2017-10-17 21:37:26 -07:00
Tim Abbott fa71f64adb docs: Fix broken anchor links in troubleshooting guide.
Fixes #7056.
2017-10-17 20:38:59 -07:00
Priscilla 22ade4f691 docs: Fix typo on "General user guide documentation".
"browsing" on line 11 was missing an "s".
2017-10-16 22:37:34 -07:00
Rishi Gupta 70cf4991da docs: Add notes on audience to user-docs.md. 2017-10-13 11:59:20 -07:00
Garvit Dewan b0235bc458 dependencies.md: Fix a typo. 2017-10-13 07:11:29 -07:00
Tim Abbott 498d061e5e docs/email: Document how to use a Gmail account with 2FA.
Fixes #6974.
2017-10-12 11:38:01 -07:00
Tim Abbott aaf1cf848a docs/email: Clarify discussion Django's EMAIL_HOST_PASSWORD.
This fixes the second part of #6974 about EMAIL_HOST_PASSWORD.
2017-10-12 11:31:06 -07:00
Greg Price 0b6bcc9c33 docs/dev-env: Explicitly recommend VirtualBox 5.1.8 exactly. 2017-10-09 20:43:12 -07:00
Greg Price 0691724836 passwords: Set default zxcvbn threshold to 10k guesses.
See the discussion in the revised docs for background and motivation,
and an explanation of why this value.
2017-10-08 15:48:44 -07:00
Greg Price a116303604 passwords: Express the quality threshold as guesses required.
The original "quality score" was invented purely for populating
our password-strength progress bar, and isn't expressed in terms
that are particularly meaningful.  For configuration and the core
accept/reject logic, it's better to use units that are readily
understood.  Switch to those.

I considered using "bits of entropy", defined loosely as the log
of this number, but both the zxcvbn paper and the linked CACM
article (which I recommend!) are written in terms of the number
of guesses.  And reading (most of) those two papers made me
less happy about referring to "entropy" in our terminology.
I already knew that notion was a little fuzzy if looked at
too closely, and I gained a better appreciation of how it's
contributed to confusion in discussing password policies and
to adoption of perverse policies that favor "Password1!" over
"derived unusual ravioli raft".  So, "guesses" it is.

And although the log is handy for some analysis purposes
(certainly for a graph like those in the zxcvbn paper), it adds
a layer of abstraction, and I think makes it harder to think
clearly about attacks, especially in the online setting.  So
just use the actual number, and if someone wants to set a
gigantic value, they will have the pleasure of seeing just
how many digits are involved.

(Thanks to @YJDave for a prototype that the code changes in this
 commit are based on.)
2017-10-08 15:48:44 -07:00
Tim Abbott 1ceaedb2c5 docs: Remove html_unescape.py.
This was just for 1-time use exported the original Zulip documentation.
2017-10-08 15:41:41 -07:00
Tim Abbott 630037967f docs: Stop linking to removed whitespace section of style guide.
We should probably just encourage linting for this.
2017-10-06 14:02:32 -07:00
Tim Abbott 0ac78cb14d code-style: Simplify discussion of third-party code. 2017-10-06 13:28:45 -07:00
Tim Abbott a632c8471d code-style: Improve state and logs discussion. 2017-10-06 13:26:13 -07:00
Tim Abbott e660faa225 docs: Remove code style section on jQuery global state.
I don't think anyone has tried to do this for a long time, since the
channel module makes it pretty clear how to do an ajax call.
2017-10-06 13:24:26 -07:00
Tim Abbott 0054fa17f1 docs: Simplify javascript var discussion.
We don't need as much as before, since it's enforced by the linter.
2017-10-06 13:24:06 -07:00
derAnfaenger 7ff697d053 linter: Add rule against using `pk` instead of `id`.
There's one exception here, for model._meta.pk.  To support this
nicely, we added this exclude-pattern feature.
2017-10-06 12:56:26 -07:00
derAnfaenger 64b8930225 linter: Add rules against improper shebangs. 2017-10-06 12:46:19 -07:00
derAnfaenger 71159fe19a code style guide: Remove obsolete space-around-bracket rule.
For .py files, our pep8 linter enforces this rule.
For .js files, eslint enforces this rule.
2017-10-06 12:46:12 -07:00
derAnfaenger c022b7a8fa linter: Add rule against using the `style` attribute.
This has a ton of exclude rules, for two reasons:

(1) We haven't been particularly systematic about avoiding unnecessary
inline style in the past, so there's a lot of code we need to fix.

(2) There are cases where one wants to dynamically compute style
rules. For the latter category, ideally we'd figure out a way to
exclude these automatically (e.g. checking for mustache tags in the
style tag).
2017-10-06 08:33:10 -07:00
Tim Abbott 930eef3caa tools: Add new script to sync translations.
We just learned we should be using the "onlytranslated" mode of
Transifex.  Since the command is getting a bit complex (and you need
to remember to run `makemessages` first), it makes sense to have a
tool for it.
2017-10-05 23:07:16 -07:00