-
-
Notifications
You must be signed in to change notification settings - Fork 708
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
[Discussion] Docs Repo restructuring #665
Comments
I am at a very busy trade show so I must keep this short. I agree that there is a problem. I also see many times we have to say, “thank you for your contribution. Now please do your work again, but somewhere else”. I can imagine this is very frustrating. I do not have time to look at the proposed solutions, but thanks for highlighting the problem. |
Hey! The actual source if this issue is, that we copy external content over to this repository. This is only needed because we are hosting the documentation via GitHub. One limitation that emerges out of that is, that we indeed need to commit all documents. This is also the reason for the regular "Generated Content" commits and the precompiled "v2.1.0" folder. All of that could be easily avoided if we were to serve the documentation on a system hosted by ourselves. @kaikreuzer had a few arguments against that, the main one being the additional administrative stress on a single person - which is of course a serious concern in an open source community. Driving this idea forward would be one of my goals for after I'm back in the game (which is btw around September of this year). In the mean time I applaud your urge to find a solution here and now. I'm not so sure about your second suggestion and didn't understand the third. The first however (if you think about it) already goes in the direction of what I've described above. Your In fact the |
Let me explain it in some simple words: Currently that's only a sub-part of the readme. |
Hey @Confectrician, I agree with the problem you are raising and as many things, this has grown historically to what it is today. I think a separation of "source docs" and "served pages" indeed makes a lot of sense - mixing those simply causes a lot of mess. Maybe there is actually a not too complex short term solution for it without requiring additional repos or servers: We could remove all stuff that is NOT meant for manual editing from the master branch of openhab-docs and set up a Jenkins job, which runs the generation and copies everything to a gh-pages branch in the same repo, from which Github then serves the website. This way everything would be hidden in a separate branch and would not cause any confusion on master. Note that this is only my idea for the short term. Mid-term (and that might fit to @ThomDietrich's September timeline, btw, good to hear that you plan to be back!) I am currently preparing a website relaunch, which will also have to take the documentation into account. Nothing is decided yet, but one of the ideas was to use a framework like NUXT instead of Jekyll - this could be used in the start to generate static pages from the sources that are then pushed to Github Pages, but it would also offer us the possibility to run it dynamically on a server, so that we could eventually end up with @ThomDietrich's dream of a self-hosted page :-) |
All,
Of course, both of these points are important, and both are conflicting. So having a good discussion and considering carefully before making changes is a very good idea. Therefore, I am really happy to see the discussion here. Finally, I would point out that the documentation in OH, in particular, is critical. If you look at the Community, you see many cases where people say, "I worked for days - I give up". I expect that this is just a fact of life. But what it means is that we always need to work to make the documentation as good as it can be in order to have the project be successful. Thank you |
@kaikreuzer your short term solution is pretty similar to @Confectrician 's idea to add a new repo but even better. @Confectrician I think it's totally worth trying. What we would need is a bash script (at least that is one and maybe the most logical choice) that executes all external-sources-steps and adds the appropriate git steps affecting the gh-pages branch. @kaikreuzer I'm amazed that we didn't think about this "second repo/branch" idea yet. Kudos to @Confectrician @kaikreuzer I don't want to start this discussion here and now but I would be sad to abandon Jekyll. It has been a reliable and capable companion so far and the problems we wanted to solve with the webpage relaunch were not the fault of Jekyll but of missing implementation work. @kaikreuzer September should be realistic. I'll be back eventually, no doubt about that! |
Hi all, First i want to thank all of you for the huge and constructive feedback in that short time. The branch solution sounds good for me too. (For a short term improvement)
I am aware of that and the corresponding community topic, but wanted to start this discussion on an early stage. |
FWIW, as a relative newcomer, I liked Jekyll. |
I would use the current external content workflow as is and just push that to the hidden branch instead of master in the future. For the docs-master itself i would love to test/implement some automation already. Workflow could be
CI/CDIf i can i would love to get some introduction here and help out maintaining/obesrving this. Possible To-DoBefore i am going on:
Did I miss something? |
Hey @ghys, As you may have already recognised i am a bit busy these days. (Finishing my master degree in july, so that has more priority atm.) Since you made huge progress for the website relaunch in the last time, maybe you could share your opinion here too. What would be the best design to make generating the docs into the new page by script as easy as possible in the future. I would also be interested in digging into the vue js stuff after finishing my master degree and help you out there. Until that point i will have to be less active here, but i will try to follow up on the issues and PRs if possible. |
This is something I've been having on my mind but still have to find a good solution for. I'll think about it a little bit and make some proposals here soon (I hope!) |
I have created #700 but to clarify about my intent, it's only the very first step. For now it's only a way to keep the generated content regularly updated. i.e. switching the default branch to "master", with only the non-generated documentation content, and have this build process maintain the current gh-pages branch (not presented by default to users) which would hold the contents from master + the generated content. The new website will fetch content from this branch as it does now. |
I needed a pause from my master degree work, https://github.com/confectrician/openhab-docs/tree/master Maybe you can have a look at it. When the branch is final i will push it to this repo too. |
I think we could remove imprint, privacy. since this is handled global now. What about |
I would remove the Jekyll-related stuff like:
|
Maybe it's best to leave them for now since we don't know which branch the build script will work with. |
Signed-off-by: Jerome Luckenbach <[email protected]>
Signed-off-by: Jerome Luckenbach <[email protected]>
Pleasure to close this one. |
Hi all,
One thing that i could observe repeatedly since i am helping out here in the docs
is the confusion about external content.
I have added the
external source
label some time ago for this and i am using it frequently.The Problem
People come here to improve the docs and me or others have to tell them that they are in the wrong place.
This is one thing if its only a new issue.
Its a bigger problem if someone already invested time, prepared an improvement and opened a PR.
This is especially hard for new contributors who have to get around
(which has a really flat learning curve and big entry hurdle, to be honest)
external sources
The result is that some of them give up fast or even don't start thinking about contributing here.
And i can understand that sometimes to be honest.
First of all you will have to get jekyll running on your machine.
I first tried the vagrant machine, which had problem with refreshing after a file save.
(I think there was an issue about it.)
After being annoyed of that after some time i switched to the ruby variant.
It works but you have to do many steps until you can do what you originally wanted.
Work on those documentation.
Some time later, to me happened the same that happened to many others.
Fun Fact:
We discussed this change with @ThomDietrich before and even he overread that sentence in this case.
For me it was no big deal, because i already provided some commits to the contribution and was already a bit familiar with it.
But i can imagine that this can be frustrating for someone with no experience here at all.
What is my Resumee now
We are making contributing for the docs way to hard especially for unexpierienced People.
I could imagine that docs would be a perfect place for people who are not familiar with programming,
but with a will to contribute to the Project in any way.
How can we Improve this?
This is the Topic i want to discuss here.
But maybe i will go a step back first and would ask you for your opinion:
Maybe some ideas for starting with improvements
Now i have complained for many lines.
Time to give something back in form of a possible improvement
A first suggestion
My suggestion would be to change the Repo structure a little bit.
final
contents of the docs page in a new repo which is filled only through generated contentsfrom the different sources. (Bindings, Docs-Articles, ESH, ...)
Nothing should be changed here by Pull Request.
pure-docs
repo where only Documentation Articles can be found.1.
would then be the source for our homepage generation (jekyll or whatever the future will bring)2.
would be the base for contributors to the docs.Which benefits do you expect with this?
The idea is simple:
If there isn't a file (like a binding readme) to edit in the repo, people will (hopefully) search for it or ask where to find it.
This way we can inform and point to the right direction before someone has made a big effort in the wrong place.
It also reduces the amount of files and folders in the docs repository which hopefully will also help first contributors with starting here.
A second suggestion
We should rework/improve existing guides for the folder structure and generation of external contents.
It should be easier to find out where to look for a specific content/file/...
A third suggestion
This is more a general one which could be thought of for all repos.
I think i have seen this approach in the nodejs repo.
They offer some kind of mentoring with an
mentor available
label for their issues.This could be a good thing for new contributors and of course this is not limited to the documentation.
Thanks for reading
Many line from my side now.
I was thinking about this topic(s) some time already and now thought it would be good to write it down here for discussion.
Now it's your part and i hope to get some feedback collected here about this topic.
I would love to add additionally suggestions from your side to the first Post. 😃
BR
Jerome
The text was updated successfully, but these errors were encountered: