- Mailing Lists
- Contributors
- Re: "The plan" to help non technical to contribute documentation on OCA modules
Archives
- By thread 1419
-
By date
- August 2019 59
- September 2019 118
- October 2019 165
- November 2019 97
- December 2019 35
- January 2020 58
- February 2020 204
- March 2020 121
- April 2020 172
- May 2020 50
- June 2020 158
- July 2020 85
- August 2020 94
- September 2020 193
- October 2020 277
- November 2020 100
- December 2020 159
- January 2021 38
- February 2021 87
- March 2021 146
- April 2021 73
- May 2021 90
- June 2021 86
- July 2021 123
- August 2021 50
- September 2021 68
- October 2021 66
- November 2021 74
- December 2021 75
- January 2022 98
- February 2022 77
- March 2022 68
- April 2022 31
- May 2022 59
- June 2022 87
- July 2022 141
- August 2022 38
- September 2022 73
- October 2022 152
- November 2022 39
- December 2022 50
- January 2023 93
- February 2023 49
- March 2023 106
- April 2023 47
- May 2023 69
- June 2023 92
- July 2023 64
- August 2023 103
- September 2023 91
- October 2023 101
- November 2023 94
- December 2023 46
- January 2024 75
- February 2024 79
- March 2024 104
- April 2024 63
- May 2024 40
- June 2024 160
- July 2024 80
- August 2024 70
- September 2024 62
- October 2024 121
- November 2024 117
- December 2024 89
- January 2025 59
- February 2025 104
- March 2025 96
- April 2025 107
- May 2025 52
- June 2025 72
- July 2025 60
- August 2025 81
- September 2025 124
- October 2025 63
- November 2025 22
Contributors
Re: "The plan" to help non technical to contribute documentation on OCA modules
Re: "The plan" to help non technical to contribute documentation on OCA modules
Re: "The plan" to help non technical to contribute documentation on OCA modules
For me the fastest way to document most OCA modules AND have them apply across versions AND have them always current is to use tours which can now simply be recorded, exported, played and could apply per version, I am asking my team to do that for everything now. It not only has the benefit of allowing the user a guided how to of how to use the module, but it also becomes a test across versions and actually makes reviewing PR's easier. IOW, your documentation (tour in this case) becomes part of your test suite. Your test suite becomes part of documentation. Because every version would have its own tour, then you just need to click the version in whatever service/website. You can link whatever version to runboat to try the tour.
by Adam Heinz - 02:15 - 18 Dec 2024
Reference
-
"The plan" to help non technical to contribute documentation on OCA modules
Hello,This is a followup email for this email thread:During the 2024 OCA Days, the OCA Consultants working group presented the status of the Documentation project: how to document OCA modules right now (using the Github workflow) with Julie and Florencia (video here: https://youtu.be/Kw0V_PdBUPg?feature=shared).In parallel, a prototype of a new tool and process to easily document OCA modules has been proposed by Jairo Llopis, after discussion with Stéphane Bidoul to take into account the full picture of OCA infrastructure.The goal of this new way of managing the documentation is two-fold:1. Allow consultants to update the documentation in a user-friendly tool2. Have a beautiful website with a good search features to find and read the OCA modules documentationThis will impact the way the documentation is managed in the OCA modules. In summary, the documentation of all the OCA modules will be visible on a dedicated website, that will in the end of the transition replace the current OCA App Store. The documentation itself will be stored in a dedicated Doc repository (https://github.com/OCA/docs) and be removed from the readmes of the modules (where a link to the dedicated website will be displayed). Finally, there will be only one documentation page for all the versions of one module.The next steps are gathered in an issue on Github, called "the plan". Here it is:To get more information about this, please check the link above. You can also read the latest meeting notes of the Consultants meeting held in November here: https://docs.google.com/document/d/1v23TwOwm9I7w3MNFZo-iCWQxVKedwoVzN9nEyflJVd8/edit?usp=sharingIf you want to share your feedback on this topic, I propose to keep it in the related issue on Github:Thanks a lot to the consultants working group and especially to Jairo and Stéphane for their help! As you'll see in the plan, there are many "todo"s and help is always welcome.All the best,
by Virginie Dewulf - 02:26 - 10 Dec 2024-
Re: "The plan" to help non technical to contribute documentation on OCA modules
In the Odoo eco-system are there Functionals (as opposed to Technicals)? That seems to be the way ERP works. Non-technicals = functionals?Is there an open source model where the doc could be a model? Hadoop, ERPNext, …? How important is the governance model for good docs? more or less important than Wikipedia, for example?Best,JPOn Wed, Jan 15, 2025 at 10:12 AM Francesco Foresti <notifications@odoo-community.org> wrote:Hi all,regarding Simone's proposal:"In order to fix this, and only this, there was one proposal that I did like at that table: add a button in the README that pops up an editor and lets functional people edit the README and seamlessly create a PR."In your opinion, would that be an acceptable first step that could be implemented relatively quickly?Cheers
FrancescoIl giorno gio 2 gen 2025 alle ore 11:37 Simone Rubino <notifications@odoo-community.org> ha scritto:Thanks Jairo for this extensive explanation of pros and cons, and the examples.
I was at that table during the OCA days: I was not entirely convinced then as I'm not entirely convinced right now.I also tried a prototype of this new workflow and I can say that you and others put a lot of effort into it for sure, thanks again for that.In my opinion the new workflow is trying to fix many problems all at once, but I think that we should keep the focus on the one problem at hand:Allow consultants to update the documentation in a user-friendly tool
and then move to others because it's easier to agree on fewer things at a time.As you explained, there are multiple issues right now:- functionals are not able to easily update the README of a module
- a module has a different README in each version
- migrations do not update the README properly
- translations in README can't be done
I think that right now we should focus on letting functional people update a module documentation (README) easily, let's try to solve only this problem first, then move to others.In order to fix this, and only this, there was one proposal that I did like at that table: add a button in the README that pops up an editor and lets functional people edit the README and seamlessly create a PR.It was discarded then because it did not solve version misalignment but that should be another step towards the ultimate documentation solution.I think this would be much easier to implement and roll out because it does not need a new repo or a new docs database because everything would be on the fly.On a side note, what about moving to a discussion in https://github.com/orgs/OCA/discussions? I think it would be easier to edit/manage/reply-to than emails.On Thu, 2 Jan 2025 at 10:37, Jairo Llopis <notifications@odoo-community.org> wrote:Hi everyone!IMHO both controversial points, when applied together, reduce the pain that we currently have.Some current facts:- Current OCA docs (aka READMEs) are not always updated.
- Functional contributors have a very hard time at contributing to those docs.
- Maintaining version divergences is already very hard for technicians. Asking functionals to do that is a big part of the current problem.
- When thinking of a new docs system, we have to think about who will write the docs and who will read them.
- Data duplication is not good for SEO.
- We want good, up-to-date docs.
So, let's say that we keep the current status quo. We just teach functionals how to use git, write good commit messages, write markdown, use github, switch between branches, do a rebase every now and then, and we expect them to update the readmes. And let's imagine for a second that this happens.Now they have a task: update docs for 10 modules, across all the 3 versions maintained in their companies. Many OCA contributors just use even Odoo releases, so those versions might be 14.0, 16.0 and 18.0.Now just do the math: 10 modules x 3 versions = 30 READMEs. With the new system, 10 modules x 1 single doc = 10 REAMEs to update. Conclusion: 1 single doc is more maintainable. And still, versions 15.0 and 17.0 would be forgotten with the older system, while with the newer one they'd also get those changes.I was sitting down at the table with the functional people expressing how difficult it is for them to contribute to OCA. At the same table were some very experienced contributors, including OCA Board members. We're trying to improve a problematic situation we have right now. Of course, current controversies came to the table. Some of our thoughts:- Is it really that important that the screenshots you see are for the same version of the module that you're using?
- No. Many times, modules are migrated and screenshots are not updated. As long as the module works mostly the same, it's good enough.
- Besides, you can have a custom theme. Or even you could use Odoo EE and all your UI will be different.
- Is it really that common that modules behave significantly different between versions?
- It happens, but it's the less common case.
So, if we favor the most common case (the module does mostly the same across versions) and still have a way to handle the least common one (significant UX divergences), we still are winning.So, are we really crazy to tell you that we can maintain a single doc? Let's see how others do it.When I think of good docs, I think of Gitlab. Their docs are awesome. How do they handle the different versions? I'll showcase some examples below, so we can learn from them. FWIW I'm currently browsing the latest Gitlab docs, which officially target v17.8. Also FWIW, they have a version dropdown. I used Gitlab for about 10 years and I never had to click that dropdown.These install instructions will tell you which postgres version to use. They have several gitlab flavors, and they maintain 4 major releases. However, all the info is gathered in a single docs page:Now, think about it. Is it easier for a writer (who is not a programmer) to maintain 4 different branches of docs with different installation instructions? Or just to maintain the latest one, which has a table indicating data for all versions? Of course, the latter.How do they handle feature changes? See:Again, if you're using Gitlab 16.0, it's still better for you to read these docs than the docs for 16.0, because you don't only know how it works, but how it has evolved since the version you're using. This helps you prepare for that. As a docs reader, this structure is way better. For a writer it's also easier to maintain.Now, let's think about deprecations and removals. They have a page dedicated to that. Currently I'm browsing docs for v17.8, but I can see info for past and future versions (up to Gitlab 20.0!). Future versions! Of course! It's relevant for me to know if something will be deprecated, even if it still works. Brilliant.Apart from that, deprecated features still have a red warning about their status. One example:The fact that docs are centralized isn't a big problem IMHO. If you need offline access, you can clone the repo and browse those docs offline. And the fact that the module docs are scattered across various places (oca/docs and the module code) would be "less worse" than having to maintain up-to-date per-version readmes.An extra point of having centralized docs is that you can exit the current constraints of "just a readme per module", and start having use-case-based docs. Imagine a webpage where you can explain how to use OCA for having better inventory management, for boosting sales, for better privacy, etc. An use-case-based page can just link to the individual modules needed to get that use case done. That's impossible with the current structure.So, summarizing:- Current workflow
- Is easy to "fire and forget". You push the module, it has the readme, it works, done. Never look back. Yes, we knew that taking technicals out of something comfortable for them would produce these kinds of reactions.
- When you migrate a module, most times docs are not updated accordingly.
- Has everything self-contained.
- Is per-version.
- Is hard to maintain. As a consequence, it's not properly maintained.
- It's impossible to use by functionals. Thus, writing docs is an extra burden almost exclusively on the shoulders of coders.
- Docs are written by whoever wrote the module. Sadly, this impacts negatively on the quality of the docs. They communicate with more technical words. Maintaining videos and pictures is burdensome for them.
- Translating is impossible.
- Merging changes involves irrelevant nitpickings (commit message, formatting, etc.)
- New workflow:
- Can be equally easy when adding a new module (due to a sync that could import that readme as the starting docs for the module). When adding a new feature, it can involve adding another PR to docs. That PR, however, doesn't have to be done by the programmer.
- When migrating a module, if it behaves the same, there'll be nothing to be done. Otherwise, see point 1.
- Docs centralized.
- Single page. Relevant per-version changes kept on the same page.
- Easier to maintain. As a consequence, they'll have more maintenance.
- Functionals can learn to contribute in a 5-minutes video. Less copywriting burden for coders.
- Docs are written by people that use the module. They communicate without technicisms. They value pictures and videos as that's their daily life. Docs quality will be better.
- Translating is possible (not yet in the MVP, before you ask).
- Functionals can merge without nitpicks. Reviews are done purely visually. The outcome is an SSG with very little attack surface. Git is just a DB.
The new workflow is not perfect, and it might require an extra PR every now and then. However, IMHO it opens many doors for improvement that are currently closed.Many have predicted "catastrophes" with this idea. However, it's good to reflect on the pain points we currently have. Why not also try to predict how much better this would be? When I think about it, I see it's worth trying._______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
--_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
by joel.patrick - 04:35 - 16 Jan 2025 -
Re: "The plan" to help non technical to contribute documentation on OCA modules
Hi all,regarding Simone's proposal:"In order to fix this, and only this, there was one proposal that I did like at that table: add a button in the README that pops up an editor and lets functional people edit the README and seamlessly create a PR."In your opinion, would that be an acceptable first step that could be implemented relatively quickly?Cheers
FrancescoIl giorno gio 2 gen 2025 alle ore 11:37 Simone Rubino <notifications@odoo-community.org> ha scritto:Thanks Jairo for this extensive explanation of pros and cons, and the examples.
I was at that table during the OCA days: I was not entirely convinced then as I'm not entirely convinced right now.I also tried a prototype of this new workflow and I can say that you and others put a lot of effort into it for sure, thanks again for that.In my opinion the new workflow is trying to fix many problems all at once, but I think that we should keep the focus on the one problem at hand:Allow consultants to update the documentation in a user-friendly tool
and then move to others because it's easier to agree on fewer things at a time.As you explained, there are multiple issues right now:- functionals are not able to easily update the README of a module
- a module has a different README in each version
- migrations do not update the README properly
- translations in README can't be done
I think that right now we should focus on letting functional people update a module documentation (README) easily, let's try to solve only this problem first, then move to others.In order to fix this, and only this, there was one proposal that I did like at that table: add a button in the README that pops up an editor and lets functional people edit the README and seamlessly create a PR.It was discarded then because it did not solve version misalignment but that should be another step towards the ultimate documentation solution.I think this would be much easier to implement and roll out because it does not need a new repo or a new docs database because everything would be on the fly.On a side note, what about moving to a discussion in https://github.com/orgs/OCA/discussions? I think it would be easier to edit/manage/reply-to than emails.On Thu, 2 Jan 2025 at 10:37, Jairo Llopis <notifications@odoo-community.org> wrote:Hi everyone!IMHO both controversial points, when applied together, reduce the pain that we currently have.Some current facts:- Current OCA docs (aka READMEs) are not always updated.
- Functional contributors have a very hard time at contributing to those docs.
- Maintaining version divergences is already very hard for technicians. Asking functionals to do that is a big part of the current problem.
- When thinking of a new docs system, we have to think about who will write the docs and who will read them.
- Data duplication is not good for SEO.
- We want good, up-to-date docs.
So, let's say that we keep the current status quo. We just teach functionals how to use git, write good commit messages, write markdown, use github, switch between branches, do a rebase every now and then, and we expect them to update the readmes. And let's imagine for a second that this happens.Now they have a task: update docs for 10 modules, across all the 3 versions maintained in their companies. Many OCA contributors just use even Odoo releases, so those versions might be 14.0, 16.0 and 18.0.Now just do the math: 10 modules x 3 versions = 30 READMEs. With the new system, 10 modules x 1 single doc = 10 REAMEs to update. Conclusion: 1 single doc is more maintainable. And still, versions 15.0 and 17.0 would be forgotten with the older system, while with the newer one they'd also get those changes.I was sitting down at the table with the functional people expressing how difficult it is for them to contribute to OCA. At the same table were some very experienced contributors, including OCA Board members. We're trying to improve a problematic situation we have right now. Of course, current controversies came to the table. Some of our thoughts:- Is it really that important that the screenshots you see are for the same version of the module that you're using?
- No. Many times, modules are migrated and screenshots are not updated. As long as the module works mostly the same, it's good enough.
- Besides, you can have a custom theme. Or even you could use Odoo EE and all your UI will be different.
- Is it really that common that modules behave significantly different between versions?
- It happens, but it's the less common case.
So, if we favor the most common case (the module does mostly the same across versions) and still have a way to handle the least common one (significant UX divergences), we still are winning.So, are we really crazy to tell you that we can maintain a single doc? Let's see how others do it.When I think of good docs, I think of Gitlab. Their docs are awesome. How do they handle the different versions? I'll showcase some examples below, so we can learn from them. FWIW I'm currently browsing the latest Gitlab docs, which officially target v17.8. Also FWIW, they have a version dropdown. I used Gitlab for about 10 years and I never had to click that dropdown.These install instructions will tell you which postgres version to use. They have several gitlab flavors, and they maintain 4 major releases. However, all the info is gathered in a single docs page:Now, think about it. Is it easier for a writer (who is not a programmer) to maintain 4 different branches of docs with different installation instructions? Or just to maintain the latest one, which has a table indicating data for all versions? Of course, the latter.How do they handle feature changes? See:Again, if you're using Gitlab 16.0, it's still better for you to read these docs than the docs for 16.0, because you don't only know how it works, but how it has evolved since the version you're using. This helps you prepare for that. As a docs reader, this structure is way better. For a writer it's also easier to maintain.Now, let's think about deprecations and removals. They have a page dedicated to that. Currently I'm browsing docs for v17.8, but I can see info for past and future versions (up to Gitlab 20.0!). Future versions! Of course! It's relevant for me to know if something will be deprecated, even if it still works. Brilliant.Apart from that, deprecated features still have a red warning about their status. One example:The fact that docs are centralized isn't a big problem IMHO. If you need offline access, you can clone the repo and browse those docs offline. And the fact that the module docs are scattered across various places (oca/docs and the module code) would be "less worse" than having to maintain up-to-date per-version readmes.An extra point of having centralized docs is that you can exit the current constraints of "just a readme per module", and start having use-case-based docs. Imagine a webpage where you can explain how to use OCA for having better inventory management, for boosting sales, for better privacy, etc. An use-case-based page can just link to the individual modules needed to get that use case done. That's impossible with the current structure.So, summarizing:- Current workflow
- Is easy to "fire and forget". You push the module, it has the readme, it works, done. Never look back. Yes, we knew that taking technicals out of something comfortable for them would produce these kinds of reactions.
- When you migrate a module, most times docs are not updated accordingly.
- Has everything self-contained.
- Is per-version.
- Is hard to maintain. As a consequence, it's not properly maintained.
- It's impossible to use by functionals. Thus, writing docs is an extra burden almost exclusively on the shoulders of coders.
- Docs are written by whoever wrote the module. Sadly, this impacts negatively on the quality of the docs. They communicate with more technical words. Maintaining videos and pictures is burdensome for them.
- Translating is impossible.
- Merging changes involves irrelevant nitpickings (commit message, formatting, etc.)
- New workflow:
- Can be equally easy when adding a new module (due to a sync that could import that readme as the starting docs for the module). When adding a new feature, it can involve adding another PR to docs. That PR, however, doesn't have to be done by the programmer.
- When migrating a module, if it behaves the same, there'll be nothing to be done. Otherwise, see point 1.
- Docs centralized.
- Single page. Relevant per-version changes kept on the same page.
- Easier to maintain. As a consequence, they'll have more maintenance.
- Functionals can learn to contribute in a 5-minutes video. Less copywriting burden for coders.
- Docs are written by people that use the module. They communicate without technicisms. They value pictures and videos as that's their daily life. Docs quality will be better.
- Translating is possible (not yet in the MVP, before you ask).
- Functionals can merge without nitpicks. Reviews are done purely visually. The outcome is an SSG with very little attack surface. Git is just a DB.
The new workflow is not perfect, and it might require an extra PR every now and then. However, IMHO it opens many doors for improvement that are currently closed.Many have predicted "catastrophes" with this idea. However, it's good to reflect on the pain points we currently have. Why not also try to predict how much better this would be? When I think about it, I see it's worth trying._______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
--
by Francesco Foresti - 04:11 - 15 Jan 2025 -
Re: "The plan" to help non technical to contribute documentation on OCA modules
Thanks Jairo for this extensive explanation of pros and cons, and the examples.
I was at that table during the OCA days: I was not entirely convinced then as I'm not entirely convinced right now.I also tried a prototype of this new workflow and I can say that you and others put a lot of effort into it for sure, thanks again for that.In my opinion the new workflow is trying to fix many problems all at once, but I think that we should keep the focus on the one problem at hand:Allow consultants to update the documentation in a user-friendly tool
and then move to others because it's easier to agree on fewer things at a time.As you explained, there are multiple issues right now:- functionals are not able to easily update the README of a module
- a module has a different README in each version
- migrations do not update the README properly
- translations in README can't be done
I think that right now we should focus on letting functional people update a module documentation (README) easily, let's try to solve only this problem first, then move to others.In order to fix this, and only this, there was one proposal that I did like at that table: add a button in the README that pops up an editor and lets functional people edit the README and seamlessly create a PR.It was discarded then because it did not solve version misalignment but that should be another step towards the ultimate documentation solution.I think this would be much easier to implement and roll out because it does not need a new repo or a new docs database because everything would be on the fly.On a side note, what about moving to a discussion in https://github.com/orgs/OCA/discussions? I think it would be easier to edit/manage/reply-to than emails.On Thu, 2 Jan 2025 at 10:37, Jairo Llopis <notifications@odoo-community.org> wrote:Hi everyone!IMHO both controversial points, when applied together, reduce the pain that we currently have.Some current facts:- Current OCA docs (aka READMEs) are not always updated.
- Functional contributors have a very hard time at contributing to those docs.
- Maintaining version divergences is already very hard for technicians. Asking functionals to do that is a big part of the current problem.
- When thinking of a new docs system, we have to think about who will write the docs and who will read them.
- Data duplication is not good for SEO.
- We want good, up-to-date docs.
So, let's say that we keep the current status quo. We just teach functionals how to use git, write good commit messages, write markdown, use github, switch between branches, do a rebase every now and then, and we expect them to update the readmes. And let's imagine for a second that this happens.Now they have a task: update docs for 10 modules, across all the 3 versions maintained in their companies. Many OCA contributors just use even Odoo releases, so those versions might be 14.0, 16.0 and 18.0.Now just do the math: 10 modules x 3 versions = 30 READMEs. With the new system, 10 modules x 1 single doc = 10 REAMEs to update. Conclusion: 1 single doc is more maintainable. And still, versions 15.0 and 17.0 would be forgotten with the older system, while with the newer one they'd also get those changes.I was sitting down at the table with the functional people expressing how difficult it is for them to contribute to OCA. At the same table were some very experienced contributors, including OCA Board members. We're trying to improve a problematic situation we have right now. Of course, current controversies came to the table. Some of our thoughts:- Is it really that important that the screenshots you see are for the same version of the module that you're using?
- No. Many times, modules are migrated and screenshots are not updated. As long as the module works mostly the same, it's good enough.
- Besides, you can have a custom theme. Or even you could use Odoo EE and all your UI will be different.
- Is it really that common that modules behave significantly different between versions?
- It happens, but it's the less common case.
So, if we favor the most common case (the module does mostly the same across versions) and still have a way to handle the least common one (significant UX divergences), we still are winning.So, are we really crazy to tell you that we can maintain a single doc? Let's see how others do it.When I think of good docs, I think of Gitlab. Their docs are awesome. How do they handle the different versions? I'll showcase some examples below, so we can learn from them. FWIW I'm currently browsing the latest Gitlab docs, which officially target v17.8. Also FWIW, they have a version dropdown. I used Gitlab for about 10 years and I never had to click that dropdown.These install instructions will tell you which postgres version to use. They have several gitlab flavors, and they maintain 4 major releases. However, all the info is gathered in a single docs page:Now, think about it. Is it easier for a writer (who is not a programmer) to maintain 4 different branches of docs with different installation instructions? Or just to maintain the latest one, which has a table indicating data for all versions? Of course, the latter.How do they handle feature changes? See:Again, if you're using Gitlab 16.0, it's still better for you to read these docs than the docs for 16.0, because you don't only know how it works, but how it has evolved since the version you're using. This helps you prepare for that. As a docs reader, this structure is way better. For a writer it's also easier to maintain.Now, let's think about deprecations and removals. They have a page dedicated to that. Currently I'm browsing docs for v17.8, but I can see info for past and future versions (up to Gitlab 20.0!). Future versions! Of course! It's relevant for me to know if something will be deprecated, even if it still works. Brilliant.Apart from that, deprecated features still have a red warning about their status. One example:The fact that docs are centralized isn't a big problem IMHO. If you need offline access, you can clone the repo and browse those docs offline. And the fact that the module docs are scattered across various places (oca/docs and the module code) would be "less worse" than having to maintain up-to-date per-version readmes.An extra point of having centralized docs is that you can exit the current constraints of "just a readme per module", and start having use-case-based docs. Imagine a webpage where you can explain how to use OCA for having better inventory management, for boosting sales, for better privacy, etc. An use-case-based page can just link to the individual modules needed to get that use case done. That's impossible with the current structure.So, summarizing:- Current workflow
- Is easy to "fire and forget". You push the module, it has the readme, it works, done. Never look back. Yes, we knew that taking technicals out of something comfortable for them would produce these kinds of reactions.
- When you migrate a module, most times docs are not updated accordingly.
- Has everything self-contained.
- Is per-version.
- Is hard to maintain. As a consequence, it's not properly maintained.
- It's impossible to use by functionals. Thus, writing docs is an extra burden almost exclusively on the shoulders of coders.
- Docs are written by whoever wrote the module. Sadly, this impacts negatively on the quality of the docs. They communicate with more technical words. Maintaining videos and pictures is burdensome for them.
- Translating is impossible.
- Merging changes involves irrelevant nitpickings (commit message, formatting, etc.)
- New workflow:
- Can be equally easy when adding a new module (due to a sync that could import that readme as the starting docs for the module). When adding a new feature, it can involve adding another PR to docs. That PR, however, doesn't have to be done by the programmer.
- When migrating a module, if it behaves the same, there'll be nothing to be done. Otherwise, see point 1.
- Docs centralized.
- Single page. Relevant per-version changes kept on the same page.
- Easier to maintain. As a consequence, they'll have more maintenance.
- Functionals can learn to contribute in a 5-minutes video. Less copywriting burden for coders.
- Docs are written by people that use the module. They communicate without technicisms. They value pictures and videos as that's their daily life. Docs quality will be better.
- Translating is possible (not yet in the MVP, before you ask).
- Functionals can merge without nitpicks. Reviews are done purely visually. The outcome is an SSG with very little attack surface. Git is just a DB.
The new workflow is not perfect, and it might require an extra PR every now and then. However, IMHO it opens many doors for improvement that are currently closed.Many have predicted "catastrophes" with this idea. However, it's good to reflect on the pain points we currently have. Why not also try to predict how much better this would be? When I think about it, I see it's worth trying._______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
by Simone Rubino. - 11:36 - 2 Jan 2025 -
Re: "The plan" to help non technical to contribute documentation on OCA modules
Hi everyone!IMHO both controversial points, when applied together, reduce the pain that we currently have.Some current facts:- Current OCA docs (aka READMEs) are not always updated.
- Functional contributors have a very hard time at contributing to those docs.
- Maintaining version divergences is already very hard for technicians. Asking functionals to do that is a big part of the current problem.
- When thinking of a new docs system, we have to think about who will write the docs and who will read them.
- Data duplication is not good for SEO.
- We want good, up-to-date docs.
So, let's say that we keep the current status quo. We just teach functionals how to use git, write good commit messages, write markdown, use github, switch between branches, do a rebase every now and then, and we expect them to update the readmes. And let's imagine for a second that this happens.Now they have a task: update docs for 10 modules, across all the 3 versions maintained in their companies. Many OCA contributors just use even Odoo releases, so those versions might be 14.0, 16.0 and 18.0.Now just do the math: 10 modules x 3 versions = 30 READMEs. With the new system, 10 modules x 1 single doc = 10 REAMEs to update. Conclusion: 1 single doc is more maintainable. And still, versions 15.0 and 17.0 would be forgotten with the older system, while with the newer one they'd also get those changes.I was sitting down at the table with the functional people expressing how difficult it is for them to contribute to OCA. At the same table were some very experienced contributors, including OCA Board members. We're trying to improve a problematic situation we have right now. Of course, current controversies came to the table. Some of our thoughts:- Is it really that important that the screenshots you see are for the same version of the module that you're using?
- No. Many times, modules are migrated and screenshots are not updated. As long as the module works mostly the same, it's good enough.
- Besides, you can have a custom theme. Or even you could use Odoo EE and all your UI will be different.
- Is it really that common that modules behave significantly different between versions?
- It happens, but it's the less common case.
So, if we favor the most common case (the module does mostly the same across versions) and still have a way to handle the least common one (significant UX divergences), we still are winning.So, are we really crazy to tell you that we can maintain a single doc? Let's see how others do it.When I think of good docs, I think of Gitlab. Their docs are awesome. How do they handle the different versions? I'll showcase some examples below, so we can learn from them. FWIW I'm currently browsing the latest Gitlab docs, which officially target v17.8. Also FWIW, they have a version dropdown. I used Gitlab for about 10 years and I never had to click that dropdown.These install instructions will tell you which postgres version to use. They have several gitlab flavors, and they maintain 4 major releases. However, all the info is gathered in a single docs page:Now, think about it. Is it easier for a writer (who is not a programmer) to maintain 4 different branches of docs with different installation instructions? Or just to maintain the latest one, which has a table indicating data for all versions? Of course, the latter.How do they handle feature changes? See:Again, if you're using Gitlab 16.0, it's still better for you to read these docs than the docs for 16.0, because you don't only know how it works, but how it has evolved since the version you're using. This helps you prepare for that. As a docs reader, this structure is way better. For a writer it's also easier to maintain.Now, let's think about deprecations and removals. They have a page dedicated to that. Currently I'm browsing docs for v17.8, but I can see info for past and future versions (up to Gitlab 20.0!). Future versions! Of course! It's relevant for me to know if something will be deprecated, even if it still works. Brilliant.Apart from that, deprecated features still have a red warning about their status. One example:The fact that docs are centralized isn't a big problem IMHO. If you need offline access, you can clone the repo and browse those docs offline. And the fact that the module docs are scattered across various places (oca/docs and the module code) would be "less worse" than having to maintain up-to-date per-version readmes.An extra point of having centralized docs is that you can exit the current constraints of "just a readme per module", and start having use-case-based docs. Imagine a webpage where you can explain how to use OCA for having better inventory management, for boosting sales, for better privacy, etc. An use-case-based page can just link to the individual modules needed to get that use case done. That's impossible with the current structure.So, summarizing:- Current workflow
- Is easy to "fire and forget". You push the module, it has the readme, it works, done. Never look back. Yes, we knew that taking technicals out of something comfortable for them would produce these kinds of reactions.
- When you migrate a module, most times docs are not updated accordingly.
- Has everything self-contained.
- Is per-version.
- Is hard to maintain. As a consequence, it's not properly maintained.
- It's impossible to use by functionals. Thus, writing docs is an extra burden almost exclusively on the shoulders of coders.
- Docs are written by whoever wrote the module. Sadly, this impacts negatively on the quality of the docs. They communicate with more technical words. Maintaining videos and pictures is burdensome for them.
- Translating is impossible.
- Merging changes involves irrelevant nitpickings (commit message, formatting, etc.)
- New workflow:
- Can be equally easy when adding a new module (due to a sync that could import that readme as the starting docs for the module). When adding a new feature, it can involve adding another PR to docs. That PR, however, doesn't have to be done by the programmer.
- When migrating a module, if it behaves the same, there'll be nothing to be done. Otherwise, see point 1.
- Docs centralized.
- Single page. Relevant per-version changes kept on the same page.
- Easier to maintain. As a consequence, they'll have more maintenance.
- Functionals can learn to contribute in a 5-minutes video. Less copywriting burden for coders.
- Docs are written by people that use the module. They communicate without technicisms. They value pictures and videos as that's their daily life. Docs quality will be better.
- Translating is possible (not yet in the MVP, before you ask).
- Functionals can merge without nitpicks. Reviews are done purely visually. The outcome is an SSG with very little attack surface. Git is just a DB.
The new workflow is not perfect, and it might require an extra PR every now and then. However, IMHO it opens many doors for improvement that are currently closed.Many have predicted "catastrophes" with this idea. However, it's good to reflect on the pain points we currently have. Why not also try to predict how much better this would be? When I think about it, I see it's worth trying.
by Jairo Llopis - 10:36 - 2 Jan 2025 -
Re: "The plan" to help non technical to contribute documentation on OCA modules
Internal communication: seeds ----- Original message ----- Date: Dec 18, 2024, 9:12:51 PM From: Notifications Subject: Re: "The plan" to help non technical to [...] ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
seedsBest regards,

Ivan Sokolov
Cetmix Odoo Solutionscetmix.com
This message is sent using Mail Messages Easy app ----- Original message -----
Date: Dec 18, 2024, 9:12:51 PM
From: Notifications
Subject: Re: "The plan" to help non technical to contribute documentation on OCA moduleshttps://www.odoo.com/event/odoo-experience-2024-4662/track/test-odoo-ui-with-tours-6320 will be best 10 minutes of your odoo lifeOn Thu, Dec 19, 2024 at 2:16 AM Adam Heinz <notifications@odoo-community.org> wrote:_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
Powered by Messages Easy Pro
by "Ivan Sokolov via Cetmix OÜ" <team@cetmix.com> - 10:40 - 18 Dec 2024
-