Server system requirements?


I’m evaluating for a small install what ERP to use, I used OpenERP in the past before it became Odoo and all the licenses mess, so I wanted again to evaluate a truly open option and Tryton makes sense (also because it’s kind of a spin-off of it, but keeping it open).

I don’t want to criticize in my first post the product, I know the tremendous effort it may be to have a product and documentation like you have now without having the backing that companies like the one around Odoo has, but I want to keep honest, and I was very surprised to dig into the documentation for more than half hour now, and still not have an idea of what are the system requirements in order to install at least the server instance:

  • What Python versions are supported? Is Python 3+? from which version at least ? 3.4+ ??
  • What is the minimal version of Postgres supported? Is Postgres the only database supported or can I use also lets say MariaDB or MySQL?

This information is almost the first thing you use to find in any small project you want to use or test, even in small projects where the only documentation is a README file at the root of the only repository of the project.

Note aside, also while writing this first post, I’m very surprised to not find the project hosted in a platform like Github, Gitlab, or even Bitbucket. Is it because none one of these platforms support today the Mercurial VCS?

It’s hard to collaborate with an OSS these days without a platform like those, I remember to collaborate with patches in OpenERP projects in the Launchpad / Bazaar days, very rudimentary platform to collaborate but at least allowed to do so in a more open way, with pull requests that are easy to check because everything is linked in one link: the patch, a description of the patch, the history of the patch and the feedback with the back and forth from different contributors, even with comments between source code lines (not all these features are available in all these platfroms though).

Hi Mariano.

Welcome to the Tryton community.

It depends on the series. For example, the latest 6.0 series require python 3.6, while 5.0 LTS series require python 3.5. We declare that on the file of each package. So the python packages are aware of the required version.

I’m not sure if we have a minimal version required. We try to have support for as much as possible versions, adding support to newer versions on newer series.

We support PostgreSQL and sqlite by default. Altought we use sqlite just for fast testing and we recomend using PostgreSQL for production.

We support using custom drivers for other databases. IIRC there was a driver for Oracle, which I’m not sure if is still maintained.

We have a mirror on github but all the development is done on our mercurial servers. We have a specific page on our website explaining how we develop and we welcome contributions for everyone.

This is a mather of taste. Once you are used to some way of working you may find hard to colaborate in another. For example, for people used to working on the tryton development process may find hard to use other platform workflows.

Having said that I will invite you to try our workflow and you will realize that is not as hard as you think. I will be happy to reply any doubts you may have. Also, if you want to have a dedicated training there is a How to contribute to Tryton course on the TrytonAcademy that may help you in all the process.

Officially we support the version that PostgreSQL keep supporting.
But in fact PG is very backward compatible so Tryton should probably still work with the version 8.

We had also one for MySQL. But at the end nobody cared about them because PostgreSQL is better for an ERP needs (like accurate rounding and computation with number, flexible indexes etc.).

1 Like

As mercurial is the chosen VCS, that is indeed one good reason not to use any of those services…

As always there are pros and cons to whatever approach you take.

If you are using a third party service you need to take into account that they may stop supporting your VCS of choice, randomly decide to lock you out, or might just stop working, and if that happens there is very little you can do to fix things. Often when things go wrong you are then stuck waiting, and hoping, they can/will resolve the issue.

Thanks for your answers @pokoli and @ced , very clear. I understand what you say about different versions, although the documentation of Tryton is already versioned, I see you use Readthedocs that keeps track of the documentation for each release, so add a Requirements section on the last version, and update the requirements on each release is something that definitely would add value to the docs.

Dave, yes you make your point, but IMHO, software is also like that: Python 2.x is not supported any more, so at some point this and other projects needed to move out of older versions, same for Postgres or whatever component.

I think using any of these platforms add more value that the risk they posses. Today any developer is used to work on any of them, actually the workflows are almost the same in any of them, and it’s very easy to see and collaborate, you can even add comments and suggestion inline without installing and the need to learn anything new, just a browser is required for a quick but useful review.

Anyway, I understand that the move from already established infrastructure, workflows and the move from Mercurial to Git would take a big effort, I have read about others companies doing the same and the cost was higher than the originally estimated. The best example is actually Odoo, that moved from Bazaar/Launchpad to Git/Github, and it was a tremendous effort.

Thanks all for the quick responses, much appreciated.

1 Like

IIRC we have such section on the past but it was not updated so instead to give wrong requirements we prefered to include just on the package.