Documentation

Get Involved

Accessing the Source Code

The source code for Fénix Framework is available from
this GitHub repository.
We follow a gitflow-oriented development process. To obtain the
version of the code that you want, you should take into account the following
branch names:

cloudtm/develop (here): Development branch for
the Cloud-TM project’s specific features.

During the second half of 2012, Fénix Framework has undergone a significant
refactoring, in which we added the concept of a Backend. Each concrete
backend is a replaceable sub-module of the framework that provides the
bindings from the DML model to a concrete transaction system and a concrete
data storage system. Above all, this allows the programmer to replace one
backend with another without having to rewrite any of the application code.
This is possible because the code generators provided by each backend maintain
a common API for the generated code. This and many other core changes have
led to the release of Fénix Framework 2.0.

However, not all features from Fénix Framework 1.x we’re initially ported to the
new architecture. We intend to integrate all those features, but, until that
happens, the master branch will be dedicated to releases of versions 1.x, as
this is the version used, in production, by all applications that are deployed
using the Fénix Framework. Versions 1.x will only support the JVSTM on top of
a MySQL database. The already release version 2.0 supports only the backends
used in the Cloud-TM project, as porting all the 1.x codebase was more
complex. That has been achieved and is already in the development branch,
ready to be included in release 2.1. Hence, from release 2.1 upwards, the
framework fully supersedes the functionality of versions 1.x.

The work on Fénix Framework has been partially supported by FCT, via the Pastramy project (under contract number PTDC/EIA/72405/2006), and, more recently, by the Cloud-TM project, which is co-financed by the European Commission through the contract number 257784.