Remove outdated info from email templates and make consistent. (#3582)

* Remove outdated info from email templates and make consistent.

* Update templates/accuracy_notice_email.html

Co-authored-by: Kyle Ju <kyleju@google.com>

* Update templates/accuracy_notice_email.html

Co-authored-by: Kyle Ju <kyleju@google.com>

* Updated goldens

---------

Co-authored-by: Kyle Ju <kyleju@google.com>
This commit is contained in:
Jason Robbins 2024-01-12 16:11:25 -08:00 коммит произвёл GitHub
Родитель f10e32d793
Коммит 3f670e5aa1
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
16 изменённых файлов: 525 добавлений и 709 удалений

Просмотреть файл

@ -72,10 +72,6 @@ def format_email_body(
stage_info = stage_helpers.get_stage_info_for_templates(fe)
milestone_str = _determine_milestone_string(stage_info['ship_stages'])
moz_link_urls = [
link for link in fe.doc_links
if urllib.parse.urlparse(link).hostname == 'developer.mozilla.org']
formatted_changes = ''
for prop in changes:
prop_name = prop['prop_name']
@ -90,6 +86,8 @@ def format_email_body(
body_data = {
'feature': fe,
'category': core_enums.FEATURE_CATEGORIES[fe.category],
'feature_type': core_enums.FEATURE_TYPES[fe.feature_type],
'stage_info': stage_info,
'should_render_mstone_table': stage_info['should_render_mstone_table'],
'creator_email': fe.creator_email,
@ -98,7 +96,7 @@ def format_email_body(
'milestone': milestone_str,
'status': core_enums.IMPLEMENTATION_STATUS[fe.impl_status_chrome],
'formatted_changes': formatted_changes,
'moz_link_urls': moz_link_urls,
'SITE_URL': settings.SITE_URL,
}
body = render_template(template_path, **body_data)
return body
@ -455,7 +453,7 @@ class NotifyInactiveUsersHandler(basehandlers.FlaskHandler):
def _build_email_tasks(self, users_to_notify):
email_tasks = []
for email in users_to_notify:
body_data = {'site_url': settings.SITE_URL}
body_data = {'SITE_URL': settings.SITE_URL}
html = render_template(self.EMAIL_TEMPLATE_PATH, **body_data)
subject = f'Notice of WebStatus user inactivity for {email}'
email_tasks.append({

Просмотреть файл

@ -147,25 +147,6 @@ class EmailFormattingTest(testing_config.CustomTestCase):
self.assertEqual(body_html,
TESTDATA['test_format_email_body__update_with_changes.html'])
def test_format_email_body__mozdev_links(self):
"""We generate an email body with links to developer.mozilla.org."""
self.fe_1.doc_links = ['https://developer.mozilla.org/look-here']
with test_app.app_context():
body_html = notifier.format_email_body(
'update-feature-email.html', self.template_fe, self.changes)
# TESTDATA.make_golden(body_html, 'test_format_email_body__mozdev_links_mozilla.html')
self.assertEqual(body_html,
TESTDATA['test_format_email_body__mozdev_links_mozilla.html'])
self.fe_1.doc_links = [
'https://hacker-site.org/developer.mozilla.org/look-here']
with test_app.app_context():
body_html = notifier.format_email_body(
'update-feature-email.html', self.template_fe, self.changes)
# TESTDATA.make_golden(body_html, 'test_format_email_body__mozdev_links_non_mozilla.html')
self.assertEqual(body_html,
TESTDATA['test_format_email_body__mozdev_links_non_mozilla.html'])
def test_accumulate_reasons(self):
"""We can accumulate lists of reasons why we sent a message to a user."""
addr_reasons = collections.defaultdict(list)

Просмотреть файл

@ -89,7 +89,7 @@ def build_email_tasks(
'feature': fe,
'stage_info': stage_info,
'should_render_mstone_table': stage_info['should_render_mstone_table'],
'site_url': settings.SITE_URL,
'SITE_URL': settings.SITE_URL,
'milestone': mstone,
'beta_date_str': beta_date_str,
'is_escalated': is_escalated,

Просмотреть файл

@ -1,73 +0,0 @@
<p>
editor_template@example.com updated this feature:
</p>
<p>
<b><a href="https://chromestatus.com/feature/123"
>feature template</a></b>
</p>
<p><b>Components</b>: Blink</p>
<p><b>Implementation status</b>: No active development</p>
<p><b>Estimated milestones</b>:
<table>
<tr><td>Shipping on desktop</td>
<td>100</td></tr>
<tr><td>Shipping on desktop</td>
<td>103</td></tr>
</table>
<table>
</table>
<table>
</table>
<table>
</table>
</p>
<p><b>Changes:</b></p>
<ul>
<li><b>test_prop:</b> <br/><b>old:</b> test old value <br/><b>new:</b> test new value<br/></li><br/>
</ul>
<hr>
<p>Next steps:</p>
<ul>
<li>Check existing
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
>Lighthouse audits</a> for correctness.</li>
</ul>

Просмотреть файл

@ -1,73 +0,0 @@
<p>
editor_template@example.com updated this feature:
</p>
<p>
<b><a href="https://chromestatus.com/feature/123"
>feature template</a></b>
</p>
<p><b>Components</b>: Blink</p>
<p><b>Implementation status</b>: No active development</p>
<p><b>Estimated milestones</b>:
<table>
<tr><td>Shipping on desktop</td>
<td>100</td></tr>
<tr><td>Shipping on desktop</td>
<td>103</td></tr>
</table>
<table>
</table>
<table>
</table>
<table>
</table>
</p>
<p><b>Changes:</b></p>
<ul>
<li><b>test_prop:</b> <br/><b>old:</b> test old value <br/><b>new:</b> test new value<br/></li><br/>
</ul>
<hr>
<p>Next steps:</p>
<ul>
<li>Check existing
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
>Lighthouse audits</a> for correctness.</li>
</ul>

Просмотреть файл

@ -1,74 +1,56 @@
<p>
creator_template@example.com added a new feature:
</p>
<section id="context">
<div>
<b>New</b> feature entry:<br/>
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
>feature template</a>
</div>
</section>
<br/>
<p><b><a href="https://chromestatus.com/feature/123"
>feature template</a></b>
</p>
<p><b>Components</b>: Blink</p>
<p><b>Implementation status</b>: No active development</p>
<p><b>Estimated milestones</b>:
<section id="details">
<div><b>New details entered by creator_template@example.com:</div>
<table>
<tr><td>Shipping on desktop</td>
<td>100</td></tr>
<tr><td>Shipping on desktop</td>
<td>103</td></tr>
</table>
<table>
<tr>
<td>Summary:</td>
<td>sum</td>
</tr>
<tr>
<td>Unlisted:</td>
<td>No</td>
</tr>
<tr>
<td>Breaking change:</td>
<td>No</td>
</tr>
<tr>
<td>Feature owners:</td>
<td>feature_owner@example.com</td>
</tr>
<tr>
<td>Cc:</td>
<td></td>
</tr>
<tr>
<td>Blink component:</td>
<td>Blink</td>
</tr>
<tr>
<td>Category:</td>
<td>Web Components</td>
</tr>
<tr>
<td>Feature type:</td>
<td>New feature incubation</td>
</tr>
</table>
</section>
<table>
</table>
<table>
</table>
</p>
<hr>
<p>Next steps:</p>
<ul>
<li>Try the API, write a sample, provide early feedback to eng.</li>
<li>Consider authoring a new article/update for /web.</li>
<li>Write a
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/docs/recipes/custom-audit"
>new Lighthouse audit</a>. This can help drive adoption of an API
over time.
</li>
<li>Add a sample to https://github.com/GoogleChrome/samples (see
<a href="https://github.com/GoogleChrome/samples#contributing-samples"
>contributing</a>).
</li>
<li>Add demo links and other details to the
<a href="https://chromestatus.com/guide/edit/123"
>ChromeStatus feature entry</a>.
</li>
</ul>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<div><a href="http://127.0.0.1:8888/feature/123"
class="button-like"
>View feature details</a></div>
</section>

Просмотреть файл

@ -1,73 +1,24 @@
<p>
editor_template@example.com updated this feature:
</p>
<p>
<b><a href="https://chromestatus.com/feature/123"
>feature template</a></b>
</p>
<p><b>Components</b>: Blink</p>
<p><b>Implementation status</b>: No active development</p>
<p><b>Estimated milestones</b>:
<table>
<tr><td>Shipping on desktop</td>
<td>100</td></tr>
<tr><td>Shipping on desktop</td>
<td>103</td></tr>
</table>
<table>
</table>
<section id="context">
<div>
<b>Updated</b> feature entry:<br/>
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
>feature template</a>
</div>
</section>
<br/>
<table>
</table>
<section id="details">
<div><b>Updates made by editor_template@example.com:</b></div>
<ul>
<li>None</li>
</ul>
</section>
<table>
</table>
</p>
<p><b>Changes:</b></p>
<ul>
<li>None</li>
</ul>
<hr>
<p>Next steps:</p>
<ul>
<li>Check existing
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
>Lighthouse audits</a> for correctness.</li>
</ul>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<div><a href="http://127.0.0.1:8888/feature/123"
class="button-like"
>View feature details</a></div>
</section>

Просмотреть файл

@ -1,73 +1,24 @@
<p>
editor_template@example.com updated this feature:
</p>
<p>
<b><a href="https://chromestatus.com/feature/123"
>feature template</a></b>
</p>
<p><b>Components</b>: Blink</p>
<p><b>Implementation status</b>: No active development</p>
<p><b>Estimated milestones</b>:
<table>
<tr><td>Shipping on desktop</td>
<td>100</td></tr>
<tr><td>Shipping on desktop</td>
<td>103</td></tr>
</table>
<table>
</table>
<section id="context">
<div>
<b>Updated</b> feature entry:<br/>
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
>feature template</a>
</div>
</section>
<br/>
<table>
</table>
<section id="details">
<div><b>Updates made by editor_template@example.com:</b></div>
<ul>
<li><b>test_prop:</b> <br/><b>old:</b> test old value <br/><b>new:</b> test new value<br/></li><br/>
</ul>
</section>
<table>
</table>
</p>
<p><b>Changes:</b></p>
<ul>
<li><b>test_prop:</b> <br/><b>old:</b> test old value <br/><b>new:</b> test new value<br/></li><br/>
</ul>
<hr>
<p>Next steps:</p>
<ul>
<li>Check existing
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
>Lighthouse audits</a> for correctness.</li>
</ul>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<div><a href="http://127.0.0.1:8888/feature/123"
class="button-like"
>View feature details</a></div>
</section>

Просмотреть файл

@ -1,23 +1,34 @@
<p>
In order to ensure feature data accuracy, this notification has been
escalated to extended contributors of this feature and to the WebStatus team.
</p>
<p>
You are receiving this notification because you are listed as
a contributor
of the following ChromeStatus feature entry:
</p>
</br>
<p>
<strong>feature one</strong>
</p>
</br>
<p>
Your feature is slated to launch soon for m100:
</p>
</br>
<p>
<section id="context">
<div>
<b>Your update is needed</b> on feature entry:<br/>
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
>feature one</a>
</div>
</section>
<br/>
<section id="why-triggered">
<p>
In order to ensure feature data accuracy, this notification has been
escalated to extended contributors of this feature and to the WebStatus team.
</p>
<p>
You are receiving this notification because you are listed as
a contributor
of the ChromeStatus feature entry.
</p>
</section>
<br/>
<section id="details">
<p>Your feature is slated to launch soon for m100:</p>
<p>
<table>
@ -56,20 +67,24 @@
</table>
</p>
</br>
<p>
Your feature entry is an important resource for
cross functional teams that help drive adoption of new features and
enterprise IT admins who might be affected by web platform changes.
</p>
</br>
<p>
We need to know whether your plans are changing or staying
the same. <strong>Please click the link below to update and confirm key
fields of your feature entry.</strong>
</p>
</br>
<b><a href="http://127.0.0.1:8888/guide/verify_accuracy/123">
http://127.0.0.1:8888/guide/verify_accuracy/123
</a></b>
</p>
<p>
Your feature entry is an important resource for
cross functional teams that help drive adoption of new features and
enterprise IT admins who might be affected by web platform changes.
</p>
<p>
We need to know whether your plans are changing or staying
the same. <strong>Please click the link below to update and confirm key
fields of your feature entry.</strong>
</p>
</section>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<div><a href="http://127.0.0.1:8888/guide/verify_accuracy/123"
class="button-like">
Verify feature accuracy</a></div>
</section>

Просмотреть файл

@ -1,20 +1,30 @@
<p>
You are receiving this notification because you are listed as
an owner
of the following ChromeStatus feature entry:
</p>
</br>
<p>
<strong>feature one</strong>
</p>
</br>
<p>
Your feature is slated to launch soon for m100:
</p>
</br>
<p>
<section id="context">
<div>
<b>Your update is needed</b> on feature entry:<br/>
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
>feature one</a>
</div>
</section>
<br/>
<section id="why-triggered">
<p>
You are receiving this notification because you are listed as
an owner
of the ChromeStatus feature entry.
</p>
</section>
<br/>
<section id="details">
<p>Your feature is slated to launch soon for m100:</p>
<p>
<table>
@ -52,20 +62,24 @@
</table>
</p>
</br>
<p>
Your feature entry is an important resource for
cross functional teams that help drive adoption of new features and
enterprise IT admins who might be affected by web platform changes.
</p>
</br>
<p>
We need to know whether your plans are changing or staying
the same. <strong>Please click the link below to update and confirm key
fields of your feature entry.</strong>
</p>
</br>
<b><a href="http://127.0.0.1:8888/guide/verify_accuracy/123">
http://127.0.0.1:8888/guide/verify_accuracy/123
</a></b>
</p>
<p>
Your feature entry is an important resource for
cross functional teams that help drive adoption of new features and
enterprise IT admins who might be affected by web platform changes.
</p>
<p>
We need to know whether your plans are changing or staying
the same. <strong>Please click the link below to update and confirm key
fields of your feature entry.</strong>
</p>
</section>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<div><a href="http://127.0.0.1:8888/guide/verify_accuracy/123"
class="button-like">
Verify feature accuracy</a></div>
</section>

Просмотреть файл

@ -1,87 +1,111 @@
<p>Your feature is slated to ship in M100 which will reach the
beta channel on 2022-09-21.</p>
<p>About one week before that date, the summary field of your feature
entry will be used verbatim (in blog posts and enterprise release
notes) to announce this new milestone. These posts are widely read by
web developers and IT admins, and they are sometimes used as the basis
for popular press articles.</p>
<h2>1. Locate your releases on the roadmap.</h2>
<p>Please check where your feature appears on the
<a href="http://127.0.0.1:8888/roadmap">roadmap page</a>.
If your feature does not appear, you may need to fill in
milestone values or update the feature's implementation status.
Be sure that you have gotten all needed approvals.</p>
<p>Features can appear multiple times in different milestones or
different sections depending on how they are released. Check that
the sequence of releases for your feature makes sense from the
perspective of a web developer. For example, dev trials should come
before the feature is enabled by default.</p>
<h2>2. Refine your feature summary.</h2>
<p>Please take a look at
<a href="https://developer.chrome.com/tags/beta/"
>past blog posts</a> and
<a href="https://support.google.com/chrome/a/answer/7679408"
>enterprise release notes</a>,
and then revise your feature summary to prepare it for
publication.</p>
<p>Here's what we have now for publication:</p>
<h3>feature one</h3>
<p>sum</p>
<p><a href="http://127.0.0.1:8888/guide/edit/123">Edit your feature</a></p>
<section id="context">
<div>
<b>Pre-publication notice</b> for feature entry:<br/>
<a class="feature-name" href="http://127.0.0.1:8888/feature/123"
>feature one</a>
</div>
</section>
<br/>
<section id="details">
<div><b>It's really happening:</b></div>
<p>Guidelines for writing the summary:</p>
<ul>
<p>Your feature is slated to ship in M100 which will reach the
beta channel on 2022-09-21.</p>
<li>Provide a one sentence description followed by one or two lines
explaining how this feature works and how it helps web
developers.</li>
<li>Write from a web developer's point of view, not a browser developer's.</li>
<li>Do not use markup or markdown because they will not be rendered.</li>
<li>Do not use hard or soft returns because they will not be rendered.</li>
<li>Avoid phrases such as "a new feature". Every feature on the site
was new when it was created. You don't need to repeat that
information.</li>
<li>The first line should be a sentence fragment beginning with a
verb. (See below.) This is the rare exception to the requirement to
always use complete sentences.</li>
<li>"Conformance with spec" is not adequate. Most if not all
features are in conformance to spec.</li>
</ul>
<p>Example:</p>
<p style="border: 1px solid #444; padding: 1em; margin: 1em">
Splits the HTTP cache using the top frame origin (and possibly
subframe origin) to prevent documents from one origin from knowing
whether a resource from another origin was cached. The HTTP cache is
currently one per profile, with a single namespace for all resources
and subresources regardless of origin or renderer process. Splitting
the cache on top frame origins helps the browser deflect
side-channel attacks where one site can detect resources in another
site's cache.
</p>
<p>About one week before that date, the summary field of your feature
entry will be used verbatim (in blog posts and enterprise release
notes) to announce this new milestone. These posts are widely read by
web developers and IT admins, and they are sometimes used as the basis
for popular press articles.</p>
</section>
<br/>
<h2>3. Reach out if needed.</h2>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<p>If you have questions about approvals, reach out to the specific
approving teams or to the API Owners on blink-dev@chromium.org.</p>
<h2>1. Locate your releases on the roadmap.</h2>
<p>Please check where your feature appears on the
<a href="http://127.0.0.1:8888/roadmap">roadmap page</a>.
If your feature does not appear, you may need to fill in
milestone values or update the feature's implementation status.
Be sure that you have gotten all needed approvals.</p>
<p>If you have questions about chromestatus.com,
<a href="https://github.com/GoogleChrome/chromium-dashboard/issues"
>file an issue</a>
or email us at webstatus@google.com.</p>
<p>Features can appear multiple times in different milestones or
different sections depending on how they are released. Check that
the sequence of releases for your feature makes sense from the
perspective of a web developer. For example, dev trials should come
before the feature is enabled by default.</p>
<h2>2. Refine your feature summary.</h2>
<p>Please take a look at
<a href="https://developer.chrome.com/tags/beta/"
>past blog posts</a> and
<a href="https://support.google.com/chrome/a/answer/7679408"
>enterprise release notes</a>,
and then revise your feature summary to prepare it for
publication.</p>
<p>Here's what we have now for publication:</p>
<div style="background:#eee">
<h3>feature one</h3>
<p>sum</p>
</div>
<p><a href="http://127.0.0.1:8888/feature/123" class="button-like"
>Edit your feature</a></p>
<p>Guidelines for writing the summary:</p>
<ul>
<li>Provide a one sentence description followed by one or two lines
explaining how this feature works and how it helps web
developers.</li>
<li>Write from a web developer's point of view, not a browser
developer's.</li>
<li>Do not use markup or markdown because they will not be rendered.</li>
<li>Do not use hard or soft returns because they will not be rendered.</li>
<li>Avoid phrases such as "a new feature". Every feature on the site
was new when it was created. You don't need to repeat that
information.</li>
<li>The first line should be a sentence fragment beginning with a
verb. (See below.) This is the rare exception to the requirement to
always use complete sentences.</li>
<li>"Conformance with spec" is not adequate. Most if not all
features are in conformance to spec.</li>
</ul>
<p>Example:</p>
<p style="border: 1px solid #444; padding: 1em; margin: 1em">
Splits the HTTP cache using the top frame origin (and possibly
subframe origin) to prevent documents from one origin from knowing
whether a resource from another origin was cached. The HTTP cache is
currently one per profile, with a single namespace for all resources
and subresources regardless of origin or renderer process. Splitting
the cache on top frame origins helps the browser deflect
side-channel attacks where one site can detect resources in another
site's cache.
</p>
<h2>3. Reach out if needed.</h2>
<p>If you have questions about approvals, reach out to the specific
approving teams or to the API Owners on blink-dev@chromium.org.</p>
<p>If you have questions about chromestatus.com,
<a href="https://github.com/GoogleChrome/chromium-dashboard/issues"
>file an issue</a>
or email us at webstatus@google.com.</p>
</section>

Просмотреть файл

@ -1,37 +1,52 @@
{% if is_escalated %}<p>
In order to ensure feature data accuracy, this notification has been
escalated to extended contributors of this feature and to the WebStatus team.
</p>
{% endif %}<p>
You are receiving this notification because you are listed as
a{% if not is_escalated %}n owner{% endif %}{% if is_escalated %} contributor{% endif %}
of the following ChromeStatus feature entry:
</p>
</br>
<p>
<strong>{{feature.name}}</strong>
</p>
</br>
<p>
Your feature is slated to launch soon for m{{milestone}}:
</p>
</br>
<p>
{% include "estimated-milestones-table.html" %}
</p>
</br>
<p>
Your feature entry is an important resource for
cross functional teams that help drive adoption of new features and
enterprise IT admins who might be affected by web platform changes.
</p>
</br>
<p>
We need to know whether your plans are changing or staying
the same. <strong>Please click the link below to update and confirm key
fields of your feature entry.</strong>
</p>
</br>
<b><a href="{{site_url}}guide/verify_accuracy/{{id}}">
{{site_url}}guide/verify_accuracy/{{id}}
</a></b>
<section id="context">
<div>
<b>Your update is needed</b> on feature entry:<br/>
<a class="feature-name" href="{{SITE_URL}}feature/{{id}}"
>{{feature.name}}</a>
</div>
</section>
<br/>
<section id="why-triggered">
{% if is_escalated %}
<p>
In order to ensure feature data accuracy, this notification has been
escalated to extended contributors of this feature and to the WebStatus team.
</p>
{% endif %}
<p>
You are receiving this notification because you are listed as
a{% if not is_escalated %}n owner{% endif %}{% if is_escalated %} contributor{% endif %}
of the ChromeStatus feature entry.
</p>
</section>
<br/>
<section id="details">
<p>Your feature is slated to launch soon for m{{milestone}}:</p>
<p>
{% include "estimated-milestones-table.html" %}
</p>
<p>
Your feature entry is an important resource for
cross functional teams that help drive adoption of new features and
enterprise IT admins who might be affected by web platform changes.
</p>
<p>
We need to know whether your plans are changing or staying
the same. <strong>Please click the link below to update and confirm key
fields of your feature entry.</strong>
</p>
</section>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<div><a href="{{SITE_URL}}guide/verify_accuracy/{{id}}"
class="button-like">
Verify feature accuracy</a></div>
</section>

Просмотреть файл

@ -5,7 +5,7 @@
</br>
<p>
If you still need the ability to create features on ChromeStatus.com, signing
into <a href="{{site_url}}">{{site_url}}</a> with this email will avoid any
into <a href="{{SITE_URL}}">{{SITE_URL}}</a> with this email will avoid any
disruption in your access.
</p>
</br>

Просмотреть файл

@ -1,32 +1,56 @@
<p>
{{creator_email}} added a new feature:
</p>
<section id="context">
<div>
<b>New</b> feature entry:<br/>
<a class="feature-name" href="{{SITE_URL}}feature/{{id}}"
>{{feature.name}}</a>
</div>
</section>
<br/>
<p><b><a href="https://chromestatus.com/feature/{{id}}"
>{{feature.name}}</a></b>
</p>
<p><b>Components</b>: {{feature.blink_components|join(", ")}}</p>
<p><b>Implementation status</b>: {{status}}</p>
<p><b>Estimated milestones</b>:
{% include "estimated-milestones-table.html" %}
</p>
<hr>
<p>Next steps:</p>
<ul>
<li>Try the API, write a sample, provide early feedback to eng.</li>
<li>Consider authoring a new article/update for /web.</li>
<li>Write a
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/docs/recipes/custom-audit"
>new Lighthouse audit</a>. This can help drive adoption of an API
over time.
</li>
<li>Add a sample to https://github.com/GoogleChrome/samples (see
<a href="https://github.com/GoogleChrome/samples#contributing-samples"
>contributing</a>).
</li>
<li>Add demo links and other details to the
<a href="https://chromestatus.com/guide/edit/{{id}}"
>ChromeStatus feature entry</a>.
</li>
</ul>
<section id="details">
<div><b>New details entered by {{feature.creator_email}}:</div>
<table>
<tr>
<td>Summary:</td>
<td>{{feature.summary}}</td>
</tr>
<tr>
<td>Unlisted:</td>
<td>{% if feature.unlisted %}Yes{% else %}No{% endif %}</td>
</tr>
<tr>
<td>Breaking change:</td>
<td>{% if feature.breaking_change %}Yes{% else %}No{% endif %}</td>
</tr>
<tr>
<td>Feature owners:</td>
<td>{{feature.owner_emails|join(", ")}}</td>
</tr>
<tr>
<td>Cc:</td>
<td>{{feature.cc_emails|join(", ")}}</td>
</tr>
<tr>
<td>Blink component:</td>
<td>{{feature.blink_components|join(", ")}}</td>
</tr>
<tr>
<td>Category:</td>
<td>{{category}}</td>
</tr>
<tr>
<td>Feature type:</td>
<td>{{feature_type}}</td>
</tr>
</table>
</section>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<div><a href="{{SITE_URL}}feature/{{id}}"
class="button-like"
>View feature details</a></div>
</section>

Просмотреть файл

@ -1,87 +1,111 @@
<p>Your feature is slated to ship in M{{milestone}} which will reach the
beta channel on {{beta_date_str}}.</p>
<p>About one week before that date, the summary field of your feature
entry will be used verbatim (in blog posts and enterprise release
notes) to announce this new milestone. These posts are widely read by
web developers and IT admins, and they are sometimes used as the basis
for popular press articles.</p>
<h2>1. Locate your releases on the roadmap.</h2>
<p>Please check where your feature appears on the
<a href="{{site_url}}roadmap">roadmap page</a>.
If your feature does not appear, you may need to fill in
milestone values or update the feature's implementation status.
Be sure that you have gotten all needed approvals.</p>
<p>Features can appear multiple times in different milestones or
different sections depending on how they are released. Check that
the sequence of releases for your feature makes sense from the
perspective of a web developer. For example, dev trials should come
before the feature is enabled by default.</p>
<h2>2. Refine your feature summary.</h2>
<p>Please take a look at
<a href="https://developer.chrome.com/tags/beta/"
>past blog posts</a> and
<a href="https://support.google.com/chrome/a/answer/7679408"
>enterprise release notes</a>,
and then revise your feature summary to prepare it for
publication.</p>
<p>Here's what we have now for publication:</p>
<h3>{{feature.name}}</h3>
<p>{{feature.summary}}</p>
<p><a href="{{site_url}}guide/edit/{{id}}">Edit your feature</a></p>
<section id="context">
<div>
<b>Pre-publication notice</b> for feature entry:<br/>
<a class="feature-name" href="{{SITE_URL}}feature/{{id}}"
>{{feature.name}}</a>
</div>
</section>
<br/>
<section id="details">
<div><b>It's really happening:</b></div>
<p>Guidelines for writing the summary:</p>
<ul>
<p>Your feature is slated to ship in M{{milestone}} which will reach the
beta channel on {{beta_date_str}}.</p>
<li>Provide a one sentence description followed by one or two lines
explaining how this feature works and how it helps web
developers.</li>
<li>Write from a web developer's point of view, not a browser developer's.</li>
<li>Do not use markup or markdown because they will not be rendered.</li>
<li>Do not use hard or soft returns because they will not be rendered.</li>
<li>Avoid phrases such as "a new feature". Every feature on the site
was new when it was created. You don't need to repeat that
information.</li>
<li>The first line should be a sentence fragment beginning with a
verb. (See below.) This is the rare exception to the requirement to
always use complete sentences.</li>
<li>"Conformance with spec" is not adequate. Most if not all
features are in conformance to spec.</li>
</ul>
<p>Example:</p>
<p style="border: 1px solid #444; padding: 1em; margin: 1em">
Splits the HTTP cache using the top frame origin (and possibly
subframe origin) to prevent documents from one origin from knowing
whether a resource from another origin was cached. The HTTP cache is
currently one per profile, with a single namespace for all resources
and subresources regardless of origin or renderer process. Splitting
the cache on top frame origins helps the browser deflect
side-channel attacks where one site can detect resources in another
site's cache.
</p>
<p>About one week before that date, the summary field of your feature
entry will be used verbatim (in blog posts and enterprise release
notes) to announce this new milestone. These posts are widely read by
web developers and IT admins, and they are sometimes used as the basis
for popular press articles.</p>
</section>
<br/>
<h2>3. Reach out if needed.</h2>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<p>If you have questions about approvals, reach out to the specific
approving teams or to the API Owners on blink-dev@chromium.org.</p>
<h2>1. Locate your releases on the roadmap.</h2>
<p>Please check where your feature appears on the
<a href="{{SITE_URL}}roadmap">roadmap page</a>.
If your feature does not appear, you may need to fill in
milestone values or update the feature's implementation status.
Be sure that you have gotten all needed approvals.</p>
<p>If you have questions about chromestatus.com,
<a href="https://github.com/GoogleChrome/chromium-dashboard/issues"
>file an issue</a>
or email us at webstatus@google.com.</p>
<p>Features can appear multiple times in different milestones or
different sections depending on how they are released. Check that
the sequence of releases for your feature makes sense from the
perspective of a web developer. For example, dev trials should come
before the feature is enabled by default.</p>
<h2>2. Refine your feature summary.</h2>
<p>Please take a look at
<a href="https://developer.chrome.com/tags/beta/"
>past blog posts</a> and
<a href="https://support.google.com/chrome/a/answer/7679408"
>enterprise release notes</a>,
and then revise your feature summary to prepare it for
publication.</p>
<p>Here's what we have now for publication:</p>
<div style="background:#eee">
<h3>{{feature.name}}</h3>
<p>{{feature.summary}}</p>
</div>
<p><a href="{{SITE_URL}}feature/{{id}}" class="button-like"
>Edit your feature</a></p>
<p>Guidelines for writing the summary:</p>
<ul>
<li>Provide a one sentence description followed by one or two lines
explaining how this feature works and how it helps web
developers.</li>
<li>Write from a web developer's point of view, not a browser
developer's.</li>
<li>Do not use markup or markdown because they will not be rendered.</li>
<li>Do not use hard or soft returns because they will not be rendered.</li>
<li>Avoid phrases such as "a new feature". Every feature on the site
was new when it was created. You don't need to repeat that
information.</li>
<li>The first line should be a sentence fragment beginning with a
verb. (See below.) This is the rare exception to the requirement to
always use complete sentences.</li>
<li>"Conformance with spec" is not adequate. Most if not all
features are in conformance to spec.</li>
</ul>
<p>Example:</p>
<p style="border: 1px solid #444; padding: 1em; margin: 1em">
Splits the HTTP cache using the top frame origin (and possibly
subframe origin) to prevent documents from one origin from knowing
whether a resource from another origin was cached. The HTTP cache is
currently one per profile, with a single namespace for all resources
and subresources regardless of origin or renderer process. Splitting
the cache on top frame origins helps the browser deflect
side-channel attacks where one site can detect resources in another
site's cache.
</p>
<h2>3. Reach out if needed.</h2>
<p>If you have questions about approvals, reach out to the specific
approving teams or to the API Owners on blink-dev@chromium.org.</p>
<p>If you have questions about chromestatus.com,
<a href="https://github.com/GoogleChrome/chromium-dashboard/issues"
>file an issue</a>
or email us at webstatus@google.com.</p>
</section>

Просмотреть файл

@ -1,41 +1,24 @@
<p>
{{updater_email}} updated this feature:
</p>
<section id="context">
<div>
<b>Updated</b> feature entry:<br/>
<a class="feature-name" href="{{SITE_URL}}feature/{{id}}"
>{{feature.name}}</a>
</div>
</section>
<br/>
<p>
<b><a href="https://chromestatus.com/feature/{{id}}"
>{{feature.name}}</a></b>
</p>
<p><b>Components</b>: {{feature.blink_components|join(", ")}}</p>
<p><b>Implementation status</b>: {{status}}</p>
<p><b>Estimated milestones</b>:
{% include "estimated-milestones-table.html" %}
</p>
<section id="details">
<div><b>Updates made by {{updater_email}}:</b></div>
<ul>
{{formatted_changes|safe}}
</ul>
</section>
<p><b>Changes:</b></p>
<ul>
{{formatted_changes|safe}}
</ul>
<hr>
<p>Next steps:</p>
<ul>
<li>Check existing
<a href="https://github.com/GoogleChrome/lighthouse/tree/main/core/audits"
>Lighthouse audits</a> for correctness.</li>
{% if moz_link_urls %}
<li>Review the following MDN pages and
<a href="https://docs.google.com/document/d/10jDTZeW914ahqWfxwm9_WXJWvyAKT6EcDIlbI3w0BKY/edit#heading=h.frumfipthu7"
>subscribe to updates</a> for them.
<ul>
{% for url in moz_link_urls %}
<li>{{url}}</li>
{% endfor %}
</ul>
</li>
{% endif %}
</ul>
<section id="next-steps">
<div><b>Your next steps:</b></div>
<div><a href="{{SITE_URL}}feature/{{id}}"
class="button-like"
>View feature details</a></div>
</section>