Merge ~cjwatson/launchpad:doc-restructuring into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 59df7644390d4f88e70ed945e370abdad509ea60
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:doc-restructuring
Merge into: launchpad:master
Diff against target: 289 lines (+100/-75)
8 files modified
README (+9/-67)
dev/null (+0/-1)
doc/explanation/index.rst (+1/-1)
doc/explanation/navigating.rst (+67/-0)
doc/how-to/index.rst (+1/-0)
doc/how-to/running.rst (+3/-0)
doc/index.rst (+19/-5)
doc/overview.rst (+0/-1)
Reviewer Review Type Date Requested Status
Jürgen Gmach Approve
Review via email: mp+426832@code.launchpad.net

Commit message

Restructure some bits of the developer documentation

Description of the change

These are following up on a call we had with Daniele Procida today, mostly focused on improving the home page.

To post a comment you must log in.
Revision history for this message
Jürgen Gmach (jugmac00) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/README b/README
2index d09ef4f..a326348 100644
3--- a/README
4+++ b/README
5@@ -13,11 +13,12 @@ received many contributions from many wonderful people
6
7 If you want help using Launchpad, then please visit our help wiki at:
8
9- https://help.launchpad.net
10+ https://help.launchpad.net/
11
12 If you'd like to contribute to Launchpad, have a look at:
13
14- https://dev.launchpad.net
15+ https://launchpad.readthedocs.io/
16+ https://dev.launchpad.net/
17
18 Alternatively, have a poke around in the code, which you probably already know
19 how to get if you are reading this file.
20@@ -27,74 +28,15 @@ Getting started
21 ===============
22
23 There's a full guide for getting up-and-running with a development Launchpad
24-environment at <https://dev.launchpad.net/Getting>. When you are ready to
25-submit a patch, please consult <https://dev.launchpad.net/PatchSubmission>.
26+environment at
27+<https://launchpad.readthedocs.io/en/latest/how-to/running.html>. When you are
28+ready to submit a patch, please consult
29+<https://dev.launchpad.net/PatchSubmission>.
30
31 Our bug tracker is at <https://bugs.launchpad.net/launchpad/> and you can get
32 the source code any time by doing:
33
34 $ git clone https://git.launchpad.net/launchpad
35
36-
37-Navigating the tree
38--------------------
39-
40-The Launchpad tree is big, messy and changing. Sorry about that. Don't panic
41-though, it can sense fear. Keep a firm grip on `grep` and pay attention to
42-these important top-level folders:
43-
44- bin/, utilities/
45- Where you will find scripts intended for developers and admins. There's
46- no rhyme or reason to what goes in bin/ and what goes in utilities/, so
47- take a look in both.
48-
49- configs/
50- Configuration files for various kinds of Launchpad instances.
51- 'development' and 'testrunner' are of particular interest to developers.
52-
53- cronscripts/
54- Scripts that are run on actual production instances of Launchpad as
55- cronjobs.
56-
57- daemons/
58- Entry points for various daemons that form part of Launchpad
59-
60- database/
61- Our database schema, our sample data, and some other stuff that causes
62- fear.
63-
64- doc/
65- General system-wide documentation. You can also find documentation on
66- <https://dev.launchpad.net>, in docstrings and in doctests.
67-
68- lib/
69- Where the vast majority of the code lives, along with our templates, tests
70- and the bits of our documentation that are written as doctests. 'lp' and
71- 'canonical' are the two most interesting packages. Note that 'canonical'
72- is deprecated in favour of 'lp'. To learn more about how the 'lp' package
73- is laid out, take a look at its docstring.
74-
75- Makefile
76- Ahh, bliss. The Makefile has all sorts of goodies. If you spend any
77- length of time hacking on Launchpad, you'll use it often. The most
78- important targets are 'make clean', 'make compile', 'make schema', 'make
79- run' and 'make run_all'.
80-
81- scripts/
82- Scripts that are run on actual production instances of Launchpad,
83- generally triggered by some automatic process.
84-
85-
86-You can spend years hacking on Launchpad full-time and not know what all of
87-the files in the top-level directory are for. However, here's a guide to some
88-of the ones that come up from time to time.
89-
90- brzplugins/
91- Breezy plugins used in running Launchpad.
92-
93- sourcecode/
94- A directory into which we symlink branches of some of Launchpad's
95- dependencies. Don't ask.
96-
97- zcml/
98- Various configuration files for the Zope services. Angels fear to tread.
99+See <https://launchpad.readthedocs.io/en/latest/explanation/navigating.html>
100+for advice on navigating the code.
101diff --git a/doc/explanation/index.rst b/doc/explanation/index.rst
102index bb30f5a..c6b72d0 100644
103--- a/doc/explanation/index.rst
104+++ b/doc/explanation/index.rst
105@@ -8,7 +8,7 @@ Explanation
106
107 running-details
108 framework
109+ navigating
110 architecture
111 pip
112 favicon
113- doc-theme
114diff --git a/doc/explanation/navigating.rst b/doc/explanation/navigating.rst
115new file mode 100644
116index 0000000..277d452
117--- /dev/null
118+++ b/doc/explanation/navigating.rst
119@@ -0,0 +1,67 @@
120+===================
121+Navigating the tree
122+===================
123+
124+See :doc:`../how-to/running` to learn how to get Launchpad's code and set up
125+a local development environment.
126+
127+The Launchpad tree is big, messy and changing. Sorry about that. Don't panic
128+though! Keep a firm grip on ``grep`` and pay attention to
129+these important top-level folders:
130+
131+``bin/``, ``utilities/``
132+ Where you will find scripts intended for developers and admins. There's
133+ no rhyme or reason to what goes in bin/ and what goes in utilities/, so
134+ take a look in both.
135+
136+``configs/``
137+ Configuration files for various kinds of Launchpad instances.
138+ ``development`` and ``testrunner`` are of particular interest to developers.
139+
140+``cronscripts/``
141+ Scripts that are run on actual production instances of Launchpad as
142+ cron jobs.
143+
144+``daemons/``
145+ Entry points for various daemons that form part of Launchpad.
146+
147+``database/``
148+ Our database schema, our sample data, and other things related to those.
149+
150+``doc/``
151+ General system-wide documentation. You can also find documentation on
152+ the `developer wiki <https://dev.launchpad.net/>`_, in docstrings, and
153+ in doctests.
154+
155+``lib/``
156+ Where the vast majority of the code lives, along with our templates,
157+ tests, and the bits of our documentation that are written as doctests.
158+ ``lp`` is the most interesting package, with ``canonical`` containing
159+ some things like images and style sheets. To learn more about how the
160+ ``lp`` package is laid out, take a look at its docstring.
161+
162+``Makefile``
163+ The ``Makefile`` has all sorts of goodies. If you spend any length of
164+ time hacking on Launchpad, you'll use it often. The most important
165+ targets are ``make clean``, ``make compile``, ``make schema``, ``make
166+ run`` and ``make run_all``.
167+
168+``scripts/``
169+ Scripts that are run on actual production instances of Launchpad,
170+ generally triggered by some automatic process.
171+
172+
173+You can spend years hacking on Launchpad full-time and not know what all of
174+the files in the top-level directory are for. However, here's a guide to some
175+of the ones that come up from time to time.
176+
177+``brzplugins/``
178+ Breezy plugins used in running Launchpad.
179+
180+``sourcecode/``
181+ A directory into which we symlink branches of some of Launchpad's
182+ dependencies that haven't yet been turned into proper Python
183+ dependencies.
184+
185+``zcml/``
186+ Various configuration files for the Zope services.
187diff --git a/doc/explanation/doc-theme.rst b/doc/how-to/doc-theme.rst
188similarity index 100%
189rename from doc/explanation/doc-theme.rst
190rename to doc/how-to/doc-theme.rst
191diff --git a/doc/how-to/index.rst b/doc/how-to/index.rst
192index 86b0543..2324586 100644
193--- a/doc/how-to/index.rst
194+++ b/doc/how-to/index.rst
195@@ -19,3 +19,4 @@ How-to Guides
196 land-update-for-loggerhead
197 update-configuration-for-testing
198 deploying-configuration-changes
199+ doc-theme
200diff --git a/doc/how-to/running.rst b/doc/how-to/running.rst
201index 4fe9fd3..affb999 100644
202--- a/doc/how-to/running.rst
203+++ b/doc/how-to/running.rst
204@@ -12,6 +12,9 @@ own machine, using a `LXD
205 <https://linuxcontainers.org/lxd/introduction/>`_-managed container to
206 isolate it from the rest of your system.
207
208+After you've done this, you may want to read about
209+:doc:`../explanation/navigating`.
210+
211 Supported operating systems
212 ===========================
213
214diff --git a/doc/index.rst b/doc/index.rst
215index 8d2d3a5..2eb87a4 100644
216--- a/doc/index.rst
217+++ b/doc/index.rst
218@@ -5,6 +5,19 @@ Launchpad developer documentation
219 Welcome to the Launchpad developer documentation. This documentation is for
220 people who want to hack on Launchpad.
221
222+Launchpad is an open source suite of tools that help people and teams to
223+work together on software projects. Unlike many open source projects,
224+Launchpad isn't something you install and run yourself (although you are
225+welcome to do so), instead, contributors help make `Launchpad
226+<https://launchpad.net>`_ better.
227+
228+If you want help using Launchpad, then please visit our `user documentation
229+<https://help.launchpad.net>`_.
230+
231+If you'd like to contribute to Launchpad, this documentation is for you.
232+Alternatively, :doc:`have a poke around in the code <how-to/running>`.
233+
234+
235 Contents
236 ========
237
238@@ -22,8 +35,6 @@ Overview
239
240 .. list-table::
241
242- * - :doc:`readme`
243- - Overview of the Launchpad tree
244 * - :doc:`strategy`
245 - Why are we making Launchpad, and for whom?
246 * - :doc:`scope`
247@@ -38,9 +49,11 @@ Overview
248 Project and community
249 =====================
250
251-Launchpad is a member of the Ubuntu family. It's an open source project
252-that warmly welcomes contributions, suggestions, fixes and constructive
253-feedback.
254+Launchpad is a member of the Ubuntu family, sponsored by `Canonical
255+<https://canonical.com/>`_. It's an open source project that warmly
256+welcomes contributions, suggestions, fixes and constructive feedback, and
257+has received `many contributions from many wonderful people
258+<https://dev.launchpad.net/Contributions>`_.
259
260 * `Code of conduct <https://ubuntu.com/community/code-of-conduct>`_
261 * `Get help using Launchpad <https://help.launchpad.net/>`_
262@@ -56,6 +69,7 @@ Thinking about using Launchpad for your next project? `Get in touch!
263 .. toctree::
264 :hidden:
265
266+ Home <self>
267 how-to/index
268 explanation/index
269 reference/index
270diff --git a/doc/overview.rst b/doc/overview.rst
271index 5ff5584..12a41dc 100644
272--- a/doc/overview.rst
273+++ b/doc/overview.rst
274@@ -6,7 +6,6 @@ Overview
275 .. toctree::
276 :maxdepth: 1
277
278- readme
279 strategy
280 scope
281 values
282diff --git a/doc/readme.rst b/doc/readme.rst
283deleted file mode 120000
284index 59a23c4..0000000
285--- a/doc/readme.rst
286+++ /dev/null
287@@ -1 +0,0 @@
288-../README
289\ No newline at end of file

Subscribers

People subscribed via source and target branches

to status/vote changes: