-
Notifications
You must be signed in to change notification settings - Fork 0
V0.0.5 #1
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
Conversation
While I think the issue of duplicated common docs is a problem we need to solve, I am very unsure about using Git submodules as the solution. Git submodules are powerful, but add extra steps to build the documentation. This adds more potential/room for confusion in the development environment, where developers should be building the documentation regularly (to accompany changelog modifications).
Additionally, requiring additional steps harms the value of the starter project being the single point for common code/structure/files. The common docs situation does need to be resolved, and I think there may be a few alternative solutions that are more native and/or don't require additional steps.
|
My view is that using git submodules is normal and a developer should be comfortable with using the tool. The minimal extra steps are not an issue to me.
The intent would be for this to be included in the starter project as well.
How soon can a alternative be ready to use? What is the development effort required? |
The reality is that not everyone will understand Git submodules, and it could become a point of confusion or failure. Regarding an alternative, no major additional development effort is required. I have made a POC implementation you can see at hms-networks/sc-java-maven-starter-project#56. This POC implementation uses the previously mentioned Docusaurus plugin, and requires no new/additional steps of the developed. It also still makes use of this repository for common documentation, which makes sense anyways to help reduce the duplication of files, as you mentioned, which would occur when using the starter project as a template (if the common docs simply remained there). |
@alexjhawk
|
@alexjhawk users will have the extra step of |
I was in the process of writing a very similar response. I definitely think versioning support will be necessary, and we could add the option to Regarding documentation in the starter project, I was thinking that the common documentation would be migrated to this repository. This avoids the versioned common docs files from being versioned in repositories that are created from the starter project template. The starter project would also use the plugin. |
The plugin inclusion is versioned as part of Nothing has changed with regard to installation/building of the documentation from where it currently is/was. EditThis is considering the common docs being located in this separate repository instead of the starter project. That allows us to add the plugin and import at the starter project level, which eliminates common docs entirely from being duplicated in to starter project child repos (and eliminates the extra step of installing the plugin at the child repo level) |
So do you agree that the extensions lib should include documentation? I think that would be ideal as if the extension lib is updated and functionality changes the application can just reference the documentation specific to the version its using starting at 1.15.X |
Do you mean for all common docs, or just things related to the extensions library? I absolutely agree that there is 'common' documentation related to the extensions library that should live in that repository. The starter project itself hosts a Docusaurus website as well, so those extensions library-related docs really should be included there anyways. We can then also import them to the starter project/child projects as necessary. There is definitely a need for common docs in the extensions library, but also any that may be unrelated to the library should still be able to live in this repository (or similar one separate from the starter project). |
@alexjhawk , moved this back out of draft. This is where non extensions lib documents will go. Started version at 0.0.5 to match starter project. |
README.md
Outdated
## Usage | ||
This repo is intended to be used as a Git submodule in an Ewon Flexy Java project utilizing the [Solution Center Ewon Flexy Extensions Library](https://github.com/hms-networks/sc-ewon-flexy-extensions-lib) with Docusaurus based documentation. | ||
|
||
## Requirements | ||
|
||
### ScDocusaurusConfig.js | ||
A `ScDocusaurusConfig.js` must exists in the `web-docs` directory and must match the format defined in the sc-java-maven-starter-project [ScDocusaurusConfig.js](https://github.com/hms-networks/sc-java-maven-starter-project/blob/main/web-docs/ScDocusaurusConfig.js) file. | ||
|
||
## Installation | ||
```console | ||
cd web-docs/docs | ||
git submodule add https://github.com/hms-networks/sc-ewon-flexy-common-docs | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the README.md contents be updated to reflect the expected usage of this repository via the Docusarus plugin?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, it would help if i saved that file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the installation and usage section have been removed entirely. Since the starter project is what will "implement" usage I dont think this needs to be documented here.
This works. I don't think the version number in this repository will be 100% matched to the starter project, though, so something like |
Adding @swapna-ragi as Ian is out of the office. |
This repo is intended to be used as a common documentation source for Ewon projects. It can be used as a git submodule to allow for easy updating of common documentation accross all projects.