Comments (14)
When the readme generator was introduced, this was done to not override manually created README files and provide a smooth transition.
Today, I think we can now fail pre-commit if the main README (DESCRIPTION, USAGE, and maybe CONTEXT for new branches) fragments are not present.
from maintainer-tools.
https://thegooddocsproject.dev/ exists to help people have good docs, which start by the readme (template and explanation here). If you want to restructure our readmes or their requirements, I think it's worth investigating.
from maintainer-tools.
It's an entry barrier that a module that doesn't have impact on that, requires to put such file for not having an error
I don't see what's the difference between having to add a DESCRIPTION and a USAGE file? if you can add one file, you can add two. All it takes is updating documentation to state both files are required and they will do it, just as with other requirements
and the text that you will find written by developers will not be ideal.
The same developers that can write DESCRIPTION can write USAGE. It doesn't take a special knowledge to write a few steps for USAGE, as nobody is requesting a full-fledged analysis of module use cases or a click-by-click-with-screenshots guide.
What it takes is to help module creator by improving instructions in USAGE template, in order to provide directions regarding what to put there (again, we'll publish a PR for templates asap). Keep in mind that up to this day, there is no mention of how to write documentation in OCA guidelines, and from a functional POV the effects are visible.
Also, I think it's a misconception that developers cannot write good documentation (tons of good USAGE files so far have been written, indeed, by devs). Still, what we're aiming for at the moment is at least decent, not good, documentation. As little as possible as to understand what to do when you open runboat.
If you want to add such text as functional, do it with the flows you are improving.
Yes, functionals hopefully will be always available to improve documentation, but that should not be considered as a cleanup service. Plus, if you're publishing a new module and need someone to do a functional test, you need at least to tell them how to use it.
I think it can only be positive if someone migrating a module can take a bit of time to write down a couple lines on how the final user would use this module.
On the contrary, you're not addressing the fact that legacy modules published when documentation was the last of the problems keep being migrated to this day without USAGE and sometimes even DESCRIPTION... This should fix that. Then of course we can always help improve documentation as soon as needed, but a USAGE file does not look to me like too much to ask.
from maintainer-tools.
@aleuffre I think we can go directly for .md due to the ongoing transition :)
cc @OCA/oca-consultants
from maintainer-tools.
For me the only mandatory one should be DESCRIPTION.
from maintainer-tools.
As said, for me the only mandatory file should be DESCRIPTION.
from maintainer-tools.
Thank you @francesco-ooops for the detailed explanation on why the USAGE fragment should be mandatory.
I totally agree with you and we have faced the same problems with OCA modules over the last years with modules we did not know how to use, so we just decided not to use them.
Sometimes, we could find a developer who would go look into the code and explain to us how to use it but sometimes, even the developer could not tell us how to use the module so, I really think USAGE should be mandatory.
For the CONTEXT fragment, it is new, so we can start to use it and see.
from maintainer-tools.
As said, for me the only mandatory file should be DESCRIPTION.
If we want to enhance the user experience with OCA modules, I think USAGE should be mandatory too. Even if its content is short. But it has another use than DESCRIPTION as this one is to describe the WHAT, USAGE is for the HOW.
from maintainer-tools.
On second analysis, I think also a check on presence of "USAGE" file in the module should be implemented.
If a module does not add anything to user interface per se, it can easily be stated in the file. If that's not the case, I think we can only benefit from having documentation explaining how to use the module.
It's easy to find many legacy modules describing what the module does in "DESCRIPTION", but not how to setup/employ their features, eg: https://github.com/OCA/partner-contact/tree/14.0/base_partner_sequence
@sbidoul @yajo what do you think?
from maintainer-tools.
I agree with the proposition done by @sbidoul.
The Read Me should have mandatory fragments such as : DESCRIPTION, CONTEXT AND USAGE.
from maintainer-tools.
For me the only mandatory one should be DESCRIPTION.
how would it hurt if the USAGE file would only contain a standard "This module has no impact on user interface" text?
It's useful for functionals and devs alike, and no cost for developers.
from maintainer-tools.
It's an entry barrier that a module that doesn't have impact on that, requires to put such file for not having an error, and the text that you will find written by developers will not be ideal. Please don't make mandatory something that is not. If you want to add such text as functional, do it with the flows you are improving.
from maintainer-tools.
Fair enough, I just wanted to explain my reasoning :)
from maintainer-tools.
Sometimes, we could find a developer who would go look into the code and explain to us how to use it but sometimes, even the developer could not tell us how to use the module so, I really think USAGE should be mandatory.
Very good point, it's a shared experience. It's frustrating to have to ask an internal dev to check the code and provide instructions on how to test an OCA module.
from maintainer-tools.
Related Issues (20)
- Add a new CONTEXT section into README.rst HOT 6
- False warning C7902(missing-readme) on some repo HOT 3
- pre-commit crashes in CI HOT 1
- Documentation for the best way to manage a high number of OCA repositories HOT 11
- I faced with error while using this module in pre-commit. HOT 1
- About squashing translation commits HOT 2
- Update our tooling to support Odoo 17 HOT 20
- Mention `odoo-module-migrator` in migration procedure wiki page HOT 1
- Mention `oca-port` in migration procedure wiki page HOT 6
- Update migration v17 Wiki HOT 2
- Clarify CONTRIBUTOR.md formatting HOT 20
- Wiki migration 17.0: New Settings format HOT 1
- oca-gen-addon-readme: stop emitting an XML declaration HOT 1
- Fail to run pre-commit on OCA project: ERROR No matching distribution found for setuptools_scm HOT 2
- Update wiki "Migration to version 16.0" with `fields_view_get` becomes `get_view` HOT 2
- Mention data-hotkey in the 15.0 migration guide
- delete
- WIKI for documentation HOT 6
- module 'github3' has no attribute 'authorize'
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maintainer-tools.