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

Deprecation of cdnjs tutorials #14130

Closed
MattIPv4 opened this issue Apr 30, 2022 · 4 comments
Closed

Deprecation of cdnjs tutorials #14130

MattIPv4 opened this issue Apr 30, 2022 · 4 comments

Comments

@MattIPv4
Copy link
Member

MattIPv4 commented Apr 30, 2022

Hey folks!

Proposal

cdnjs for a long time has had a small collection of community written tutorials (at cdnjs/tutorials) that are served on the library pages on the website, as well as being available via the API. I'd like to make a proposal to deprecate tutorials across the cdnjs website and API, removing them from API responses for libraries and no longer rendering them on the website.

Justification

These tutorials are not actively maintained by cdnjs maintainers, nor do cdnjs maintainers actively write new tutorials. All the tutorials for the site/API rely on community contributions, which are somewhat sparse. There are many alternative sources of educational content on the internet for developers that are far more high quality and have way larger catalogs of content, such as DigitalOcean's tutorials, freeCodeCamp, or even just the docs from libraries themselves like React.

For those that do wish to continue to reference the tutorials written for cdnjs, they won't be going away completely and will still be available in the cdnjs/tutorials repository on GitHub, under the same MIT license as always.

Technical Justification

From a technical perspective, deprecating tutorials in the API is very much preferred as, currently, it requires us to maintain a local copy of the git repository where the API is running so that it has the tutorial content to serve, and can generate the correct metadata for the tutorials from the git commit log. This is the only significant blocker to moving the API away from being hosted on an origin to running as an edge worker.

Timeline

Date Delta Action Status
2022/04/30 - Proposal posted ✅ Posted
2022/05/07 +1 week Proposal feedback reviewed, decision made ✅ Continuing
2022/05/14 +2 weeks If accepted, tutorials removed from website (no longer rendered on library pages, 404s for tutorial-specific pages, API docs updated to have deprecation notice), API responses stubbed (returning empty arrays where appropriate, or 404s for individual tutorial items) ✅ Deployed (delayed, 2022/05/26 [+3.5 weeks])
2022/08/06 +14 weeks If accepted, tutorial-specific endpoints removed if not already set to 404, tutorial-specific properties removed, API docs/deprecation notices removed ✅ Deployed (delayed, 2022/08/17 [+15.5 weeks])

If the proposal is accepted, for backwards compatibility, the API will continue to return the tutorials property for libraries, but it will always be an empty array.

@MattIPv4
Copy link
Member Author

MattIPv4 commented May 8, 2022

I have received no objections to this proposal over the last week.

I have also reviewed traffic statistics in Cloudflare to get a direct sense of current usage and potential impact:

  • cdnjs.com: 4.8k tutorial page views in the last 7 days, ~0.1% of all page views in last 7 days
  • api.cdnjs.com: 5.3k tutorial route requests in the last 7 days, ~0.02% of all successful requests in the last 7 days

No individual tutorial page, or route, received over 100 requests in the last 7 days. Given how low-trafficed these routes are I believe it will have a very limited impact to deprecate and remove them.

@MattIPv4
Copy link
Member Author

PRs have been created to enact the deprecation, and I plan to ship these both to production later today (05/15) assuming no issues:

I have also updated the deprecation plan here to give a longer window before fully removing the tutorials endpoint and the tutorials property for the library endpoint, to give folks more time to update logic. These will now be fully removed in four weeks from today.

@MattIPv4
Copy link
Member Author

MattIPv4 commented May 26, 2022

There was a delay in getting those out, but they are now live -- given the delay, and how little difference it makes to the code for both, I've pushed back the final removal of the deprecated endpoints/properties to 2022/08/06.

@MattIPv4
Copy link
Member Author

The final API/website changes as part of this deprecation are now live, the tutorials endpoints/properties have been completely removed. As such, closing this issue out. Will leave it pinned until anything supersedes it.

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

No branches or pull requests

1 participant