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

Documentation Overhaul #808

Closed
awwad opened this issue Nov 27, 2018 · 12 comments
Closed

Documentation Overhaul #808

awwad opened this issue Nov 27, 2018 · 12 comments
Labels
documentation Documentation of the project as well as procedural documentation

Comments

@awwad
Copy link
Contributor

awwad commented Nov 27, 2018

User documentation has to be reorganized and updated.

The main README.md links to Getting_Started.rst, which among other things links to:

  • Quickstart
  • CLI
  • CLI usage examples
  • Tutorial

The problems:

  • Each of these is actually a tutorial. They cover CLI client, CLI repo, and advanced repo (repository_tool).
  • The CLI client is not covered very well.
  • Tutorial.py is actually a detailed repository creation tutorial, so it should be renamed something like 'Advanced Repository Tutorial'
  • Advanced client is not covered here (client/updater.py). There are some links and references in Tutorial.py about this, but that's not where they belong since that's really a repository tutorial, and they are wrong / outdated anyway. An unlinked-to tuf/client/README.md provides some instructions related to updater.py, but they need to be reviewed and linked to from Getting Started.
  • Tutorial.py's client section is bad / out of date:
    • It talks about a repository example created in tuf/README.md, but that file has no real contents, so we need to delete it.
    • It links to a document (tuf/client_setup_and_repository_example.md) that talks about using basic_client.py, which no longer exists. That document should also be deleted. Any valuable copy should be moved to tuf/client/README.md.
    • Client Setup and Test TUF Locally sections should be merged and clarified. ("To test the repository we've just created, we need to connect to it...")

My current opinion is that we should move to having three tutorials instead of the many docs above:

  • QUICKSTART, talking about the CLI client and repo, with these additions:
    • a note that these quickstart instructions will use the basic command-line interface, and that much more flexibility is available in "these advanced tutorials for repository_tool.py and updater.py", with links (to the docs that are currently TUTORIAL.md and tuf/client/README.md).
    • a bit more about the CLI client than it currently has
  • Advanced Repository Tutorial -- largely, the contents of TUTORIAL.md
  • Advanced Client Tutorial -- what's currently in tuf/client/README.md, updated and expanded a bit

We should also probably move those three docs to docs directory.

Miscellaneous other corrections:

  • CLI client instructions should point out that it is necessary to run repo.py --init first, since that's actually what sets up the client directory....
  • There's at least one missing cd-to-client-directory instruction in the CLI client instructions.
@awwad awwad added TODO documentation Documentation of the project as well as procedural documentation labels Nov 27, 2018
@awwad
Copy link
Contributor Author

awwad commented Nov 27, 2018

Note that Lukas has suggested a doctest-style validation of the tutorials, in response to a PR in which I added some regression tests for TUTORIAL.md.

@lukpueh
Copy link
Member

lukpueh commented Apr 29, 2019

UPDATE 2019-11-20:
Most of the concerns raised here are now addressed in #775 (struck through below)


