- 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
My feedback:
I must say that I totally agree with @pedrobaeza . Both that modules should be self contained and that we should not have one version of the documentation for all versions of the module. The goal to help functional people to contribute to the documentation is lofty, but the way it is proposed to implement will lead to a drastic decline in the quality of documentation. Apart from the fact that a lot of technical people also contribute to the documentation, often of the features they themselves implement. Technical people would then be forced to use two completely separate methods to give their contribution.
Why not have a front end for functional people like the one proposed, but only storing the documentation on the original repository? Functional people could be offered just the latest version by default (with a button to switch to another version if they need to edit the documentation of a previous version). Any changes or additions made by functional people could just become a change commit applied to the original document, which should be a fragment in the readme directory.
Let me add that
changes to the documentation should also have the same review
workflow as all the other commits, and should not be applied
blindly. Of course it would me nice if approving reviews in the
functional front end could be pushed also to github. Merges
should only be done by PSC or maintainers, just as it is now.
Hello everyone,
I wanted to share some news on this topic. As I asked in my latest email, some of you (Pedro and Jordi in particular) checked the plan and gave their feedback on Github on this specific task/issue (https://github.com/OCA/docs/issues/7). Thanks for taking the time to do so!
As the propose plan and its implications are being discussed and have a broad impact, I would like to bring back this discussion in this mailing list ("it is only fools who don't change their mind" ^^).
I would like to get more feedback from the community on this strategic topic. Many people got involved to make a minimum viable product, define the architecture of the plan, test the prototypes, etc. Let's make it work, together!
Here is the gathering of the current debate. Please, share with us what you think of this, identify what's missing and let's think of a way to proceed. Thanks!
Reminder: Goal of the project1. 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 documentation, in order to share the values brought by the OCA modules, in the end having more contributors to maintain and create new OCA features.
Constraint of the project:
- being practical for consultant/functional profiles
- not adding too much burden to the current contributors (even though a bit of change might be required to make some space to the new profiles)- being reasonably easy to implement (in human-time and cost)
- being easy to maintain on the long run, as our usual infrastructure maintainers (mainly Stéphane Bidoul) have very little time available for that
- ideally, if new tools are added, other tools must go (cf. previous point), hence the idea of getting rid of the Odoo App Store on the OCA website
Proposed (technical) plan: see https://github.com/OCA/docs/issues/5 for the full picture.
Controversial points:A. 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).
B. there will be only one documentation page for all the versions of one module.
Current discussion regarding point A (move the doc from the readme to the Doc repo)Pros* unique source of truth in the Doc repo
* no synchronisation needed to maintain the doc updated in the readmes and in the Doc repo (syncs are very complex to implement and maintain because of the scale of the OCA infrastructure)
* this option makes point B possible: The README in a module is bound to the Odoo version it's built on. However, the docs site would have just a single version of the usage instructions. Counter-argument: create a synchronization mechanism between both systems (like with Weblate), not to strip out the contents in the source code
Cons
* Modules must be self-contained, and don't require to go to an external site (supposing you have public Internet connection and the site is up, which both are not guaranteed), to look for a basic module documentation.Counter argument: self-contained can perfectly mean that they contain a link to their docs site. For example, we already do that with license. We don't include it, but we put a link to it (in the modules; in repos we do copy it).
Current discussion regarding point B (one documentation across all the modules version)Pros* easier to manage for functional contributors* help people find and use OCA modules more easily (having one documentation with all the information is easier for that)
* From several consultant's experience, even if we actually have one Readme per version for a module now, the Readme is not updated from version to version. It is the same (most of the time) for all versions.Side Note: if a module has changes in the behavior in a version, the documentation should explain it. So you will have a section in the documentation (Context / Usage / Configuration) where you will explain from version x to version y, ... from version z ... The idea is to find everything at the same place and not having to go and compare versions to see the changes.
Cons* "active" versions of OCA modules are spanning about 4 versions (meaning: you can have someone employing v14 and someone on v18 at the same time), and it's very much possible some of these modules have gone through extensive refactoring in the meanwhile. How to provide accurate documentation for all versions, or prevent an "edit war" where both users are in the right? Counter-argument: we haven't seen any edit war to improve the modules documentation so far. If it's happen, it's a good sign. If the refactoring is important, the module will probably be renamed.
* Even Odoo doesn't do that with their documentation, which is "more controlled".* Risk of errors on the documentation that will confuse readers more than helping them.* "This is undoable. Each Odoo version has its own UI, colors, fields distribution... and the most important things: its features. Each OCA module, depending on the Odoo version, will behave different. But not only that, each OCA module version will have their different features depending how it evolves on each branch (normally, the latest version having more features than the previous ones, but that's not guaranteed). Having only one version of the docs for all is worst than the current situation." Counter-argument: if it's undoable in one unique document, why would this be doable in all readme for each versions? We know it's not the case right now so it won't be worst with the new plan.
* Risk of making the developer/semi-functional people's life worst with all these troubles
Attention point:
The 2 paths that we could see from here (sticking to the initial plan versus having one doc/version with a synchro) are not equivalent at all in term of feasibility and impact. Having a synchronisation for the doc cannot be done exactly as it is the case with Weblate because the synchro is one-way only (Weblate is the master of the translations). Here the synchro that is mentioned would require a synchro in both ways (from the PR's on the module's repo triggered by the technical contributors AND from the PR's on the Doc repo, triggered by the user-friendly tool to edit the doc for the consultants).
Last but not least:
Curious to see the current MVP in action?* the website with only one test module for now: https://oca-docs.netlify.app/* the CMS Decap access (login with your Github account): https://oca-docs.netlify.app/admin/* Florencia explains how to get started in this video: https://drive.google.com/file/d/1ZfBcicNdrssOnAWx7AKaYnM_tYIes4ID/view?usp=drive_link
Hoping to get more feedback, I wish you a happy end of the 2024 year!
Le mar. 10 déc. 2024 à 14:24, Virginie Dewulf <virginie@odoo-community.org> a écrit :
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 documentation
This 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=sharing
If 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,
_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
by "Ronald Portier" <rportier@therp.nl> - 05:41 - 17 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
-