Skip to content

Conversation

@raf-odoo
Copy link
Contributor

Odoo.sh doesn't use the requirements.txt included in Odoo but Python
packages available in the Linux distribution instead. This is
non-obvious and can be confusing to users, especially in the cases where
the version available in the distribution and requirements.txt are
different.

Adding this section is intended to clarify that, and to provide a
reference for developers of custom modules on what to expect.

opw-2688205

Odoo.sh doesn't use the requirements.txt included in Odoo but Python
packages available in the Linux distribution instead. This is
non-obvious and can be confusing to users, especially in the cases where
the version available in the distribution and requirements.txt are
different.

Adding this section is intended to clarify that, and to provide a
reference for developers of custom modules on what to expect.

opw-2688205
@robodoo
Copy link
Collaborator

robodoo commented Nov 22, 2021

@raf-odoo
Copy link
Contributor Author

@jev-odoo @xmo-odoo Could you review this PR to confirm the technical aspects of what I'm saying are correct? After that I'll ask someone from the documentation team to review.

@jev-odoo jev-odoo requested a review from amigrave November 25, 2021 08:28
@amigrave
Copy link
Member

@raf-odoo I have some small comments about this but I'm currently busy with some server checking for the black friday, I'll review this beginning of next week

@amigrave
Copy link
Member

amigrave commented Dec 1, 2021

@raf-odoo I forgot to bring this to the gurus meeting yesterday, will do it next week.

I'm ok with such improvements in the odoo.sh documentation but what bothers me here is that the wording tend to consider that the requirements.txt is the official python packages dependencies handling for Odoo and that Odoo.sh is using some kind of non-official packages list/version. Actually it is the opposite, Odoo hosting platforms (Odoo Online and Odoo.sh) uses the official supported version list and the requirements.txt is supposed to be the fallback.

That said as this is absolutely not documented and considering that the runbot uses pypi packages, I can understand that external users thinks that the requirements.txt is the official dependency list. I'll have a talk with AL concerning this topic next week and will comment back here.

@raf-odoo
Copy link
Contributor Author

raf-odoo commented Dec 2, 2021

@amigrave You're right about the wording, it assumes requirements.txt is the norm. For Python projects in general people are going to assume that requirements.txt is leading and the SaaS / PaaS behavior relying on distro packages is non-standard from that perspective. I understand that from Odoo's perspective it's the other way around. The goal of this section is to clarify that, so that's why I start from those assumptions.

I'll try to tweak the wording a bit to make clear that the official dependencies for Odoo in general are the distro versions and that Odoo.sh is implementing that.

@amigrave
Copy link
Member

amigrave commented Dec 2, 2021

I'll try to tweak the wording a bit to make clear that the official dependencies for Odoo in general are the distro versions and that Odoo.sh is implementing that.

Let me have a word with AL first, I'd like to check if anything is going to be clarified more officially, in such case the information should probably be in the administration/install section and Odoo.sh referring it in the FAQ.

@amigrave
Copy link
Member

amigrave commented Dec 7, 2021

@raf-odoo AL confirmed that the official dependencies are the latest long term supported debia/ubuntu packages (using the lowest versions depending on their cycle). @d-fence will forge this in the documentation and will mention the documentation link in the requirements.txt itself as a comment. Once done we will evaluate if it's still useful to mention this a second time in the Odoo.sh documentation.

@raf-odoo
Copy link
Contributor Author

raf-odoo commented Dec 7, 2021

Ok, fine by me :-)

Copy link
Contributor

@jcs-odoo jcs-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello, here are already a few comments even though I'm aware you want to rewrite this content.
I haven't reviewed the phrasing of the example yet, but I won't have the time to do it today.

Cheers,

Comment on lines +36 to +38
On Odoo.sh, Odoo uses the Python libraries available in the Linux distribution
to fulfill its dependencies. Odoo is compatible with the packages in Debian
stable and Ubuntu LTS releases. The `requirements.txt <https://github.com/odoo/odoo/blob/master/requirements.txt>`_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
On Odoo.sh, Odoo uses the Python libraries available in the Linux distribution
to fulfill its dependencies. Odoo is compatible with the packages in Debian
stable and Ubuntu LTS releases. The `requirements.txt <https://github.com/odoo/odoo/blob/master/requirements.txt>`_
On Odoo.sh, Odoo uses the Python libraries available in the Linux distribution to fulfill its
dependencies. Odoo is compatible with the packages in Debian stable, and Ubuntu LTS releases.
The `requirements.txt <https://github.com/odoo/odoo/blob/master/requirements.txt>`_

stable and Ubuntu LTS releases. The `requirements.txt <https://github.com/odoo/odoo/blob/master/requirements.txt>`_
included with Odoo is intended for use on different distributions where the
same library versions might not be available. As a result, Odoo.sh does not use
Odoo's own requirements.txt file and there might be occasional differences
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Odoo's own requirements.txt file and there might be occasional differences
Odoo's own :file:`requirements.txt` file, and there might be occasional differences

Odoo's own requirements.txt file and there might be occasional differences
between them.

For example, reportlab 3.5.34 is the version available on Ubuntu 20.04 as a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably best with a custom "example" admonition for better readability. (note that a new "example" admonition should be added soon)

Suggested change
For example, reportlab 3.5.34 is the version available on Ubuntu 20.04 as a
.. admonition:: example
Reportlab 3.5.34 is the version available on Ubuntu 20.04 as a

Comment on lines +54 to +55
If a custom module requires a more recent version of a package than is
installed on Odoo.sh, you can specify it in your own requirements.txt file.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • I guess this could be written as a tip
  • new phrasing suggestion
  • "file" directive
Suggested change
If a custom module requires a more recent version of a package than is
installed on Odoo.sh, you can specify it in your own requirements.txt file.
.. tip::
If a custom module requires a package version more recent than the one installed on Odoo.sh, you
can specify it in your :file:`requirements.txt` file.

@raf-odoo
Copy link
Contributor Author

@jcs-odoo Thanks for the feedback, I'll hold off on responding to it for the moment, since it's possible this PR might end up getting deleted.

@amigrave
Copy link
Member

Indeed, #1364 will keep the details about installation procedure and as soon as it is published I will link the Odoo.sh FAQ to the debian/ubuntu section as the official method for Odoo.sh instances

#1364 (comment)

@amigrave amigrave closed this Dec 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants