mirror of
https://github.com/zulip/zulip.git
synced 2026-07-09 21:21:47 +08:00
Adds HTML title elements to templates that extend either `base.html`, `portico.html` or `portico_signup.html`, and that are not website portico landing pages that will use the `PAGE_TITLE` variable to set the HTML title element (see following commit in series). Also, updates some templates for missing translation tags. As a general rule, we want the title element (and page content) translated. Exceptions that are updated in this commit are templates used in the development environment, analytics templates that are used by staff and templates related to Zephyr.
131 lines
6.1 KiB
HTML
131 lines
6.1 KiB
HTML
{% extends "zerver/portico.html" %}
|
|
|
|
{% block title %}
|
|
<title>Tools and data sets | Zulip Dev</title>
|
|
{% endblock %}
|
|
|
|
{# Login page. #}
|
|
{% block portico_content %}
|
|
|
|
<div class="app flex full-page">
|
|
<div id="devtools-page" class="markdown">
|
|
<h1>Useful development URLs</h1>
|
|
<p>
|
|
Below is a list of useful tools and data sets available only in the Zulip
|
|
development environment that are often useful when contributing to Zulip.
|
|
Most of these require you to run a command to build/generate the relevant
|
|
content. This table specifies which command to use to update the data served
|
|
by each page (since several of these, like test coverage, require a special
|
|
command to be run to generate the data). Make sure your development server is still running
|
|
when you visit these!
|
|
</p>
|
|
<table class="table table-striped table-rounded table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>URL</th>
|
|
<th>Command</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><a href="/coverage/index.html">/coverage/index.html</a></td>
|
|
<td><code>./tools/test-backend --coverage</code></td>
|
|
<td>Backend (Django) test coverage report</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/node-coverage/index.html">/node-coverage/index.html</a></td>
|
|
<td><code>./tools/test-js-with-node --coverage</code></td>
|
|
<td>Frontend (node) test coverage report</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/docs/index.html">/docs/index.html</a></td>
|
|
<td><code>./tools/build-docs</code></td>
|
|
<td>Developer documentation (ReadTheDocs) built locally</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/emails">/emails</a></td>
|
|
<td><code>./scripts/setup/inline_email_css.py</code><br />
|
|
Run the command if you made changes to source.html email templates.
|
|
</td>
|
|
<td>View outgoing and example emails.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/stats/realm/analytics/">/stats/realm/analytics/</a></td>
|
|
<td><code>./manage.py populate_analytics_db</code><br />
|
|
Run the command after changing analytics data population logic.
|
|
</td>
|
|
<td>View the /stats page with some pre-populated data</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/webpack/5xx.html">/webpack/5xx.html</a></td>
|
|
<td><code>./manage.py collectstatic --noinput</code></td>
|
|
<td>Error 5xx page served by nginx (used when Django is totally broken)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/errors/404">/errors/404</a></td>
|
|
<td>None needed</td>
|
|
<td>Error 404 page served by Django</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/errors/5xx">/errors/5xx</a></td>
|
|
<td>None needed</td>
|
|
<td>Error 5xx page served by Django</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/accounts/do_confirm/invalid">/accounts/do_confirm/invalid</a></td>
|
|
<td>None needed</td>
|
|
<td>Invalid confirmation link page</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="/devtools/integrations">/devtools/integrations</a></td>
|
|
<td>None needed</td>
|
|
<td>Test incoming webhook integrations</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h2>Useful management commands</h2>
|
|
<p>Development-specific management commands live in <code>zilencer/management/commands</code>. Highlights include:
|
|
<ul>
|
|
<li><code>./manage.py populate_db</code>: Rebuilds database. Has options to e.g. create 3K users for testing.</li>
|
|
<li><code>./manage.py mark_all_messages_unread</code>: Useful for testing reading messages.</li>
|
|
<li><code>./manage.py create_realm</code>: Add a new realm. Useful for testing onboarding.</li>
|
|
<li><code>./manage.py create_user</code>: Add a new user. Useful for testing onboarding.</li>
|
|
<li><code>./manage.py add_mock_conversation</code>: Add test messages, streams, images, emoji, etc.
|
|
into the dev environment. First edit zilencer/management/commands/add_mock_conversation.py
|
|
to add the data you're testing.
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
<p>We also have
|
|
<a href="https://zulip.readthedocs.io/en/latest/development/authentication.html">documentation on testing LDAP, Google & GitHub authentication</a> in the development environment.
|
|
</p>
|
|
<h2>Connecting to the local PostgreSQL database</h2>
|
|
<ul>
|
|
<li>
|
|
<code>./manage.py dbshell</code>: Connect to
|
|
PostgreSQL database via your terminal.
|
|
</li>
|
|
<li>
|
|
<code>provision</code> creates a <code>~/.pgpass</code> file,
|
|
so <code>psql -U zulip -h localhost</code> works too.
|
|
</li>
|
|
<li>
|
|
<p>
|
|
To connect using a graphical PostgreSQL client
|
|
like <a href="https://www.pgadmin.org/">pgAdmin</a>,
|
|
use the following credentials:
|
|
</p>
|
|
<ul>
|
|
<li>Host: 127.0.0.1 (don't use localhost)</li>
|
|
<li>Maintenance database: zulip</li>
|
|
<li>Username: zulip</li>
|
|
<li>password: stored as <code>local_database_password</code> in <code>zulip/zproject/dev-secrets.conf</code></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|