I just went through TUTORIAL.md (as updated in #775) and noted a few things (first some general observations and then in the ordered of occurrence, not importance):

@lukpueh
Copy link
Member

lukpueh commented Apr 29, 2019

I also still stand by my idea of using doctest. It's actually something I'd like to play around with, because I also want to use it for in-toto (in-toto/in-toto#276).

@awwad, let me know what you think and if I should help out, e.g. by taking over #775.

@awwad
Copy link
Contributor Author

awwad commented Apr 29, 2019

That sounds great. :) Yeah. I like the doctest idea. I worried a bit that it might affect the readability or structure of the tutorial, but if it works, that'd be awesome. Also, the suggestions and issues raised here are good. If you can take a shot at taking over 775 and integrating this into that, that'd be appreciated.

@lukpueh
Copy link
Member

lukpueh commented Oct 8, 2019

This is already hinted at in the PR description, I just want to bring it back to our attention:

The client update process as described in tuf/client/README.md is outdated and does not align with what's described in the spec.

@trishankatdatadog
Copy link
Member

@lukpueh Sorry, I don't understand the question. Shouldn't the client update process be higher level than what's described in the spec anyway?

@lukpueh
Copy link
Member

lukpueh commented Oct 10, 2019

What question, @trishankatdatadog? I just wanted to add a reminder that we need to update tuf/client/README.md.

It describes the old update process that starts by downloading timestamp.json, whereas in the current spec the update process starts by downloading root.json (also see spec#12).

@trishankatdatadog
Copy link
Member

Oh, you mean the pseudocode steps in English in that README, not the actual code itself, got it

lukpueh added a commit to lukpueh/tuf that referenced this issue Nov 13, 2019
TODO:
- Rephrase two comments in TUTORIAL.md snippets
- See if there are any issues in "Dump Metadata", "Delegations", "Revoke
Delegated Role", "Wrap up" and fix or ticketize
- Create regression test for client (or ticketize)
- Create commits
- Evaluate theupdateframework#808 (some if it is already resolved or will be resolved
with theupdateframework#775, split out rest into new tickets, e.g. doctest style
tutorial tests)
lukpueh added a commit to lukpueh/tuf that referenced this issue Nov 18, 2019
    TODO:
    - Rephrase comments in TUTORIAL.md snippets
      (where code changed)
    - See if there are any issues in "Revoke
    Delegated Role", consistent snapshot, delegate to hashed bins
    - Finish regression test for client
    - Create commits
    - Evaluate theupdateframework#808 (some if it is already resolved or will be resolved
    with theupdateframework#775, split out rest into new tickets, e.g. doctest style
    tutorial tests)
lukpueh added a commit to lukpueh/tuf that referenced this issue Nov 19, 2019
TODO:
- Create commits for TUTORIAL.md and test_tutorial.py
- Update PR theupdateframework#775
- Evaluate and update issue theupdateframework#808
  (some if it is already resolved or will be resolved
  with theupdateframework#775, split out rest into new tickets, e.g. doctest style
  tutorial tests)
@lukpueh
Copy link
Member

lukpueh commented Dec 11, 2019

@mnm678 suggested to remind the tutorial reader of the password, used to encrypt the private key on generation, when loading the private key (see #775 (comment)).

lukpueh added a commit to lukpueh/tuf that referenced this issue Mar 16, 2020
Remove link to incomplete and severely outdated
client_setup_and_repository_example.md in client section of
TUTORIAL.md.

Instead we should link (or move the entire client tutorial part) to
tuf/client/README.md, which is more comprehensive and less outdated
than above document (see theupdateframework#808).

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
@lukpueh
Copy link
Member

lukpueh commented Mar 16, 2020

#1001 removes incomplete and outdated tuf/client_setup_and_repository_example.md and a reference to it in TUTORIAL.md (kudos to @Silvanoc).

As suggested by @awwad above (see PR description), revised client documentation should go into tuf/client/README.md.

mnm678 pushed a commit to mnm678/tuf that referenced this issue Apr 1, 2020
Remove link to incomplete and severely outdated
client_setup_and_repository_example.md in client section of
TUTORIAL.md.

Instead we should link (or move the entire client tutorial part) to
tuf/client/README.md, which is more comprehensive and less outdated
than above document (see theupdateframework#808).

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
@joshuagl joshuagl added this to the 1.0.0 milestone Jul 7, 2020
@joshuagl joshuagl removed this from the 1.0.0 milestone Sep 8, 2020
@lukpueh lukpueh removed the TODO label Sep 8, 2020
@lukpueh
Copy link
Member

lukpueh commented Feb 23, 2021

Re client update process steps (#808 (comment)):

@MVrachev has kindly updated them in client/updater.py and client/README.py. 🎉

@lukpueh
Copy link
Member

lukpueh commented Feb 23, 2022

None of the sub-issues identified above are relevant in python-tuf 1.0.0 anymore:

  • legacy documentation has been removed
  • up-to-date reference documentation now on RTD
  • tutorial-like usage examples now in docs/examples
    (doctest-style testing as suggested above is no longer needed, as the tutorials are testable Python scripts (e.g. #1685))
  • Remaining documentation issues are listed under the documentation label

@lukpueh lukpueh closed this as completed Feb 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Documentation of the project as well as procedural documentation
Projects
None yet
Development

No branches or pull requests

4 participants