Compiling status reports - best practices

The status reports git repository where merges and reviewing happens:
https://github.com/freebsd/freebsd-quarterly

E-mail address for report submissions:
quarterly-submissions@FreeBSD.org

0) Timeline
  - The months of January, April, July and October are dedicated to
    putting together the reports submitted during the precedent month.
    This can include waiting for late submissions.
  - portmgr@ entries default to the extended headline, because of the
    overlap between status reports and quarterly ports branches.
  - All entries can have the deadline extended by emailing
    quarterly-submissions@ up until the extended deadline.
  - Reviewing of submitted reports by people not part of the status team
    should be essentially complete by mid-January/April/July/October
    (third-party review slush). That is, barring typos or other light
    copyediting, the status team should be able to start assembling the
    submissions soon after the 15th. Note that this is not a complete
    freeze, and the status team may still be able to accept reviews then.
  - Status report publication is done during the same months as soon as
    the report is ready.

  - First Quarter:
      - First call for reports: March 1st
      - 2 weeks left reminder: March 15th
      - Last reminder: March 24th
      - Standard deadline: March 31st
      - Extended deadline: April 8th
      - Third-party review slush: April 15th

  - Second Quarter:
      - First call for reports: June 1st
      - 2 weeks left reminder: June 15th
      - Last reminder: June 24th
      - Standard deadline: June 30th
      - Extended deadline: July 8th
      - Third-party review slush: July 15th

  - Third Quarter:
      - First call for reports: September 1st
      - 2 weeks left reminder: September 15th
      - Last reminder: September 24th
      - Standard deadline: September 30th
      - Extended deadline: October 8th
      - Third-party review slush: October 15th

  - Fourth Quarter:
      - First call for reports: December 1st
      - 2 weeks left reminder: December 15th
      - Last reminder: December 24th
      - Standard deadline: December 31st
      - Extended deadline: January 8th
      - Third-party review slush: January 15th

1) Call for reports
  - Send calls to the freebsd-quarterly-calls@ mailing list, to all
    submitters of last status reports (they may have updates or further
    improvements), and, depending on the season:
      - Various conference organizers:
        - AsiaBSDCon (secretary@asiabsdcon.org) March (First Quarter);
        - BSDCan (info@bsdcan.org) May (Second Quarter);
        - EuroBSDcon September - October (Third-Fourth Quarter).
	  EuroBSDcon as an organization is not interested in writing
	  reports for FreeBSD (at least it was not in October 2019:
	  its reason is that the conference is not FreeBSD specific),
	  so reports about this event should be asked of members of the
	  FreeBSD community that attended it;
      - Google Summer of Code students and their mentors: soc-students@
        and soc-mentors@ (Second and Third Quarter).
  - The easiest way to send calls for status reports is to use the
    sendcalls perl script in the tools directory of the git repository.
    It can also be used through a cron job, for example:

    0	0	1,15,24	3,6,9,12	*	cd ~/freebsd-quarterly/tools && ./sendcalls -s 'Lorenzo Salvadore'

    If you are indeed using a cron job, please run it on freefall and
    sign it with your name so that it is possible to infer who has
    configured the cronjob, in case something goes wrong.
    The script automatically sends calls to freebsd-quarterly-calls@,
    last quarter submitters and other recipients depending on the
    season.
  - It may also be worth making a call for reports on the forums as was
    done here:
    https://forums.freebsd.org/threads/call-for-freebsd-2014q4-october-december-status-reports.49812/
  - The AsciiDoctor template is at:
    https://www.freebsd.org/news/status/report-sample.adoc
  - Reporting howto is at:
    https://www.freebsd.org/news/status/howto.html
    It contains a great deal of useful hints for the submitters on how
    to write good reports.  It also helps to forward all the completed
    reports to developers for reference, and point to the latest report
    in the CFR.

2) Building the report:
  - Review and merge pull requests as well as those submitted via email,
    as they come in.
  - For each newly merged entry, add its filename to the per-report
    Makefile put it in the variable corresponding to the section where
    you want the report to appear. Sort the variables content as you
    want to sort the reports in the corresponding section.
  - While the reports are being updated, other doc-committers (wblock,
    pluknet, and bjk, for example) may review the individual entries and
    propose fixes.
  - Write an introduction in a file named intro.adoc.
    It should be usually the last step in the process; a good
    introduction can be only written once all the reports have been
    collected.
  - theraven may be poked for composing a nice introduction for the
    reports.
    wblock suggests that we ask different people to write introduction
    to add variety.  Different people will bring different viewpoints
    and help keep it fresh.
  - Once all the reports have come in, make any final adjustments and
    copy the contents of the directory to
    doc/website/content/en/status/report-yyyy-mm-yyyy-mm/

3) Committing it and sending:

  - Here is an order of operations that should always be followed:
    1: Edit all files so they're ready to commit, but in separate git
    branches.
    2: Push the status report and wait for it to be generated
    3: Make any final changes if there are mistakes in the generated
    report
    4: Send email to announce@ and other lists (this is done in two
    steps; one to announce the other to all the lists, because it keeps
    people from replying to the email sent to announce@), then wait for
    files to appear in the mailing list archives
    5: Push the news entry and the updated status report change.

  - Files to edit and commit:

    The status report itself, found in:
      doc/website/content/en/status/report-yyyy-mm-yyyy-mm/

    Update the next due date on the status report page and
    add a link to the new report below that:
      doc/website/content/en/status/_index.adoc

    The news entry for the main website page:
      doc/website/data/en/news/news.toml

    Sample for the news entry (may need to add month):
	[[news]]
	date = "2021-01-16"
	title = "October-December 2020 Status Report"
	description = "The <a href=\"https://www.FreeBSD.org/status/report-2020-10-2020-12.html\">October to December 2020 Status Report</a> is now available with 42 entries."

  - After the html version of the report has been built and is online,
    use w3m to dump the website as plain-text, something like the
    following:
    w3m -cols 80 -dump https://www.freebsd.org/status/report-2021-01-2021-03/ > /tmp/report-2021-01-2021-03.txt

    w3m has full proper unicode support, and as w3m(1) explains, -dump
    simply outputs text rendering of the html that can then have a few
    elements snipped, while -cols ensures that everything is wrapped to
    80 columns.

    Notes:
    - Remember to toggle disposition (report should be inlined), as well
    as file encoding in the MUA (it should be UTF-8).
    - Additionally, the email should include a link to the rendered
    report, between the introduction and the first entry.

  - Send out
    To: announce@
    Subject: FreeBSD Quarterly Status Report - <First/Second/Third/Fourth> Quarter <year>

    This one must be approved, so find someone (mail postmaster) who can
    do that before starting.

    Send a separate mail:

    To: hackers
    CC: current, stable
    BCC: developers

4) Repeat.
