What is Tryton?
Generally speaking, Tryton is a high level computer application platform. It is a three-tiered system over which an Enterprise Resource Planning (ERP) system is built. This business solution acts through sets of Tryton Modules.
The three levels in Tryton’s architecture include:
- Tryton – The tryton Client
- Trytond – The tryton server
- Database Management System
The platform and the official modules are licensed under GPLv3. These are open sourced solutions and exist as free software.
Basically, Tryton provides some essential modules which can be directly imported into a business and can be extended for enhanced functionality.
The origin of Tryton can be traced back to the fork of TinyERP version 4.2, later renamed as Odoo. Tryton was first released to the public in November, 2008.
The official modules offer coverage for the following functional fields:
- Project Management
- Sales Management
- Inventory Management
- Purchase Management
- Analytic Accounting
- Lead and Opportunity Management
- Manufacturing Resource Planning
Technical Specifications of Tryton
Apart from the database management system, all the Tryton applications including Client and Server are written in Python, a popular open source programming language. The Tryton client uses GTK+ as its graphical toolkit. The framework is available for all major operating systems including Linux, Windows and OS X. Apart from this, a standalone version for Tryton Server and Client exists and is referred to as Neso.
The Tryton Core provides the quintessential requirements of most business applications. However, the framework is fairly general purpose and is not linked to any specific functional fields.
The general framework comprises of:
1. Data Persistence
Data persistence means that information is accessed infrequently and is not usually modified. Tryton ensures persistence of data such as customer information by using accessor objects which are known as Models. Models allow easy access, migration as well as creation of records.
2. User Management
The Tryton kernel has in-built functionality of base features which handles user management including user group handling, access rules of models and records and so on.
3. Workflow Engine
A workflow engine is a software framework which can automate a single or multiple processes. These processes are usually business related. While some of the automation steps may need human intervention, but most functions are handled by the application. In Tryton’s case, the default workflow engine allows the application to activate a workflow on either an existing business model or setting up a new one.
4. Report Engine
The report engine of Tryton is based on Python- Relatorio, a templating library which outputs different file formats easily including.odt,.ods,.png etc. It also used these files as templates and in turn, generates reports in ODT or PDF formats.
Tryton is easily accessible in all major languages of the world including English, German, Spanish, French, Italian and Catalan. Moreover, the new translations can be imported directly from the client interface.
6. Data Historization
Extending its functionality as a business application platform, Tryton allows enabling historical data for any business model. This helps in accessing dynamic historized records for any time period, making reports and generating leads easily.
7. Protocol Support
Tryton has in-built support for Distributed Authoring and Versioning (DAV). It supports CalDAV, WebDAV And CardDAV, thereby allowing out-of-the-box management of documents and calendar and contacts sync.
Apart from this, Tryton also features:
- Database Independence
- Support for JSON-RPC and XML-RPC protocols
- Automatic Migration Mechanism which allows updating the database scheme without any human intervention.
- Advanced Modularity
Tryton or not to Tryton
While there are a number of factors which make using Tryton advantageous.
Let’s shed some light on the pros and cons of using Tryton.
a. Stability and Quality
- PEP 8 compliance
- Development branch is always runnable
- Separate package modules which can be updated independently
- Improved constraints like right access on delete cascade, dynamic required state validation and decimal digits validation.
b. Automatic Migration Mechanism
c. Independent Modularity
- SSL support on NetRPC
- Footprint and Certificate Validation
e. Single report engine
f. Open discussions before new developments from the team.
g. Single translation format.
Not So Tryton
a. No production module and the OpenERP is not highly functional.
b. Lack of more CRM features.
c. No webclient support except use with Django.
d. Custom development required on some modules of Tryton As of now, there are only sources available, and no packages.
e. Lack of proper documentation
Essentially a Business Solution Platform, Tryton can be extended as a platform for other solutions than simply ERPs as well. Some prominent examples of Tryton Users include GNU Health, a Hospital Information Platform based over Tryton.
The goal behind Tryton is not to create a direct competitor but to provide a new way to tackle the problem of programming a business software. The idea is to favor a solid and consistent solution over more cutting edge features