From 10c2bdfb9b321fd9b998dad86cd839f6e708b6d6 Mon Sep 17 00:00:00 2001 From: Eric Holscher Date: Wed, 21 Mar 2018 05:19:48 +0700 Subject: [PATCH] Reorder GSOC projects, and note priority order (#3823) * Reorder GSOC projects, and note priority order * More explanation --- docs/gsoc.rst | 111 +++++++++++++++++++++++++++----------------------- 1 file changed, 59 insertions(+), 52 deletions(-) diff --git a/docs/gsoc.rst b/docs/gsoc.rst index 45c79f57d44..73e3cf593ca 100644 --- a/docs/gsoc.rst +++ b/docs/gsoc.rst @@ -32,6 +32,7 @@ Currently we have a few folks signed up: * Eric Holscher * Manuel Kaufmann +* Anthony Johnson .. warning:: Please do not reach out directly to anyone about the Summer of Code. It will **not** increase your chances of being accepted! @@ -42,7 +43,7 @@ Getting Started The :doc:`/install` doc is probably the best place to get going. It will walk you through getting a basic environment for Read the Docs setup. -Then you can look through our :doc:`contribute` doc for information on how to get started contributing to RTD. +Then you can look through our :doc:`/contribute` doc for information on how to get started contributing to RTD. People who have a history of submitting pull requests will be prioritized in our Summer of Code selection process. @@ -57,42 +58,13 @@ Project Ideas We have written our some loose ideas for projects to work on here. We are also open to any other ideas that students might have. -Collections of Projects -~~~~~~~~~~~~~~~~~~~~~~~ - -This project involves building a user interface for groups of projects in Read the Docs (`Collections`). -Users would be allowed to create, publish, and search a `Collection` of projects that they care about. -We would also allow for automatic creation of `Collections` based on a project's ``setup.py`` or ``requirements.txt``. - -Once a user has a `Collection`, -we would allow them to do a few sets of actions on them: - -* Search across all the projects in the `Collection` with one search dialog -* Download all the project's documentation (PDF, HTMLZip, Epub) for offline viewing -* Build a landing page for the collection that lists out all the projects, and could even have a user-editable description, similar to our project listing page. - -There is likely other ideas that could be done with `Collections` over time. - -Support for additional build steps for linting, testing, and other useful things -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Currently we only build documentation on Read the Docs, -but we'd also like to add additional build steps that lets users perform more actions. -This would likely take the form of wraping some of the existing `Sphinx builders `_, -and giving folks a nice way to use them inside Read the Docs. - -It would be great to have wrappers for the following as a start: - -* Link Check (http://www.sphinx-doc.org/en/stable/builders.html#sphinx.builders.linkcheck.CheckExternalLinksBuilder) -* Spell Check (https://pypi.python.org/pypi/sphinxcontrib-spelling/) -* Doctest (http://www.sphinx-doc.org/en/stable/ext/doctest.html#module-sphinx.ext.doctest) -* Coverage (http://www.sphinx-doc.org/en/stable/ext/coverage.html#module-sphinx.ext.coverage) - -The goal would also be to make it quite easy for users to contribute third party build steps for Read the Docs, -so that other useful parts of the Sphinx ecosystem could be tightly integrated with Read the Docs. +**These projects are sorted by priority.** +We will consider the priority on our roadmap as a factor, +along with the skill of the student, +in our selection process. -Refactor our search code -~~~~~~~~~~~~~~~~~~~~~~~~ +Refactor & improve our search code +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Currently we're using a homegrown library for Elastic Search. There is a new `elasticsearch-dsl `_ library that we should be using. @@ -116,22 +88,6 @@ This is a *large* project and will likely require a good deal of understanding o We have a `starting list of issues `_ put together, but there will be much more work. -Integrated Redirects -~~~~~~~~~~~~~~~~~~~~ - -Right now it's hard for users to rename files. -We support redirects, -but don't create them automatically on file rename, -and our redirect code is brittle. - -We should rebuild how we handle redirects across a number of cases: - -* Detecting a file change in git/hg/svn and automatically creating a redirect -* Support redirecting an entire domain to another place -* Support redirecting versions - -There will also be a good number of things that spawn from this, including version aliases and other related concepts, if this task doesn't take the whole summer. - API V3 ~~~~~~ @@ -158,6 +114,57 @@ This project would include puting together a workflow for translations: * Help formalize the process that we have around Transifex to make it easier to contribute to * Improve our tooling so that integrating new translations is easier +Support for additional build steps for linting & testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Currently we only build documentation on Read the Docs, +but we'd also like to add additional build steps that lets users perform more actions. +This would likely take the form of wraping some of the existing `Sphinx builders `_, +and giving folks a nice way to use them inside Read the Docs. + +It would be great to have wrappers for the following as a start: + +* Link Check (http://www.sphinx-doc.org/en/stable/builders.html#sphinx.builders.linkcheck.CheckExternalLinksBuilder) +* Spell Check (https://pypi.python.org/pypi/sphinxcontrib-spelling/) +* Doctest (http://www.sphinx-doc.org/en/stable/ext/doctest.html#module-sphinx.ext.doctest) +* Coverage (http://www.sphinx-doc.org/en/stable/ext/coverage.html#module-sphinx.ext.coverage) + +The goal would also be to make it quite easy for users to contribute third party build steps for Read the Docs, +so that other useful parts of the Sphinx ecosystem could be tightly integrated with Read the Docs. + +Collections of Projects +~~~~~~~~~~~~~~~~~~~~~~~ + +This project involves building a user interface for groups of projects in Read the Docs (`Collections`). +Users would be allowed to create, publish, and search a `Collection` of projects that they care about. +We would also allow for automatic creation of `Collections` based on a project's ``setup.py`` or ``requirements.txt``. + +Once a user has a `Collection`, +we would allow them to do a few sets of actions on them: + +* Search across all the projects in the `Collection` with one search dialog +* Download all the project's documentation (PDF, HTMLZip, Epub) for offline viewing +* Build a landing page for the collection that lists out all the projects, and could even have a user-editable description, similar to our project listing page. + +There is likely other ideas that could be done with `Collections` over time. + +Integrated Redirects +~~~~~~~~~~~~~~~~~~~~ + +Right now it's hard for users to rename files. +We support redirects, +but don't create them automatically on file rename, +and our redirect code is brittle. + +We should rebuild how we handle redirects across a number of cases: + +* Detecting a file change in git/hg/svn and automatically creating a redirect +* Support redirecting an entire domain to another place +* Support redirecting versions + +There will also be a good number of things that spawn from this, including version aliases and other related concepts, if this task doesn't take the whole summer. + + Additional Ideas ~~~~~~~~~~~~~~~~