Commit Graph

534 Commits

Author SHA1 Message Date
Rishi Gupta 4cf894fcb9 mypy: Update docs to recommend typing.Text instead of six.text_type. 2016-12-26 16:11:37 -08:00
Rishi Gupta 6d780d8dc2 mypy: Convert api/ and docs/ to use typing.Text. 2016-12-26 16:11:37 -08:00
Robert Hönig 79bbba04cf Update the bots development guide for change in triage_message 2016-12-26 16:10:54 -08:00
Robert Hönig 1c163c704d Fix wrong command in the bots guide 2016-12-25 10:38:15 -08:00
Tim Abbott 753a25268c help: Enable and use the markdown admonition extension.
This allows us to add warnings and tips in the Zulip help documents.
2016-12-21 11:01:49 -08:00
Robert Hönig 5ea1b835c9 Rename and reorder the bots guide 2016-12-20 11:40:04 -08:00
lonerz 25368c6863 bots-guide: Fix numbering indentation 2016-12-20 10:32:30 -08:00
Steve Howell 7317dd1825 Fix broken links in bots-guide.md. 2016-12-19 19:30:25 -08:00
Robert Hönig 63e1ca05ea Add developer documentation for bots 2016-12-19 16:29:42 -08:00
Umair Khan 4155795a16 docs: Fix i18n documentation for translating blocks. 2016-12-15 13:44:13 -08:00
hackerkid 7f8aef1a17 Add additional resources to code review. 2016-12-13 23:12:10 -08:00
hackerkid 3236b8ee2b Add translation in the code review check list. 2016-12-13 23:12:10 -08:00
Umair Khan 336a041ac0 Django 1.10: Use uWSGI.
Fixes: #1121

