Platform/Layout: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Roadmap and Status: Update roadmap and status information)
(Add a variety of information on bugzilla whiteboard tags and contributor resources)
Line 1: Line 1:
== About  ==
= About  =
The Platform Layout Team is primarily responsible for [http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29 Gecko's] style system and layout engine. We strive to build and maintain an engine that is both high-performance and standards-compliant,  while providing support for features unique to Firefox.  
The Platform Layout Team is primarily responsible for [http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29 Gecko's] style system and layout engine. We strive to build and maintain an engine that is both high-performance and standards-compliant,  while providing support for features unique to Firefox.  


Line 10: Line 10:
* SVG
* SVG


== Contact Information ==
= Contact Information =


* '''Matrix/Riot.IM''': [https://chat.mozilla.org/#/room/#layout:mozilla.org #layout on chat.mozilla.org]
* '''Matrix/Riot.IM''': [https://chat.mozilla.org/#/room/#layout:mozilla.org #layout on chat.mozilla.org]
* '''Slack''': #layout on Slack (MoCo employees only)
* '''Slack''': #layout on Slack (MoCo employees only)
* '''E-mail''': [https://lists.mozilla.org/listinfo/dev-tech-layout dev-tech-layout@lists.mozilla.org]
* '''E-mail''': [https://lists.mozilla.org/listinfo/dev-platform Subscribe to dev-platform@lists.mozilla.org]


=== Communications Channel Guidelines ===
== Communications Channel Guidelines ==


* Synchronous discussions about engineering-specific topics (bugs, patches, code reviews, architectural issues, etc.) should happen in Matrix/Riot.IM.
* Synchronous discussions about engineering-specific topics (bugs, patches, code reviews, architectural issues, etc.) should happen in [https://chat.mozilla.org/#/room/#layout:mozilla.org #layout on chat.mozilla.org].
* Synchronous discussions about team operations, announcements, strategy, roadmap, and other banter tend to happen in Slack (private to Mozilla employees and NDA'd contributors), unless such communications can ''and should'' be made public.
* Synchronous discussions about team operations, announcements, strategy, roadmap, and other banter tend to happen in Slack (private to Mozilla employees and NDA'd contributors), unless such communications can ''and should'' be made public.


== Roadmap and Status ==
= Roadmap and Status =


This [https://trello.com/b/k1vqA7Kk/firefox-layout-project-tracking project tracker on Trello] contains all work-in-progress and backlog items that the team is considering for the near future. Note that this list is subject to change at any time.
This [https://trello.com/b/k1vqA7Kk/firefox-layout-project-tracking project tracker on Trello] contains all work-in-progress and backlog items that the team is considering for the near future. Note that this list is subject to change at any time.
Line 27: Line 27:
For more detailed information, [https://docs.google.com/document/d/1ySAAbTiLGonljjkM01ZIyz1P_W1A2dk5Cj_oi-550mo/edit notes from the team's weekly standup meetings] are available.
For more detailed information, [https://docs.google.com/document/d/1ySAAbTiLGonljjkM01ZIyz1P_W1A2dk5Cj_oi-550mo/edit notes from the team's weekly standup meetings] are available.


=== Backlog Tracking in Bugzilla ===
== Backlog Tracking in Bugzilla ==
For more detailed backlog and development information, check the status of things in Bugzilla.


We use the <code>[layout:backlog]</code> tag in the whiteboard field on bugs, tasks and enhancements to track work items that are either under active development, or being considered for development within the next year.
We use the <code>[layout:backlog]</code> tag in the whiteboard field on bugs, tasks and enhancements to track work items that are either under active development, or being considered for development within the next year.
Line 39: Line 40:
* '''P5''' — No plans to work on this item, but will accept contributor patches.
* '''P5''' — No plans to work on this item, but will accept contributor patches.


== Release Notes ==
=== Commonly-Used Backlog Queries ===
 
* [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&classification=Client%20Software&classification=Developer%20Infrastructure&classification=Components&classification=Server%20Software&classification=Other&priority=P1&resolution=---&status_whiteboard_type=allwordssubstr&product=Core&component=CSS%20Parsing%20and%20Computation&component=CSS%20Transitions%20and%20Animations&component=DOM%3A%20CSS%20Object%20Model&component=Layout&component=Layout%3A%20Block%20and%20Inline&component=Layout%3A%20Columns&component=Layout%3A%20Flexbox&component=Layout%3A%20Floats&component=Layout%3A%20Form%20Controls&component=Layout%3A%20Generated%20Content%2C%20Lists%2C%20and%20Counters&component=Layout%3A%20Grid&component=Layout%3A%20Images%2C%20Video%2C%20and%20HTML%20Frames&component=Layout%3A%20Positioned&component=Layout%3A%20Ruby&component=Layout%3A%20Scrolling%20and%20Overflow&component=Layout%3A%20Tables&component=Layout%3A%20Text%20and%20Fonts&component=Print%20Preview&component=Printing%3A%20Output&component=Printing%3A%20Setup&component=SVG&status_whiteboard=%5Blayout%3Abacklog All P1 Backlog Items]
 
= Release Notes =


We publish [https://wiki.mozilla.org/Platform/Layout/ReleaseNotes notes and lists of all fixed layout bugs] for a given release. These release notes call out items of particular importance (new features, webcompat fixes) that may be helpful for web content authors.
We publish [https://wiki.mozilla.org/Platform/Layout/ReleaseNotes notes and lists of all fixed layout bugs] for a given release. These release notes call out items of particular importance (new features, webcompat fixes) that may be helpful for web content authors.
= Bugs and Bugzilla =


== Filing a Bug ==
== Filing a Bug ==
Line 69: Line 76:
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=SVG SVG]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=SVG SVG]


== Bug Triage Process & Guidelines ==
== Triage Process & Guidelines ==
 
If you're curious about how we triage and prioritize bugs, please visit [[Platform/Layout/Triage|our triage page]] for more information. This page includes information about our triage process and guidelines, as well as useful triage-related bug queries.
 
== Whiteboard Tags ==
 
We use the following strings (tags) in the whiteboard field on bugs in Bugzilla to track important metadata:
 
* <code>[layout:backlog]</code>: Indicates the bug is in our backlog, and is either under active development, or planned development for the coming year (see bug priority for approximate timeline).
* <code>[layout:triage-discuss]</code>: Indicates that we plan to discuss this bug in more detail at one of our internal, bi-weekly triage meetings. Usually this is set if the severity level is disputed, or in question, or other triage details of the bug are unclear.


Please visit [[Platform/Layout/Triage|our triage page]] for more information about our triage process and guidelines, as well as useful triage-related bug queries.
= Contributing =


== Contributing ==
We always welcome new contributors! Here are a few things you can do to get started:


To get started, read the [https://wiki.mozilla.org/Gecko:Overview programmer's primer on Gecko].
* Read the [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build instructions for building Firefox] on developer.mozilla.org.
* Read the [https://wiki.mozilla.org/Gecko:Overview programmer's primer on Gecko], particularly the [https://wiki.mozilla.org/Gecko:Overview#Layout layout section].
* Get familiar with the [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style Mozilla code style guidelines].


=== Starter Bugs ===
== Starter Bugs ==


If you're looking for a good first bug to fix, the following resources may help:
If you're looking for a good first bug to fix, the following resources may help:

Revision as of 23:21, 20 May 2020

About

The Platform Layout Team is primarily responsible for Gecko's style system and layout engine. We strive to build and maintain an engine that is both high-performance and standards-compliant, while providing support for features unique to Firefox.

The team's technical domains within Gecko include:

  • CSS animations and transitions
  • CSS parsing and computation
  • Layout (of all types, including block and inline, positioned, columns, floats, flexbox, grid, form controls, images, video, tables, and text)
  • Printing
  • SVG

Contact Information

Communications Channel Guidelines

  • Synchronous discussions about engineering-specific topics (bugs, patches, code reviews, architectural issues, etc.) should happen in #layout on chat.mozilla.org.
  • Synchronous discussions about team operations, announcements, strategy, roadmap, and other banter tend to happen in Slack (private to Mozilla employees and NDA'd contributors), unless such communications can and should be made public.

Roadmap and Status

This project tracker on Trello contains all work-in-progress and backlog items that the team is considering for the near future. Note that this list is subject to change at any time.

For more detailed information, notes from the team's weekly standup meetings are available.

Backlog Tracking in Bugzilla

For more detailed backlog and development information, check the status of things in Bugzilla.

We use the [layout:backlog] tag in the whiteboard field on bugs, tasks and enhancements to track work items that are either under active development, or being considered for development within the next year.

We use bug priorities to indicate how soon we plan to work on a bug, task or enhancement according to the following classifications (assuming the bug also has the [layout:backlog] whiteboard tag):

  • P1 — Under active development, or planned development for the current release cycle.
  • P2 — Near-term backlog item, planned to work on within the next 2-3 months.
  • P3 — Longer-term backlog item, planned to work on within the next year.
  • P4 — N/A
  • P5 — No plans to work on this item, but will accept contributor patches.

Commonly-Used Backlog Queries

Release Notes

We publish notes and lists of all fixed layout bugs for a given release. These release notes call out items of particular importance (new features, webcompat fixes) that may be helpful for web content authors.

Bugs and Bugzilla

Filing a Bug

Open a bug under "Product: Core", using one of the following components:

Triage Process & Guidelines

If you're curious about how we triage and prioritize bugs, please visit our triage page for more information. This page includes information about our triage process and guidelines, as well as useful triage-related bug queries.

Whiteboard Tags

We use the following strings (tags) in the whiteboard field on bugs in Bugzilla to track important metadata:

  • [layout:backlog]: Indicates the bug is in our backlog, and is either under active development, or planned development for the coming year (see bug priority for approximate timeline).
  • [layout:triage-discuss]: Indicates that we plan to discuss this bug in more detail at one of our internal, bi-weekly triage meetings. Usually this is set if the severity level is disputed, or in question, or other triage details of the bug are unclear.

Contributing

We always welcome new contributors! Here are a few things you can do to get started:

Starter Bugs

If you're looking for a good first bug to fix, the following resources may help: