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

docs table of contents is cluttered #1802

Closed
anarcat opened this issue Nov 4, 2016 · 4 comments
Closed

docs table of contents is cluttered #1802

anarcat opened this issue Nov 4, 2016 · 4 comments

Comments

@anarcat
Copy link
Contributor

anarcat commented Nov 4, 2016

first mentionned here: #1798 (comment)

The support link is right before the "appendix"* of the manual (resources, changelog, internals, dev, license), and after the FAQ. Maybe add an FAQ entry pointing to it? That'd be one of the places I'd look. But maybe don't remove the security contact completely - leave a link in the README that says security issues should be reported via [url to docs].

if someone knows how this can be more clearly structured that would be good I think. The ToC is a bit cluttered.

this is an attempt at identifying those issues more clearly and restructure the documentation.

right now, we have this structure overall structure:

  • Installation
  • Quick Start
  • Usage
  • Deployment
  • Frequently asked questions
  • Support
  • Resources
  • Changelog
  • Internals
  • Development
  • Borg Contributors (“The Borg Collective”)
  • License

That list is too long (12 items). It would be better to reduce that to a more reasonable number, like 7-8 items. Note that a bit of restructuring has been done in the PDF document in #1796 but the table of contents there is still way too long.

I would recommend the following structure instead:

  • Installation
  • Quick Start
  • Usage
    • Deployment
    • Manuals
  • Support
    • Frequently asked questions
    • Resources
    • Changelog
  • Development
    • Internals
    • Borg Contributors (“The Borg Collective”)
    • License

Note how we move Deployment within Usage, the FAQ, Resources and Changelog within Support, and authors, licenses and internals into a development section.

I would also move a bunch of stuff from the quick start into the Usage section, hence the "Manuals" section that would hold the manpages separately.

If you look in the current detailed listing (I removed some subtitles for clarity):

  • Installation
    • Distribution Package
    • Standalone Binary
    • Features & platforms
    • From Source
  • Quick Start
    • A step by step example
    • Important note about free space
    • Automating backups
    • Pitfalls with shell variables and environment variables
    • Backup compression
    • Repository encryption
    • Remote repositories
  • Usage
    • General
    • borg init
    • [...] other manpages
    • Miscellaneous Help
    • Debug Commands
    • Additional Notes
  • Deployment
    • Machines
    • User and group
    • Folders
    • Restrictions
    • Client
    • Ansible
    • Salt
    • Enhancements
    • See also
  • Frequently asked questions
    • Can I backup VM disk images?
    • Can I backup from multiple servers into a single repository?
      [...]
  • Support
    • Issue Tracker
    • Chat (IRC)
    • Mailing list
    • Bounties and Fundraisers
  • Resources
    • Videos, Talks, Presentations
    • Software
  • Changelog
    • Important note about pre-1.0.4 potential repo corruption
    • Version 1.1.0b2 (2016-10-01)
    • Version 1.1.0b1 (2016-08-28)
      [...]
    • Attic Changelog
  • Internals
    • Repository and Archives
    • Lock files
    • Config file
    • Keys
    • Segments and archives
    • The manifest
    • The Archive
    • The Item
    • Chunks
    • Indexes / Caches
    • Indexes / Caches memory usage
    • Encryption
    • Key files
    • Compression
  • Development
    • Contributions
    • Code and issues
    • Style guide
    • Continuous Integration
    • Output and Logging
    • Building a development environment
    • Running the tests
    • Regenerate usage files
    • Building the docs with Sphinx
    • Using Vagrant
    • Creating standalone binaries
    • Creating a new release
  • Borg Contributors (“The Borg Collective”)
    • Attic authors
  • License

... you can see that certain documents are badly structured in themselves. For example, the Install page is well structured: it has 4 clear headings and subheadings that represent a basic decision tree on how to install Borg. The quickstart is less well structured: it is unclear why some items are there, or why they are ordered that way. It looks like it's the beginning of a more complete handbook, which is great, but it could have a better structure. The FAQ is the worst: it's just a random list of questions, without any structure...

It could look like this expanded:

  • Installation
    • Distribution Package
    • Standalone Binary
    • Features & platforms
    • From Source
  • Quick Start (just the basics! could even be all in the readme?)
  • Usage (or Handbook?)
    • Common tasks
      • Automating backups
      • Backup compression
      • Repository encryption
      • Remote repositories
      • Deployment
        • Machines
        • User and group
        • Folders
        • Restrictions
        • Client
        • Ansible
        • Salt
        • Enhancements
        • See also
    • Important notes and pitfalls
      • Free space
      • Shell variables and environment variables
    • Manual pages
      • General
      • borg init
      • [...] other manpages
      • Miscellaneous Help
      • Debug Commands
      • Additional Notes
  • Frequently asked questions
    • Features and limitations
      • Can I backup VM disk images?
      • Can I backup from multiple servers into a single repository?
        [...]
    • Security
    • Common errors
    • Miscellaneous
  • Support
    • Communications
      • Issue Tracker
      • Chat (IRC)
      • Mailing list
      • Bounties and Fundraisers
    • Resources
      • Videos, Talks, Presentations
      • Software
    • Changelog
      • Important note about pre-1.0.4 potential repo corruption
      • Version 1.1.0b2 (2016-10-01)
      • Version 1.1.0b1 (2016-08-28)
        [...]
      • Attic Changelog
  • Development
    • Contribution guidelines
      • Code and issues
      • Style guide
      • Continuous Integration
    • Common practices
      • Output and Logging
      • Building a development environment
      • Running the tests
      • Using Vagrant
    • Build system
      • Regenerate usage files
      • Building the docs with Sphinx
      • Creating standalone binaries
      • Creating a new release
    • Internals
      • Repository and Archives
      • Lock files
      • Config file
      • Keys
      • Segments and archives
      • The manifest
      • The Archive
      • The Item
      • Chunks
      • Indexes / Caches
      • Indexes / Caches memory usage
      • Encryption
      • Key files
      • Compression
    • Borg Contributors (“The Borg Collective”)
      • Attic authors
    • License

Note the following changes:

  • Installation is untouched
  • Quickstart is stripped to its bare minimum, maybe expanded to cover purge and mount?
  • Usage becomes a more general section (hence maybe renamed "Handbook"?)
  • Usage integrates the various tasks described in the quickstart, but also the Deployment section, because there may be overlap with "remote repositories" there and it's a good continuation
  • Usage also features manpages in a separate section, and integrates a caveats section ("Important notes and pitfalls")
  • The FAQs are grouped by topic
  • Support integrates Resources and the Changelog (because I didn't quite know how to put those)
  • Development items are regrouped as well, and Internals, Authors and License are merged in

I think this structure change is major, but would mean the documentation would be much more sustainable in the long term. For example, a lot of documentation could be added to the Handbook/Usage section without having to alter the structure too much.

Also note that, for larger sections, we can use the following directive to get a table of contents on top of the page, to make it easier to navigate:

.. contents::
   :local:

This also works for sub-sections...

I'd be glad to have feedback on this. If necessary, I can shove this in a etherpad to ease collaboration on the structure.

Once a new structure is determined, I'd be happy to work on moving everything around. This should be done quickly and in one swoop, on both branches, so that things are consistent from now on.

#1796 would need to be merged first, of course. :)

@ThomasWaldmann
Copy link
Member

Having 12 items in toc is way less of a problem than artificially putting stuff into sections where they do not belong. Like putting "changelog" under "support" or "license" under "development", for example.

In case it would show only the first level of toc entries, people would have to uncollapse all items just to find stuff at places where they are not suppose to be.

@anarcat
Copy link
Contributor Author

anarcat commented Nov 4, 2016

i do believe license belongs in development: the license is mentionned in the README and the program output, so the "user" case is covered there. the whole license detail is more relevant for developers wanting to contirbute or reuse code.

as for changelog, i think it's relevant for the support section because it clearly shows which changes happened recently that may be relevant to support questions.

regarding the uncollapsing, keep in mind that the full table of contents is also visible in the frontpage of the docs. as things stand, i think the list is too long and complex.

but regardless, the point of this change is not just to change the big headings, but also refactor the documentation within. and while I welcome critical comments about the suggestions, constructive changes would be welcome as well - or you are saying that all the changes I suggest above are irrelevant and everything is fine with the current structure?

@anarcat
Copy link
Contributor Author

anarcat commented Nov 4, 2016

actually, nevermind: i don't really want to argue about this. it was just a suggestion, which I thought was welcome because of @enkore's comment in the other issue...

enkore added a commit to enkore/borg that referenced this issue Feb 16, 2017
Usage & Limitations
Security
Common issues
Miscellaneous (only three items, two fork-related)

Note: This does not change any links to FAQ items.
enkore added a commit that referenced this issue Feb 16, 2017
docs: FAQ by categories as proposed by @anarcat in #1802
@ThomasWaldmann
Copy link
Member

ThomasWaldmann commented Mar 6, 2019

Partly fixed by PR linked above.
Partly no consensus.
And obviously nobody wanted to work on this for over 2 years.

Thus: closing.

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

3 participants