End User Documentation

This Coopengo training is by FAR the best source of documentation I’ve found for new users. It’s absolutely terrific and easy to follow step-by-step. If you haven’t seen it, take a quick look.

Here are some observations of mine, from a brand new user’s perspective (I just started using Tryton yesterday). I think with just a little bit more guidance for brand new users, Tryton adoption could really take off, especially among small- to medium-sized businesses not wanting to pay a fortune for big ERPs and expensive consultants.

Firstly, just getting a development environment setup is tricky with Tryton. Sometimes “pip install tryton” actually fails due to pycairo, which is a bad first experience!

Second, it’s not immediately clear to new users (even very experienced developers) that they must deploy the server first (somewhere… could be localhost:8000 or AWS EC2 port 8000). Sure, maybe it’s easy if you have a degree in computer science and you’ve been working in IT for a few years. But for the average small business owner or accountant, not so much.

It’s not perfectly clear that the server is the glue between the database backend (which could be as simple as SQLite or as awesome as AWS RDS PostgreSQL) and the user’s actual experience in the client, which could be desktop software or a web browser. Some people don’t know what “client-server” means, let alone “model-view-controller”.

It’s also not clear, when exactly, you should setup your database. It’s actually left to the user to setup a PostgreSQL database somewhere, but that’s not immediately clear. Maybe just mention to new users that they should do this, and point them to a good Postgres installation/setup tutorial.

The following two commands should be very prominent, and totally exlained to new users. The first creates the tables in the database, which must first be created somewhere, and connected to… The second actually starts the web server, to which the client can connect.

  1. trytond-admin -d database_name --all
  2. trytond -c ./config.ini

The Docker Hub page with the Tryton images is also a bit cryptic. Just a few more sentences of explanation would save new users hours of head-scratching. Easy Docker container deployment can be a big selling feature of Tryton. Which brings me to my next point of Docker Compose.

Docker Compose is a very natural fit for Tryton, since Tryton is modular and Docker Compose links modular Docker containers together. @josesalvador shared this docker-compose.yml file with me, but I think a simpler 3-5 container setup would be very instructive to new users familiar with Docker. One container for Postgres, one for the server, one for the client, and maybe two more for internet deployment (Nginx and Certbot). Now that would be a quick setup.

Tryton also advertises that security is paramount, but how does one secure the server with HTTPS/TLS? Answer here.

I hope the above feedback is taken for what it is–the observations of a new user, struggling to get up to speed. Tryton is great, and the tech behind it is first-class too (Python3, Docker, and PostgreSQL). It’s actually the technology that attracted me, personally (plus the low cost).

Cheers,
-Sean

3 Likes