Teambase architecture

Teambase, or Silvestris/Cyclotis, is a client-server, which can be described by the following schema :

The server (1) is actually necessarily based on PostgreSQL version 8.3 or later (9.2 or more is recommended). Only PostgreSQL is supported: the reason for that is that we do an intensive use of the package “pg_trgm”, for fuzzy searches and indexation.

The plugins (2) - actually, one for OmegaT and one for Trados - can access either directly to the Postgres server, or via an intermediate HTTP proxy (5). The first solution is faster, the second is more secure (it should be the only available if you share via internet) and it enables a massive hosting, while direct access is limited to 100 simultaneous users.

Plugins are here to read or write in an existing table, not to create them. Doing it directly in the server is possible but you may not want to create an unix account for all people who want to do it. So, the best way is to use one of the two web/http interfaces (3): the HTML version (3-H) enables to do it from the browser, but is not very user-friendly. The XML version (3-P) is here to enable integration in your workflow: it provides a REST API which developers in your team may use to add "memories creation" feature in your existing planification tool.

For example, the DGT-OmegaT Wizard (4) includes the possibility to create, delete, and see existing memories, but it only works if it can connect to an instance of the 3-P server.

Contrairly to most OmegaT plugins, which are singletons available independently from the project, TeamBase instances are specific to a project, and you can have more than one in a single project.

The Wizard has the capacity to create an OmegaT project (6-O), as well as the specific descriptor file for the main instance (7). But if you prefer you can create the project yourself, and for the descriptor file (7), you can generate it from the 3-P server, or copy and modify it from another project, if you prefer.

Add new comment