-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
PIP-190: Simplify documentation release and maintenance strategy #16637
Comments
Thanks for your contribution! I've left some comments, PTAL. Feel free to let me know if you have any concerns. 😊 |
@Anonymitaet can you pls help update the release document and contribution guide? Both the new doc sets |
@momo-jun sure, I'll do that and request your review. |
@tisonkun Thanks for the finding. Two placeholders
|
Many thanks to @urfreespace for providing a resolution/patch to fix the issue, which covers all the above three categories. |
Closed the issue since the PIP has been implemented. |
@momo-jun @Anonymitaet is it possible to name the doc version as For example: I agree it's a good idea to merge patch releases into one URL since no significant changes would be made. I'm glad to know whether there're other projects using UPDATE: I found Kafka name versions with a |
@tisonkun thank you! 🔹🔹🔹 Here are some similar cases to Pulsar (use 🔹🔹🔹 Here are some similar cases to Kafka (use 🔹🔹🔹 I think @D-2-Ed @DaveDuggins @momo-jun thoughts? |
@Anonymitaet Thanks for your information! This makes many sense. |
Motivation
This proposal is focused on improving and simplifying the release and maintenance strategy of the existing Apache Pulsar documentation.
In general, this proposal provides equal values and a better user experience without making overwhelming sacrifices in the release and maintenance process. The benefits include:
Summary of the current strategy and activities
Pulsar version number is comprised of 3 components: major.minor.bug-fix. See definition.
The current practice of the Pulsar documentation is releasing and maintaining individual versions of documentation for each bug-fix releases, including:
Proposal
1. Maintain doc sets for the last 4 feature releases
Pulsar is evolving very fast and generally has a 3-month release cycle, that is, 4 feature releases per year (sometimes 3 feature releases), with even more bug-fix versions. There is a high cost to maintain a lot of old releases, backport bug fixes, and security patches. In general, the last 4 feature releases are actively supported while the next feature release is being developed. For example, the community provides feature releases for 2.7, 2.8, 2.9, and 2.10, while 2.11 is under development. See PIP-47 for more details.
Accordingly, this proposal includes the first attempt to establish the doc maintenance strategy aligned with code, that is, we only keep maintaining doc sets for the last 4 feature releases: 2.7.x, 2.8.x, 2.9.x, and 2.10.x, while 2.11.0 is under development.
2. Release one doc version for each feature release and bug-fix release behind
The proposal introduces a simplified strategy for releasing and maintaining an all-in-one doc version for each feature release and more bug-fix releases behind it, as shown below.
Doc version page mockup
The following diagram shows the mockup of how the information architecture for the Pulsar doc version page can be simplified with clarity for entry.
The key change on this page is about the fewer, simplified menus and links for documentation, and this new structure is also easier to maintain and scale.
Note: This is a mockup to demo the BEFORE & AFTER. When it comes to implementation, we need to make a compromise to only apply the strategy to doc sets for 2.8.x and later versions by balancing the workload differences.
Compare outcomes
The biggest difference between the proposal and the current practice is the strategy of releasing docs for bug-fix releases, and the outcome is compared in the following diagram.
Just-in-time doc development for bug-fix releases
As one of the outcomes, just-in-time doc development for bug-fix releases is feasible with the following facts taken into consideration.
Facts
Proposed solution
Add an additional annotation like “This enhancement is only available for 2.10.1 and later versions.” for enhancements with doc requests in each bug-fix release. This needs to be added to the Contribution Guide.
Implementation plan
Apply the strategy to 2.8.x and later versions of documentation
By balancing the predictable workload introduced by the proposal and the unpredictable maintenance effort using the current strategy, we have to make a compromise that we only apply the strategy to 2.8.x and later versions.
The actions to change these versions of docs sets include:
Update the doc version page
Use 2.10.x as the latest doc version and refresh the information for 2.8.x and 2.9.x.
Update the release document
Remove the section of Update the site for minor releases.
Note that the minor releases mentioned in this section actually refer to bug-fix releases according to the version number definition in PIP-47.
The reason is Release Managers will not need to generate documentation and update the doc site for bug-fix releases. Take 2.10.1 for example, they can skip the following pull requests and much more effort in their local processing.
Note: The release notes for bug-fix releases are still required.
Update the contribution guide
Update the doc contribution guide to clarify the standard processing for the doc changes in bug-fix releases.
The text was updated successfully, but these errors were encountered: