Sometimes when two projects are translated in parallel il is difficult do decide whenever they should be linked via the same Cyclotis database or if both should have its own one. Using the same database enables to receive info from another project, but you may also consider these info as "noise" if the projects do not use as much the same vocabulary as you could expect when you read the source files.
Cyclotis offers for that purpose a notion inspired from object-oriented programming: two projects can inherit from a more global one. Then each user can select whenever he wants to profit from inheritance (receive also data from other projects of the same inheritance tree) or if he prefers to receive only data from translators really working on the same document. At client side it can be changed at any moment: if you realize, at middle of your work, that segments from global project look like noise for you, you can decide to go back to single project only, without even having to alert your colleagues about it: even if you don't receive their work anymore, they continue to receive yours until they decide to inactivate inheritance.
On the other hand, at server side inheritance must be decided when the memories are created:
- When you create a new memory, you can attach it to an existing tree or build a totally new one;
- At any moment, a memory is susceptible to receive new children
- When you delete a memory, people using inheritance do not receive anything from this memory, but except for that, everything continues to work
- But you cannot, for the moment, move a memory in the inheritance tree.
In practice, most teams would probably group projects by target language, and then, either by client, or by thematics, or both (multiple inheritance is possible in some configurations, not in all of them). When a new project is created, it is affected by inheritance to the correct client or thematics. Then, when a translator connects to the memory of his project, he can select whenever he also wants to see everything relating to same thematics, or only the contents from other translators but in the same project. And once again, this is dynamic: at any moment the translator can decide to inactivate inheritance for himself (but other translators continue to see his work), and if a new project arrives for the same thematics, it is immediately accessible to all translators connected to the thematics memory, even for projects which existed before creation of the new memory!