Skip to content

Disable a project without deleting it? #8143

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

Closed
shoyer opened this issue Apr 28, 2021 · 19 comments
Closed

Disable a project without deleting it? #8143

shoyer opened this issue Apr 28, 2021 · 19 comments
Labels
Accepted Accepted issue on our roadmap Needed: documentation Documentation is required

Comments

@shoyer
Copy link

shoyer commented Apr 28, 2021

@rgommers and I are maintainers for NumPy.

There is currently a broken RTD config for NumPy that is attempting (and failing) to build every new commit. This seems like a needless waste of resources -- and also users could stumble upon the broken docs -- but there is concern (numpy/numpy.org#431) that if we deleted the project someone unaffiliated could register the name.

Is there some way we could disable the NumPy project without deleting it, or otherwise achieve this goal?

Thanks,
Stephan

@astrojuanlu
Copy link
Contributor

astrojuanlu commented Apr 28, 2021

We do have a policy for abandoned projects modeled after PEP 541, but we don't seem to have a policy on name squatting. I also looked into using redirections, but I don't think it's possible to redirect to an internal external website. Thoughts @readthedocs/core ?

@stsewd
Copy link
Member

stsewd commented Apr 29, 2021

You can create redirects to external sites, but redirects only work on 404s. So in order to have a global redirect you can import an "empty" project (with only an index.rst), set an exact redirect from /en/latest/$rest to https://numpy.org/doc/stable/ that would redirect any 404 like numpy.rtd.io/en/latest/foo.html to https://numpy.org/doc/stable/foo.html, additionally you would also need to set a redirect in your index.rst manually with some html or js <meta http-equiv="Refresh" content="0; url='https://numpy.org/doc/stable/" />.

Note that you can omit $rest from the redirect if your new site doesn't follow the same estructure.

docs on custom redirects https://docs.readthedocs.io/en/stable/user-defined-redirects.html#exact-redirects

@stsewd stsewd added the Support Support question label Apr 29, 2021
@shoyer
Copy link
Author

shoyer commented Apr 29, 2021

I also tried to disable doc builds for "numpy" as well, because as far as I can tell RTD is still trying (and failing) to build the docs upon every commit.

A re-direct isn't really so important here -- a 404 would be fine.

I guess the simplest solution would be to delete the project, and just keep an eye out for anyone claiming the name. If that comes up, I assume the RTD team will be responsive.

@stsewd
Copy link
Member

stsewd commented Apr 29, 2021

I also tried to disable doc builds for "numpy" as well, because as far as I can tell RTD is still trying (and failing) to build the docs upon every commit.

You should remove the webhooks that are pointing to rtd from the github project.

@shoyer
Copy link
Author

shoyer commented Apr 29, 2021 via email

@humitos
Copy link
Member

humitos commented Apr 29, 2021

Some ideas:

  • remove all the webhooks from GH
  • remove the webhooks integration from RTD
  • disable all the version on RTD
  • change the repository on RTD to a template one
  • import a empty project with sphinx-notfound-page installed (https://sphinx-notfound-page.readthedocs.io/)

I'd personally add a "nice index" saying that the project was moved but it's kept to avoid "stealing the namespace" and confusing users. Why I am saying this? Because we do have a policy for abandoned projects and if someone request numpy namespace and I'd see a 404 project in a year or 2 I'd mark it as abandoned and free that name.

@humitos
Copy link
Member

humitos commented Apr 29, 2021

The bigger questions are:

  • why is it failing on Read the Docs?
  • does it worth solving that issue and use Read the Docs as the canonical source for the docs?

I suppose that you already talked about this, tho.

@rgommers
Copy link

disable all the version on RTD

Looks like you cannot do that, there's Active/Hidden buttons and for latest you cannot disable Active if nothing else is left.

why is it failing on Read the Docs?

that's not relevant, we do not want to build or host on RTD - we just also do not want anyone else to take over the numpy name.

@rgommers
Copy link

I'd personally add a "nice index" saying that the project was moved but it's kept to avoid "stealing the namespace" and confusing users. Why I am saying this? Because we do have a policy for abandoned projects and if someone request numpy namespace and I'd see a 404 project in a year or 2 I'd mark it as abandoned and free that name.

This looks like a good idea.

@shoyer
Copy link
Author

shoyer commented Apr 29, 2021

I'd personally add a "nice index" saying that the project was moved but it's kept to avoid "stealing the namespace" and confusing users. Why I am saying this? Because we do have a policy for abandoned projects and if someone request numpy namespace and I'd see a 404 project in a year or 2 I'd mark it as abandoned and free that name.

IMO it would be worth reconsidering for cases where the name is already "claimed" in the Python community by another project and could potentially be a source of confusion. Kind of like how Pypi doesn't let you register projects with the same name as standard library modules.

@shoyer
Copy link
Author

shoyer commented Apr 29, 2021

why is it failing on Read the Docs?

that's not relevant, we do not want to build or host on RTD - we just also do not want anyone else to take over the numpy name.

For context, it was challenging to get NumPy's doc generating working on RTD for a few reasons:

  1. NumPy is mostly C code, and needs to be compiled from scratch (in each build) to compile properly.
  2. The docs also need other messy to build libraries to be installed (e.g., matplotlib), which in turn depend on NumPy!
  3. The doc building process is also slow.

Presumably these could all be fixed, but I'm not sure it would be a good use of anyone's time. We already have a pretty good custom CI setup for building NumPy's docs, and NumPy is a bit of a special case (as the foundation of the numerical Python ecosystem).

@astrojuanlu
Copy link
Contributor

Thanks a lot for the extra context @shoyer!

@ericholscher
Copy link
Member

ericholscher commented May 3, 2021

The main challenge here is that RTD is larger than Python. So there's a large number of projects in other package indexes which have similar names to Python ones, and we can't really reserve every special case in every language.

I think the proper solution is just changing the numpy project on RTD to an invalid git URL and it will never build. The better long-term solution is for us to have a repo like readthedocs/reserved that you can put into the git URL, and it generates a nice index page. This wouldn't be hard to do. We could then have a small guide on it.

@stale
Copy link

stale bot commented Jun 22, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the Status: stale Issue will be considered inactive soon label Jun 22, 2021
@ericholscher ericholscher added the Accepted Accepted issue on our roadmap label Jun 22, 2021
@stale stale bot removed the Status: stale Issue will be considered inactive soon label Jun 22, 2021
@humitos
Copy link
Member

humitos commented Jun 23, 2021

@ericholscher I saw that you marked this issue as Accepted. Is there anything actionable from our side to do here?

@ericholscher
Copy link
Member

I think probably a guide: Migrating from RTD to another hosting provider or something like that. Not a huge priority of course, and there might already be an issue open for it.

@astrojuanlu
Copy link
Contributor

I'm confused, isn't this about being able to "reserve" or "disable" a project?

@stsewd
Copy link
Member

stsewd commented Jun 23, 2021

@astrojuanlu I think both apply :D like you can create an empty project that redirects to the new domain, that means leaving the old project always reserved/active.

@humitos
Copy link
Member

humitos commented Aug 30, 2022

We have implemented "Force redirects" now and we also wrote a small guide about how to migrate your docs to a different domain: https://docs.readthedocs.io/en/stable/user-defined-redirects.html#migrating-your-documentation-to-another-domain

I'm closing this issue, but feel free to re-open if there is another action that Read the Docs should do at this point. Also, let us know if you find that guide useful to achieve your goal 👍🏼

@humitos humitos closed this as completed Aug 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Accepted issue on our roadmap Needed: documentation Documentation is required
Projects
None yet
Development

No branches or pull requests

6 participants