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

SAM-209 organize documentation #452

Merged
merged 30 commits into from
Apr 19, 2022
Merged

Conversation

eapearson
Copy link
Contributor

@eapearson eapearson commented Mar 31, 2022

This set of changes is designed to satisfy SAM-209.
It attempts to do so by:

  • moving documentation into a single /docs directory
  • organizing documentation within that directory
  • providing an index page which links to each document
  • moving detailed documentation from the canonical README.md into separate documents
  • refactor README.md according to https://github.com/RichardLitt/standard-readme
    • adding standard sections
    • fleshing out content in this sections
    • refers to documentation for further details
  • adds an example of PlantUML diagramming

In addition, I've cherrypicked a few new documents from SAM-96, from which this work was initially copied. This is because this set of changes should also satisfy the needs of the changes for SAM-96, which needs to add several documents and diagrams. Separate from SAM-209, it was requested to remove the document reorganization from SAM-96, so adding these additional changes here allows us to base those changes on this work.

@eapearson eapearson marked this pull request as ready for review April 1, 2022 18:25
@eapearson eapearson requested a review from scanon April 1, 2022 18:25
Copy link
Contributor

@scanon scanon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think overall this looks good.

We may want to move the documentation on PUML to somewhere more general but I think we can leave it in here for now.

Some of the figures seemed a little superfluous but I guess they are fine.

I did have a few minor remarks that we may want to correct first.

Also, I couldn't find a place to add the remark. I think the Kafka is more of a connection than a REST call. But I could be mistaken.

@@ -0,0 +1,53 @@
@startuml system-context
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see _temp in the gitignore but these are here. Is that intentional?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh, yeah. Let me clean that up ...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think overall this looks good.

We may want to move the documentation on PUML to somewhere more general but I think we can leave it in here for now.

Some of the figures seemed a little superfluous but I guess they are fine.

I did have a few minor remarks that we may want to correct first.

Also, I couldn't find a place to add the remark. I think the Kafka is more of a connection than a REST call. But I could be mistaken.

I did a quick check on the kafka client, and it did appear that it at least does support a REST api, whether the python client uses that or not I don't know. In the end, I think the most important attribute of the overall architecture diagram is to show the major components and their inter-dependencies. More detail, accurate, is also useful. Tried to keep in mind people who are and aren't familiar with the project.
Also, in the end, the purpose of this this diagram in this PR is more exemplary and can certainly be improved. More diagrams are required to capture greater detail for specific areas (e.g. how kafka interacts with it, how sample service interacts with RE, the interaction of import with sample service), and some diagrams may be out of context for the sample service in isolation, and should be in a sample "system" documentation repo.


# Installation from another module

To use this code in another SDK module, call `kb-sdk install SampleService` in the other module's root directory.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may need to update this since it isn't a dynamic service any longer and this could result in getting an old client.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I left that and some other old docs in there. I did try to fix some clearly obsolete information. In this case I wasn't sure if it was still valid to use kb-sdk to install a client, or if that is the most common practice, compared to using a generic client, so left that in place. It can certainly be removed at any time if it is invalid.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, I didn't read whole swaths of existing content for accuracy or completeness, just moved them around.

@eapearson eapearson requested a review from scanon April 6, 2022 17:08
Copy link
Contributor

@scanon scanon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the release notes in the docs directory. I think I would prefer to keep those at the top. I see it is empty so maybe the intent was something else.

@eapearson
Copy link
Contributor Author

I see the release notes in the docs directory. I think I would prefer to keep those at the top. I see it is empty so maybe the intent was something else.

That was intended to be a document about creating release notes, as it is located in the documentation directory of the docs directory. I've updated the empty document to have a title and a quote-blocked reminder to complete the content.

There is already a RELEASE_NOTES.md in the project root.

Interestingly, I've found that some Python projects locate release notes within the documentation folder, not at the project root. I found this a bit baffling at first, but it does make some sense, as it could be argued that for a documentation set to be complete it should include a description of the evolution of the product over time, including release notes.

@eapearson
Copy link
Contributor Author

Resolved a new merge conflict introduced by concurrent changes to RELEASE_NOTES.md

@scanon scanon merged commit aefcc32 into develop Apr 19, 2022
@scanon scanon deleted the feature-SAM-209-organize-documemation branch April 19, 2022 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants