Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document substantive changes since Rec as candidate amendments #2713

Merged
merged 19 commits into from
Oct 4, 2022

Conversation

dontcallmedom
Copy link
Member

@dontcallmedom dontcallmedom commented Jan 28, 2022

This pull request is a proposed approach to document the various substantive changes we've brought to the spec since it was published as a Recommendation to make it acceptable as part of the process to amend W3C recommendations.


Preview | Diff

@dontcallmedom dontcallmedom marked this pull request as draft January 28, 2022 16:28
@dontcallmedom
Copy link
Member Author

dontcallmedom commented Jan 28, 2022

The process to add a candidate change with this approach is to add a description of the change based on the following template:

<div class=correction id="change-prXXXX">
<p><span class=title><!-- Description that can be used a summary of the change --></span>
   is a candidate correction - 
  see <a href="https://github.com/w3c/webrtc-pc/pull/XXXX">its associated pull request</a>.</p>
</div>

and inserts it in the document close to where the substantive changes were made. It uses the number of the relevant pull request mostly as a way to find an easily-relevant, hard-to-duplicate identifier, but no particular magic is associated with that number at the moment. In particular, if a change is best described as associated to several pull requests, picking any of these as the source of the number can work.

If several distant sections are concerned, further instance of that notice can be inserted by simply adding an empty <div> of the form:

<div class=correction id="change-prXXXX-N"></div>

where N is the incremented value of the number of these notices.

The ReSpec pre-processing script then takes care of adding the numbered "Candidate Correction" markers, and of listing and linking them in the "Candidate Amendments" appendix.

@dontcallmedom
Copy link
Member Author

Reporting from my discussion with @plehegar :

  • having a document which integrates seamlessly the candidate (or in the future, proposed) amendments in the normative text is not a priori compatible with the intent of the process
  • potential approaches to explore as alternatives that would keep low-editorial friction:
    • generate two documents: a default one with only the "candidate correction" annotations, but not the actual changes, and an informative view where the candidate changes are merged in
    • find a way to provide the two views into a single document (similar to the current approach used by other amended recs with ins/del), but with a much coarser granularity (e.g. at the section level rather than the phrase or in-phrase diff level)

I'll iterate in that direction (probably starting with the latter that would avoid creating confusing doppelgangers)

@dontcallmedom dontcallmedom force-pushed the candidate-changes branch 2 times, most recently from 41c8e7c to dc24600 Compare May 5, 2022 08:39
@dontcallmedom
Copy link
Member Author

@alvestrand @caribouW3 @plehegar I have now taken another stab at this that fulfills the process requirements as I understand them from @plehegar while still reducing the editing burden substantially (although whether it reduces it enough is something I'm looking for @alvestrand feedback).

The result of this work is that:

I've tried documenting the required steps for integrating an amendment in the draft in amendments.md - these steps technically only have to be followed when getting ready to publish a Rec with candidate or proposed amendments (although doing it as we merge substantive pull requests is also possible); my expectation is that this process can be put on the shoulders of the staff contacts rather than editors, since these Rec updates aren't something we expect to do very often in general. From having done it with the current changes, I don't think they're particularly challenging to follow, and certainly less tricky than marking up diffs at the phrase level.

@dontcallmedom
Copy link
Member Author

For illustration purposes, I've gone through the exercise of what it would take to import transferable data channels from WebRTC extensions to the main spec as a candidate addition: dontcallmedom#2 - dontcallmedom@aaed6af is the work needed on top of the spec work to markup the changes as Rec-ready amendments

The same mechanism could be used to bring that section in the editors draft and mark it up as "addition under investigation" there (completely independently of the Rec amendments process), as an alternative to maintaining it in the separate webrtc-extensions repo.

amendments.md Outdated Show resolved Hide resolved
Limitations:
* does not allow to handle different type of changes ("modification" vs "append") in a single section - treating all of them as modification should suffice in such a situation
* does not allow to handle different type of amendment ("correction" vs "addition") or different status of amendment ("candidate" vs "proposed") in a single section - the only alternative is to find a lower granularity section should that be needed

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how would you mark up a section that is changed multiple times?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the changes for section id "dictionary-rtcconfiguration-members" in the pull request illustrates a section with two changes. In general, you don't have to mark them up, you just have to describe the changes in amendments.json, and the script takes care of showing the current rec vs the proposed new text.

dontcallmedom added a commit that referenced this pull request May 23, 2022
@dontcallmedom
Copy link
Member Author

@plehegar have you had a chance to check if the results match what you expect would be acceptable for an updated Rec?

dontcallmedom added a commit that referenced this pull request Jul 19, 2022
@dontcallmedom dontcallmedom marked this pull request as ready for review July 20, 2022 12:47
@dontcallmedom
Copy link
Member Author

@plehegar indicated offline that this approach should pass muster, so I'm now marking it as ready for review & merging, which will help completing upcoming pull requests with additional substantive changes to document them with this mechanism.

@alvestrand
Copy link
Contributor

Note: the generated version seemed to have a number of respec errors. Those probably need to be hunted down during the merge process.

dontcallmedom added a commit that referenced this pull request Aug 19, 2022
@dontcallmedom
Copy link
Member Author

I've rebased to main and updated the sample, which removes the said respec errors (the ones that remain are "expected").

Avoid respec warning
@dontcallmedom
Copy link
Member Author

I've updated this with all the latest PR that got merged; it would be great to merge this to ensure new substantive changes can be directly annotated using this mechanism, and to experiment with annotating less mature changes as well (as mentioned in #2770

@dontcallmedom
Copy link
Member Author

merging as agreed with the chairs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants