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: provide documentation templates #1299

Merged
merged 2 commits into from May 31, 2022

Conversation

juliapampus
Copy link
Contributor

What this PR changes/adds

Adds templates for documenting decision records, extensions, and launchers.

Why it does that

Would be nice if the documentation files followed the same structure. Furthermore, it makes it easier for developers to add necessary information.

Further notes

--

Linked Issue(s)

Closes #1291

Checklist

  • added appropriate tests?
  • performed checkstyle check locally?
  • added/updated copyright headers?
  • documented public classes/methods?
  • added/updated relevant documentation?
  • added relevant details to the changelog? (skip with label no-changelog)
  • formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Copy link
Contributor

@alexandrudanciu alexandrudanciu left a comment

Choose a reason for hiding this comment

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

Thank you for the contribution. I've added some minor remarks.

CONTRIBUTING.md Outdated Show resolved Hide resolved
docs/templates/decision-record.md Show resolved Hide resolved
Copy link
Member

@paullatzelsperger paullatzelsperger left a comment

Choose a reason for hiding this comment

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

A few suggestions directly in the code.

docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/decision-record.md Outdated Show resolved Hide resolved
docs/templates/extension.md Outdated Show resolved Hide resolved
docs/templates/extension.md Outdated Show resolved Hide resolved
docs/templates/launcher.md Outdated Show resolved Hide resolved
docs/templates/launcher.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@MoritzKeppler MoritzKeppler left a comment

Choose a reason for hiding this comment

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

Left some minor comments but nothing that necessarily needs to be changed before merging. Fine with it as it is. Thanks, Julia!

Connector automation moved this from In progress to Review in progress May 24, 2022
@eclipse-edc-bot
Copy link
Contributor

Can one of the admins verify this patch?

Copy link
Contributor

@florianrusch-zf florianrusch-zf left a comment

Choose a reason for hiding this comment

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

Looks very good and I just have some minor suggestions 😉

CONTRIBUTING.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/README.md Outdated Show resolved Hide resolved
docs/templates/README.md Show resolved Hide resolved
docs/templates/README.md Show resolved Hide resolved
docs/templates/decision-record.md Show resolved Hide resolved
docs/templates/decision-record.md Show resolved Hide resolved
docs/templates/extension.md Show resolved Hide resolved
Co-authored-by: alexandrudanciu <80531692+alexandrudanciu@users.noreply.github.com>
Co-authored-by: Paul Latzelsperger <43503240+paullatzelsperger@users.noreply.github.com>
@jimmarino
Copy link
Contributor

I don't think we should document extensions or launchers individually and prefer to document artifacts such as interfaces and dependencies either in code or via Gradle:

  1. The information will get out of sync and become a maintenance burden
  2. End-users don't need this level of detail. Developers will need to look at code for this level of detail anyway.

Instead, how about documenting things such as features (aggregations of modules such as SQL or Cosmos persistence) via descriptive markdown that points to BOM coordinates? Launchers could be documented in a similar way. Enforce interface documentation on the class artifacts themselves.

@juliapampus
Copy link
Contributor Author

I don't think we should document extensions or launchers individually and prefer to document artifacts such as interfaces and dependencies either in code or via Gradle:

  1. The information will get out of sync and become a maintenance burden
  2. End-users don't need this level of detail. Developers will need to look at code for this level of detail anyway.

Instead, how about documenting things such as features (aggregations of modules such as SQL or Cosmos persistence) via descriptive markdown that points to BOM coordinates? Launchers could be documented in a similar way. Enforce interface documentation on the class artifacts themselves.

What do the others think? @alexandrudanciu @MoritzKeppler @paullatzelsperger @ronjaquensel @ndr-brt

@ronjaquensel
Copy link
Contributor

I don't think we should document extensions or launchers individually and prefer to document artifacts such as interfaces and dependencies either in code or via Gradle:

  1. The information will get out of sync and become a maintenance burden
  2. End-users don't need this level of detail. Developers will need to look at code for this level of detail anyway.

Instead, how about documenting things such as features (aggregations of modules such as SQL or Cosmos persistence) via descriptive markdown that points to BOM coordinates? Launchers could be documented in a similar way. Enforce interface documentation on the class artifacts themselves.

What do the others think? @alexandrudanciu @MoritzKeppler @paullatzelsperger @ronjaquensel @ndr-brt

I would prefer to have documentation on how to setup/configure/use a certain extension/launcher in the respective modules' READMEs. That way, they're easy to find and people don't have to look for them in the code or elsewhere. I've already had this problem when trying out new features and had to go through the classes step by step as well as look at tests, which took up quite a lot of time. I think a central README holding all that information would be very helpful.

@jimmarino what do you mean by via descriptive markdown that points to BOM coordinates? Since the READMEs are also Markdown, couldn't we also add the BOM references to them?

@alexandrudanciu
Copy link
Contributor

I don't think we should document extensions or launchers individually and prefer to document artifacts such as interfaces and dependencies either in code or via Gradle:

  1. The information will get out of sync and become a maintenance burden
  2. End-users don't need this level of detail. Developers will need to look at code for this level of detail anyway.

Instead, how about documenting things such as features (aggregations of modules such as SQL or Cosmos persistence) via descriptive markdown that points to BOM coordinates? Launchers could be documented in a similar way. Enforce interface documentation on the class artifacts themselves.

What do the others think? @alexandrudanciu @MoritzKeppler @paullatzelsperger @ronjaquensel @ndr-brt

I acknowledge the use case of end-users writing custom launchers and having to pick relevant extensions from a plethora of possible options. Documentation for each extension would definitely help. If this documentation is not provided within the module, then it could be consolidated within a central decision matrix. This, however, would get obsolete very soon.

@paullatzelsperger paullatzelsperger removed their request for review May 31, 2022 06:53
@paullatzelsperger
Copy link
Member

removed myself as reviewer, as I don't have the bandwidth ATM and don't want to block the PR.

Copy link
Member

@ndr-brt ndr-brt left a comment

Choose a reason for hiding this comment

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

I don't think we should document extensions or launchers individually and prefer to document artifacts such as interfaces and dependencies either in code or via Gradle:

  1. The information will get out of sync and become a maintenance burden
  2. End-users don't need this level of detail. Developers will need to look at code for this level of detail anyway.

Instead, how about documenting things such as features (aggregations of modules such as SQL or Cosmos persistence) via descriptive markdown that points to BOM coordinates? Launchers could be documented in a similar way. Enforce interface documentation on the class artifacts themselves.

What do the others think? @alexandrudanciu @MoritzKeppler @paullatzelsperger @ronjaquensel @ndr-brt

I think the modules README should contain some basic information on how to use the module and details about configuration (that could become automatically compiled with #1323 ), but no other details (that should be left into the code)

@juliapampus
Copy link
Contributor Author

As I see now, the majority of people (that interacted with the PR) support the idea of having templates. I will merge this now. As soon as we see that they may be too restrictive or detailed, we can definitely adjust them.

Details should be definitely added as Javadocs or in the gradle files. However, every module should come with a markdown providing basic information.

@juliapampus juliapampus merged commit a67488c into eclipse-edc:main May 31, 2022
Connector automation moved this from Review in progress to Done May 31, 2022
@juliapampus juliapampus deleted the docs/provide-templates branch May 31, 2022 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Connector
  
Done
Development

Successfully merging this pull request may close these issues.

Provide documentation templates
9 participants