Skip to content

Commit 0fb3574

Browse files
authored
Merge pull request readthedocs#3552 from rtfd/more-gsoc
Add a number of new ideas for GSOC
2 parents 1f6e483 + 37f915c commit 0fb3574

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

docs/gsoc.rst

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,73 @@ It would be great to have wrappers for the following as a start:
7878
The goal would also be to make it quite easy for users to contribute third party build steps for Read the Docs,
7979
so that other useful parts of the Sphinx ecosystem could be tightly integrated with Read the Docs.
8080

81+
Refactor our search code
82+
~~~~~~~~~~~~~~~~~~~~~~~~
83+
84+
Currently we're using a homegrown library for Elastic Search.
85+
There is a new `elasticsearch-dsl <http://elasticsearch-dsl.readthedocs.io/en/latest/>`_ library that we should be using.
86+
This project will include:
87+
88+
* Improving our search indexing
89+
* Refactoring how we "model" our search data to use elasticsearch-dsl Models
90+
* Add additional search data into our indexes, like the programming languages, type of document (tutorial, api, etc.) and other data for users to filter by
91+
* (Optional) Improve the UX of the search for users in various ways
92+
93+
Finish YAML config
94+
~~~~~~~~~~~~~~~~~~
95+
96+
Currently we have a basic :doc:`/yaml-config` for Read the Docs.
97+
It's still considered beta,
98+
and there are a number of features that it doesn't support.
99+
We need to support everying users can currently do from our website dashboard inside the YAML file,
100+
and then plan a smooth transition path from the database UI to the YAML file.
101+
102+
This is a *large* project and will likely require a good deal of understanding of both Python as well as web technologies.
103+
We have a `starting list of issues <https://github.com/rtfd/readthedocs.org/milestone/28>`_ put together,
104+
but there will be much more work.
105+
106+
Integrated Redirects
107+
~~~~~~~~~~~~~~~~~~~~
108+
109+
Right now it's hard for users to rename files.
110+
We support redirects,
111+
but don't create them automatically on file rename,
112+
and our redirect code is brittle.
113+
114+
We should rebuild how we handle redirects across a number of cases:
115+
116+
* Detecting a file change in git/hg/svn and automatically creating a redirect
117+
* Support redirecting an entire domain to another place
118+
* Support redirecting versions
119+
120+
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.
121+
122+
API V3
123+
~~~~~~
124+
125+
We currently have a "v2" API that isn't well documented and doesn't allow users to write to it.
126+
We want to continue using Django REST Framework for this,
127+
but rethink how we're presenting our information to our users.
128+
129+
Currently we're showing everything as simple "models",
130+
and we want to start exposing "methods" on our data,
131+
similar to GitHub.
132+
133+
This is a large project and should only be done by someone who has done some basic API design previously.
134+
135+
Improve Translation Workflow
136+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
137+
138+
Currently we have our documentation & website translated on Transifex,
139+
but we don't have a management process for it.
140+
This means that translations will often sit for months before making it back into the site and being available to users.
141+
142+
This project would include puting together a workflow for translations:
143+
144+
* Communicate with existing translators and see what needs they have
145+
* Help formalize the process that we have around Transifex to make it easier to contribute to
146+
* Improve our tooling so that integrating new translations is easier
147+
81148
Additional Ideas
82149
~~~~~~~~~~~~~~~~
83150

0 commit comments

Comments
 (0)