With some tweaks by tabbott to make the number of processes configurable.
2016-12-13 21:40:43 -08:00
Rafid Aslam e0d2839dd7 docs: Fix broken link in git-guide.md
Update 'how to resolve a merge conflict' link because it is
broken, GitHub has change the link to the newer one.
2016-12-10 06:09:46 -08:00
Rafid Aslam 0fbbadd303 docs: Extract testing docs to their own TOC section
Fixes: #2422.
2016-12-07 07:49:20 -08:00
Rafid Aslam ce94fb2eb1 deps: Change zxcvbn download method from download-zxcvbn to npm.
- Replace download-zxcvbn with downloading it from npm.
- Change zxcvbn.js path to node_modules (because npm put it to
`node_modules` directory.
- Bump `PROVISION_VERSION` in `version.py` to 2.4.

Fixes #2423.
2016-12-06 17:54:56 -08:00
actuallyatoaster d11cdac876 docs: Add documentation for linking to a stream.
Fixes #2560.
2016-12-06 17:47:26 -08:00
Tim Abbott b8ec9a5a42 docs: Improve installation instruction headings.
The previous RTD headings were unclear and resulted in some users
attempting to install the Zulip production environment for doing
development.  This clarifies the situation.
2016-12-06 17:36:42 -08:00
K.Kanakhin 7bf10ec74f update-sockjs: Update sockjs from version 0.3.4 to 1.1.1.
- Add browserify to npm dependencies.
- Add SockJS-client to npm dependencies.
- Add npm postinstall script to generate browser version of SockJS-client
  from npm package.
- Change deprecated SockJS object property 'protocol_whitelist' to
  'transports'.
- Fix settings.
2016-12-05 21:36:10 -08:00
Jianchun1 88e2ff3e1c docs: Add chinese translation style guide. 2016-12-04 14:36:04 -08:00
kevv87 1fb9220354 lint: Remove old jslint linter.
Now that we're using eslint, jslint is no longer required.
2016-12-02 18:49:42 -08:00
Michael Nguyen 991c84fa1e dev-setup-non-vagrant.md: Add missing install step. 2016-12-01 23:05:18 -08:00
Tommy Ip 46b7d54b3e pep8: Fix E701 violations. 2016-11-30 20:45:09 +00:00
trueskawka 558d359909 translation: Create Polish translation style guide.
Add general notes on Polish translation.
Translate special terms used in Zulip.
2016-11-29 19:36:57 -08:00
Tim Abbott ce2cc6d869 docs: Link Spanish style guide from translating page. 2016-11-29 19:35:23 -08:00
Carlos Rey 98e731e4c0 docs: Create a translation guide for Spanish. 2016-11-29 19:31:29 -08:00
Tim Abbott 24f0029111 integration-guide: Fix 'webhook' typo.
Fixes #2467.
2016-11-29 19:08:21 -08:00
Tim Abbott b1fce36214 docs: Fix a link to the windows-10 instructions. 2016-11-29 15:26:23 -08:00
Tim Abbott b035a6c606 docs: Change dev -> development everywhere. 2016-11-29 14:23:54 -08:00
Tim Abbott 6512d588ae dev-remote: Clean up some text, mostly dev->development. 2016-11-29 14:16:51 -08:00
Christie Koehler 30c6d9692e docs: Update remote dev with better details about editing. 2016-11-29 14:13:21 -08:00
Christie Koehler e81474cd91 docs: Recommend using Git to sync changes from local to remote dev. 2016-11-29 14:13:21 -08:00
Christie Koehler 641599164d docs: Add instructions for enabling symlinks in Git BASH. 2016-11-29 14:13:21 -08:00
Christie Koehler 23cf8697d1 docs: Update Windows setup to use Git BASH instead of Cygwin. 2016-11-29 14:13:21 -08:00
Christie Koehler 03d5d5d23a docs: Minor clarifications to remote dev tips. 2016-11-29 14:13:21 -08:00
Christie Koehler dfc465c9a2 docs: Make 'next steps' correct heading level and update links. 2016-11-29 14:13:21 -08:00
Christie Koehler cbd3774745 docs: Update zulip path to ~/zulip/ 2016-11-29 14:13:21 -08:00
Christie Koehler 01d6d7791d docs: Update to address first-time provision issues. 2016-11-29 14:13:21 -08:00
Christie Koehler 6def9c44dc Minor clean up of developing remotely guide. 2016-11-29 14:13:21 -08:00
Christie Koehler 3913db9022 docs: Simplify hierarchy of dev setup docs.
Based on feedback from first-time contributors, this commit simplifies
the number of paths available for finding the dev setup directions you
need. Setup instructions are now organized into Recommended (Vagrant)
and Advanced (non-Vagrant).

In order to get the ToC to display correctly, I've combined all the
advanced, non-Vagrant methods into one page. I've left the old pages
intact, with a note that the content has been moved and link to the new
page. This is in case folks have linked directly to those pages.

The advanced setup directions still need to be cleaned up, but this is a
start.
2016-11-29 14:13:09 -08:00
Umair Khan cd19a3d870 docs: Fix manual installation instructions.
The previous version didn't correctly handle permissions around the
virtualenvs.
2016-11-29 08:56:20 -08:00
Christie Koehler f036a59b4f Move details about configuring a proxy. 2016-11-27 17:06:41 -08:00
Christie Koehler 8b67210ce5 Simplify dev env setup overview. 2016-11-27 16:58:19 -08:00
Stanley Zheng b162969841 docker: Revert Docker development to original instructions.
There were issues with reproducing the Docker build with the latest
docker file and instructions.
2016-11-27 10:15:37 -08:00
Tim Abbott 3d1bcb05e1 tornado: Move event_queue.py to zerver/tornado/.
Fixes #729.
2016-11-26 22:29:28 -08:00
Tim Abbott 1fcf2ff525 tornado: Move zerver.tornadoviews to zerver.tornado.views.
This furthers the overall goal of moving all the Tornado-specific code
to zerver/tornado/.
2016-11-26 22:29:28 -08:00
Tim Abbott a28b20b845 docs: Improve documentation around re-provisioning.
Fixes #1967.
2016-11-26 19:21:18 -08:00
Tim Abbott 4f98b73d5e requirements: Document anti-recommendation of t2 style instances.
If your instance runs out of CPU credits, it will result in a nasty
outage.

Fixes #1605.
2016-11-26 19:06:45 -08:00
Michael Cordover 4047c7d3c4 docs: Add code of conduct. 2016-11-26 18:40:16 -08:00
Zev Benjamin f66e12ac4d docs: Minor developer documentation improvements.
Fixes #2424.
2016-11-26 14:47:16 -08:00
Anders Kaseorg 207cf6302b Always start python via shebang lines.
This is preparation for supporting using Python 3 in production.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-26 14:46:37 -08:00
Steve Howell c0f2cebe0c docs: Add initial guide to manual testing.
With a few small tweaks by tabbott.
2016-11-26 13:05:25 -08:00
Stanley Zheng 26be74c72c docs: Add additional docker commands and documentation cleanup.
With some tweaks by tabbott to fix ordering issues.
2016-11-26 11:17:00 -08:00
Tim Abbott 5896e610cb docs: Fix apt-add-repository arguments in manual instructions. 2016-11-21 12:25:40 -08:00
Tim Abbott 5283c0eef5 docs: Fix generate_secrets.py arguments for manual install. 2016-11-21 12:23:47 -08:00
tonynater 70abbf76fc dev-remote: Edit Setting Up Development Environment docs.
Added sentences which explain each installation option.
2016-11-21 04:44:36 -08:00
tonynater a5e0d9cd5c docs: Reorder sections and add details to remote-dev docs.
This reorders the sections such that setting up the development
environment and making sure it runs comes before editing the
code. Also added some clarifying sentences to give context to bullets.
2016-11-21 04:44:02 -08:00
Alex Dehnert 65ad144c6c dev-remote: Fix typos (you->your). 2016-11-20 13:28:12 -08:00
Pweaver (Paul Weaver) b986cf9c41 docs: add a tutorial for setting up a remote dev environemnt 2016-11-20 12:38:14 -08:00
Christie Koehler b088c08777 Add detail about how to report issues and ask for help. 2016-11-20 11:38:16 -08:00
Christie Koehler a0635d65c1 Add note about Vagrant 1.8.7 curl issue. 2016-11-20 11:12:17 -08:00
Alex Dehnert c07298b8a3 docs: Don't include zulip.readthedocs.io in internal links
Two reasons not to use such links:
- when making doc changes, if you follow links in your local build, they can
  cause you to silently end up no longer reading your local changes
- they can cause you to randomly switch between http:// and https://
2016-11-19 10:16:38 -08:00
Alex Dehnert 4d474b649f docs: Fix broken markdown syntax. 2016-11-19 10:16:32 -08:00
Tim Abbott 2d81813145 roadmap: Add buddy list scalability to agenda. 2016-11-18 15:58:08 -08:00
Tim Abbott e302e2148b docs: Update incorrect links to issues in roadmap docs. 2016-11-18 15:55:02 -08:00
Tim Abbott bbdd0ec08d roadmap: The realm filters feature is merged. 2016-11-17 17:15:17 -08:00
Vladislav Manchev d7e1e4a2c0 Add initial implementation of custom realm filters.
This PR was abandoned by Vladislav and then substantially modified by
Igor Tokarev and Tim Abbott to complete it and fix a number of bugs.

Fixes #544.
2016-11-17 17:11:25 -08:00
Tim Abbott 6d4075cef9 docs: Extend our documentation of our documentation.
The main purpose of this effort is to document our new /help/ docs,
but we update a bunch of other stuff while we're at it.
2016-11-15 22:01:44 -08:00
Feorlen d56272a162 docs: Explain how the HTML webhook documentation is used.
Part of #1998.
2016-11-15 21:00:16 -08:00
Feorlen e45c10884e docs: Fix typo and whitespace. 2016-11-15 21:00:16 -08:00
Feorlen d8afc306ee docs: Clarify that HelloWorldHookTests is subclassing WebhookTestCase.
Part of #1998.
2016-11-15 21:00:15 -08:00
Feorlen ed61d3086d docs: Describe what an API key is and how to get one.
Part of #1998.
2016-11-15 20:59:43 -08:00
Feorlen 113b2b39fb docs: Describe what a test fixture is.
Part of #1998.
2016-11-15 20:59:39 -08:00
Feorlen 4725a7b7de docs: Describe what a webhook is.
Part of #1998.
2016-11-15 20:58:39 -08:00
Tim Abbott 86fbc415b9 docs: Fix typo in roadmap reactions item. 2016-11-15 12:27:27 -08:00
Tim Abbott 0145987fbe Update roadmap introduction section of roadmap. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara e1f7b94bf5 Roadmap doc: Update intro date. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara bef4fc94d3 Roadmap doc: Update desktop app section. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara 3ca3668885 Roadmap doc: Update security, testing, & docs sections. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara b06db1e776 Roadmap doc: Remove tasks we've already done. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara 1c68436465 Roadmap doc: Update technology improvement section. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara e0a1e401f6 Roadmap doc: Update realtime sync, performance, and scalability tasks.
Also move and update community, internationalization, and
development environment tasks.
2016-11-15 09:55:30 -08:00
Sumana Harihareswara b54aa2e415 Roadmap doc: Update onboarding and administration tasks. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara eba34309dc Roadmap doc: Update user experience and social tasks. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara 98e5f502d3 Roadmap doc: Update mobile tasks. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara 9799da1fc2 Roadmap doc: Update internationalization section. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara 0c9ed70a8d Roadmap doc: Update integrations section. 2016-11-15 09:55:30 -08:00
Sumana Harihareswara 43f77a37a4 Roadmap doc: Update number of PRs merged. 2016-11-15 09:55:30 -08:00
Tim Abbott 151267edf6 Roadmap: Make several more things as finished. 2016-11-11 16:24:20 -08:00
sinwar 4582a98c09 tests: Split out ZulipTestCase and WebhookTestCase to a separate file.
Fixes #1671.
2016-11-10 19:29:43 -08:00
Steve Howell 61625ce51e Add draft document for user populations.
(This is mostly an internal dev document for now.  We should eventually
link it into our RTD system, perhaps after we think we are mostly
bug-free in terms of what the doc specifies.)
2016-11-08 15:28:04 -08:00
Meena Rajan 30acb23314 bugdown: Add support for strikethrough in markdown processor.
[Tweaked to move tests to bugdown_data.json, add additional tests, and
add frontend processor support by tabbott]
2016-11-07 22:26:38 -08:00
Tim Abbott a8fdfccc83 docs: Fix echo.contains_bugdown docs being backwards. 2016-11-07 07:54:27 -08:00
Tim Abbott 7c8d502c70 docs: Add details on our markdown change requirements. 2016-11-06 11:57:10 -08:00
Tim Abbott 1641d1952f docs: Add a section on changing Zulip's markdown. 2016-11-06 11:49:37 -08:00
Tim Abbott 70c00038d9 docs: Clarify our markdown docs.
This is just a cleanup and reorganization of some of the text; no
changes are made to the actual content.
2016-11-06 11:37:22 -08:00
hackerkid bb4eb213c1 docs: Add testing notes to markdown doc. 2016-11-06 11:22:34 -08:00
Steve Howell 2088e8420f User user_id, not email, in peer_add events. 2016-11-04 11:37:14 -07:00
Steve Howell c5c3dfe33f Add subscriber counts to changelog.md. 2016-11-04 11:37:14 -07:00
Tim Abbott 945c2c4f86 docs: Add a brief release checklist. 2016-11-04 10:52:48 -07:00
sinwar 67d99c536a docs: change zulip.tabbott.net to chat.zulip.org 2016-11-03 16:07:59 -07:00
deekshaarul 3f5ef8df9e docs: Fix typos in git guide. 2016-11-03 10:12:03 -07:00
Tim Abbott d22a06ee90 docs: Fix a missing close paren. 2016-11-01 12:32:36 -07:00
Tim Abbott 1bae9d10e3 docs: Improve wording details in the new realm document. 2016-11-01 10:50:06 -07:00
hackerkid 1e409032bd docs: Add subsystem section discussing realms and subdomains. 2016-11-01 10:49:47 -07:00
Tim Abbott 14dc98d8b9 server_events: Switch to using REST-style URLs.
This eliminates our use of /json/get_events; we'll remove that
endpoint in a future commit.
2016-10-25 18:02:16 -07:00
K.Kanakhin 8dabc6d499 docs: Fix broken link in upgrading docs. 2016-10-25 11:35:14 -07:00
Tim Abbott c970a87dfa code-style: Fix broken links to anti for-in styleguides.
These two pages were moved over the last few years.
2016-10-24 11:10:25 -07:00
Rishi Gupta 28dd7080c7 docs: Add message editing policy to prod security section.
Fixes #1214.
2016-10-23 20:20:34 -07:00
Sumana Harihareswara f86cd0aa26 docs: Fix style in authentication methods doc. 2016-10-22 20:14:56 -07:00
Sumana Harihareswara 04c8c9d5bd docs: Updates to production customization guide. 2016-10-22 20:13:37 -07:00
Sumana Harihareswara dd3a19ab58 docs: Clarify export_single_user. 2016-10-22 20:13:06 -07:00
Sumana Harihareswara facf0ac1f3 docs: Add psql instructions. 2016-10-22 20:13:06 -07:00
Tim Abbott c20011ccd5 docs: Remove unnecessary and broken SSO breadcrumb link. 2016-10-22 19:30:24 -07:00
K.Kanakhin 9492bd37b4 docs-test: Fix documentation links.
- Fix internal documentation links and anchors according last project documentation version.

Fixes #1492
2016-10-22 19:30:24 -07:00
Tim Abbott a32eaf28c0 docs: Remove broken indices and tables index section.
None of these links worked properly.
2016-10-22 19:23:11 -07:00
Tim Abbott 4352790795 docs: Fix broken link in node testing docs. 2016-10-22 19:21:19 -07:00
Steve Howell c21fe60430 Add make_stream() to django testing docs. 2016-10-22 18:09:34 -07:00
Prabhakar Gupta bc6421fbfb tools: Remove empty wrapper script build_emoji.
This renames the old `emoji_dump.py` to `build_emoji`, removing the
old shell essentially empty shell script.  `emoji_dump.py` was always
a weird name, and this makes it a bit easier to read the code for this
system.
2016-10-20 22:57:45 -07:00
Sumana Harihareswara 2083ffa7a6 docs: Improve export documentation.
Added user and realm export guidance in production maintenance docs,
linked to conversion guide, and revamped the introduction and styled
the text that Steve wrote.
2016-10-20 22:52:32 -07:00
Sumana Harihareswara d9d389f64f docs: Add an initial code review document.
A first pass at a code review guide. Mostly Tim's draft; I added
polish and links.

Fixes: #758.
2016-10-20 22:41:38 -07:00
Steve Howell 76acab36b2 Remove do_add_subscription from Django testing docs. 2016-10-20 22:05:19 -07:00
Sumana Harihareswara c3d3288b63 docs: Style & link text in prod maintenance guide.
Also fix line wrapping and some capitalization.
2016-10-20 11:53:46 -07:00
Sumana Harihareswara a4516bda7d docs: Fix security bug email address. 2016-10-20 11:53:46 -07:00
Tim Abbott 8f6a58f741 docs: Expand translating documentation a bit. 2016-10-19 15:34:31 -07:00
Tim Abbott 92b8ce32fc docs: Clean up translation resources discussion. 2016-10-19 15:32:28 -07:00
Sumana Harihareswara 8d4b32a13a Fix style and linewrapping & add links in translation doc. 2016-10-19 15:30:35 -07:00
Sumana Harihareswara 8d1e87cfff Add translations stream link to translation doc. 2016-10-19 15:30:35 -07:00
Vikas Parashar e962704c71 Add installation troubleshooting instructions in case of pip failure.
Add help for pip install failure during provisioning step of
initial vagrant up during developer environment installation.

Fixes: #1333.
2016-10-19 12:34:08 -07:00
Steve Howell c4b2f6d816 docs: Say "Set up" instead of "Setup".
I think "setup" generally implies a noun.
2016-10-18 17:29:00 -07:00
Steve Howell 2676083b94 Add introduction to docs on node tests.
Also, de-emphasize the process for creating new test modules,
as this is an advanced task that we can further document later
and generally handle as part of code review.
2016-10-17 19:46:17 -07:00
Sumana Harihareswara 6323494f37 docs: Properly capitalize GitHub. 2016-10-17 19:31:50 -04:00
Christie Koehler 23df7913d5 docs: Add Git and GitHub Guide.
Fixes #783, #1754.
2016-10-17 16:18:16 -07:00
Tim Abbott a28a5bb977 docs: Update roadmap HTML with now-completed issues. 2016-10-16 13:09:28 -07:00
Tim Abbott e37b6488b8 Bugdown: Remove checked-in CodeHilite extension.
The changes that required us to fork this extension had been merged
into upstream CodeHilite, so we can remove it and switch to using the
version that comes with python-markdown.
2016-10-16 00:40:08 -07:00
Abhishek Kumar Singh 87c94a8697 docs/writing-views: Fix minor typo.
I found this typo while reading the blog written about
[mypy](http://blog.zulip.org/2016/10/13/static-types-in-python-oh-mypy/)
2016-10-15 12:26:40 -07:00
Tim Abbott 66df520cbe docs: Add a section on CalledProcessorError issues when provisioning.
Inspired by @deekshaarul's work on
https://github.com/zulip/zulip/pull/1939.
2016-10-14 21:29:27 -07:00
sonali0901 66a740b5c1 Architecture docs: Reposition backtick for address of Nagios plugin 2016-10-14 16:25:25 -07:00
Tim Abbott e2810ca1be docs: Update path to update_realm code. 2016-10-11 21:28:14 -07:00
Tim Abbott de5c1eb363 docs: Move glossary to bottom of architecture overview.
I think the old place where we had it broke up the flow.

Once this is about twice as long as it is currently, we should move it
to be its own document.
2016-10-11 16:44:39 -07:00
Sumana Harihareswara 7fee09458b Add starring to glossary. 2016-10-11 16:44:39 -07:00
Sumana Harihareswara f1593b243c docs: Add chevron and message editing to glossary. 2016-10-11 16:44:39 -07:00
Sumana Harihareswara d9c81dcfdd docs: Add recipient bar to usage assumptions/concepts.
Add start of glossary section.
2016-10-11 16:44:39 -07:00
Christie Koehler 952d91f60a docs: Fix broken image links on prod install page. 2016-10-11 15:19:43 -07:00
Supriya 598c7a506b docs/custom-apps: Fix spelling error. 2016-10-11 13:39:59 -07:00
Tim Abbott fec6527656 dev-overview: Document cloud server option. 2016-10-10 17:10:39 -07:00
zeddmaxx 1348b9dde3 dev-overview: Improve organization of installation overview page.
Fixes #1814.

[substantially tweaked by tabbott]
2016-10-10 17:06:59 -07:00
Bertrand Croq c705819f2d custom-apps docs: Fix stumulus typo. 2016-10-10 08:38:51 -07:00
Steve Howell 0bdc9fef5c Upgrade caspersjs to version 1.1.3. (w/acrefoot)
(Most of this work was done by acrefoot in an earlier branch.
I took over the branch to fix casper tests that were broken during
the upgrade (which were fixed in a different commit).  I also
made most of the changes to run-casper.)

This also upgrades phantomjs to 2.1.7.

The huge structural change here is that we no longer vendor casperjs
or download phantomjs with our own script.  Instead, we just use
casperjs and phantomjs from npm, via package.json.

Another thing that we do now is run casperjs tests individually, so
that we don't get strange test flakes from test interactions.  (Tests
can still influence each other in terms of changing data, since we
don't yet have code to clear the test database in between tests.)

A lot of this diff is just removing files and obsolete configurations.

The main new piece is in package.json, which causes npm to install the
new version.

Also, run-casper now runs files individually, as mentioned above.

We had vendored casperjs in the past.  I didn't bring over any of our
changes.  Some of the changes were performance-related (primarily
5fd58cf249), so the upgraded version may
be slower in some instances.  (I didn't do much measurement of that,
since most of our slowness when running tests is about the setup
environment, not casper itself.)  Any bug fixes that we may have
implemented in the past were either magically fixed by changes to
casper itself or by improvements we have made in the tests themselves
over the years.

Tim tested the Casper suite on his machine and running the full Casper
test suite is faster than it was before this change (1m30 vs. 1m50),
so we're at least not regressing overall performance.
2016-10-08 12:08:43 -07:00
Tim Abbott d0f295c77f docs: Clarify commit message portion of version control docs. 2016-10-05 19:28:21 -07:00