Source Code
Source Code and Documentation
Because Transana is open source, the source code, and source code documentation is available for download. Please read the Open Source Information page to learn about any restrictions that apply.
The source code itself is available from SourceForge.net, an online repository of open source source code. The source code documentation is in the form of web pages, allowing us to update it as necessary.
If you download the source code and adapt Transana to your needs, please contact the developers to arrange to share a copy of your changes with the rest of the Transana community. If you are not willing to share your changes, then please do not use the source code.
Source code
Transana's current source code is available through CVS access at http://www.sourceforge.net/projects/transana. It is NOT a file download. Please see SourceForge's CVS documentation for more information.
|
Source code documentation (NOTE: Out of date)
HTML files that describe every module and every class, as well as giving an indication of how the source code files group together logically.
|
Database Diagram, v. 2.50
A PDF file showing Transana's database structure
|
Setup Instructions
Transana is a complex program, and it requires a bit of effort to set your computer up correctly to work on Transana's source code. You have to have the proper development environment in place, or Transana's source code won't run.
There are four components you need to put in place for your development environment.
1. Python. Python is the programming language I use for Transana development. Transana 2.42 used Python 2.5.4. I am currently using Python 2.6.6 on Windows and OS X for Transana 2.50.
2. wxPython. wxPython is a cross-platform GUI toolkit that allows developers to use wxWidgets with Python. Transana 2.42 used wxPython 2.8.10.1 on Windows and wxPython 2.8.9.2 on OS X. For the next release, I am using wxPython 2.8.12.1 on both platforms. This version has a serious problem on Windows, but the 2.9 series of wxPython releases introduce a number of other bugs and I just can't make the jump at the moment.
3. MySQL for Python. MySQL for Python is a tool that allows developers to access MySQL databases with Python. MySQL for Python needs to be built for Embedded MySQL for single-user Transana and for Server MySQL for multi-user Transana. Transana 2.42 used MySQL for Python 1.2.0 with MySQL 4.0.25 for single-user Transana for Windows (because I couldn't get later combinations to compile correctly) and MySQL for Python 1.2.2 with MySQL 4.1.22 for single-use Transana for OS X. I used MySQL for Python 1.2.2 for multi-user Transana on both platforms. I am now using MySQL for Python 1.2.3c1 with MySQL 5.1.44 for Windows and MySQL for Python 1.2.3 with MySQL 5.1.41 on OS X, I think.
4. Transana 2.50 requires version 1.7.7.1 (George) of Paramiko, along with version 2.3 of Crypto. It was rather difficult, as I recall, to get this set up correctly, and unfortunately, I've lost track of what I did that worked. You'll have to recreate this on your own.
5. Transana requires that its Internationalization support files be in place to run.
The easiest way to accomplish this is to copy the "locale" folder over from your Transana installation. The hard way would be to start with wxPython's localization files and then use a tool like Poedit to extract the prompts from Transana, then do all of the translations, then build the portable object files.
6. The Message Server code also requires PythonWin to run on Windows. I'm currently using version 216 as I work on Transana 2.50.
|