Welcome to the Transifex 0.7 release, codenamed Pyro.
Transifex 0.7 is intended for production use and is targeted for new installations of Transifex and parties who choose to migrate to a new major version and enjoy the new features.
Here’s a 40K-foot view of the release:
273 files changed, 10752 insertions(+), 2491 deletions(-)
The following major features were introduced in this release.
One of the often requested features in Transifex was an online translation editor. Users would like to perform simple translation tasks straight from their browser.
Transifex 0.7 includes an exciting feature in beta mode: ‘Lotte’, the lightweight online translation editor.
Projects which have enabled translation submission get a new icon, which translators can click to translate through the browser. Of course, the choice of uploading normal translated files still applies.
Here are some of the features you can find in Lotte:
Note that currently Lotte is enabled only for files with less than 100 strings for efficiency reasons. Improvements to the interface to enable efficient handling of larger files are scheduled with a next release.
This release features a major addition to the Transifex engine, which unlocks a multitude of new possibilities for controlling who can do what on the service. Support is now included for fine-grained permission control, allowing the definition of access control lists for a variety of actions.
These fine-grained permissions come in addition to the global permission support Transifex includes. One user of your deployment can have the permission “Can do Foo on any project”, and another one the “Can do Foo on project Bar” one.
Project maintainers are now able to modify the details of their projects. They can alter the associated information, control the components they have registered and the releases they are assigned to.
Transifex now allows users to register their own projects. People who do this automatically become maintainers of the project, and later on they can choose to pass on the maintainership to other people, or simply add more people on the maintainers list.
To enable this feature, the admin needs to give the permission ‘projects.add_project’ to the group of users with the name ‘registered’. This can be done as usual from the admin panel.
Project maintainers are now able to choose who can submit files to their repository. This can help the maintainer form a group of translators who he trusts, which is specific to his project. Using a special form, one can add one by one the translators they trust.
Additionally, users themselves can request access to a project. The maintainer will be notified with this request and act upon it. The user has the choice to revoke his request, if he chooses so.
In addition to submitting files to remote versioning systems over SSH, Transifex now supports submission via email to the project maintainers. This could be useful for setup scenarios such as the following:
Note
Submissions via email are not stored on the Transifex server. The translation statistics are not updated with the commit, since there is no way to know if the maintainer is indeed going to commit the file in his repository.
Transifex 0.7 features a brand new backend for user account and profile management. Users are able to include information about themselves and manage their account in detail. Here are some of the features supported:
Warning
OpenID was dropped in this release. The plan is to re-add it in a next release, depending on the feedback from our users.
This new i18n support method allows handling of Publican-like documents. These include multiple source and translation files, allowing more than one people translating the same language by working on different files at the same time. Publican is the base tool for building the Fedora Project documents such as the Release Notes.
Transifex 0.7 drops support for VCS “branches” for Subversion, Mercurial and Bazaar versioning systems. These VCS types traditionally define “big-picture” branches: a checkout/clone of a particular URL is considered a “branch”.
By dropping the input of a branch name for these types, Transifex allows users to define just any URL they want, as long as it’s a URL which can be checked out or cloned.
With this feature, support is added for non-standard branching names for Subversion repositories (contrary to the /trunk and /branches/<name> scheme. When adding your repository, just provide the full URL as your root, like so:
http://svn.example.com/svn/mybranches/1.1
svn://svn.example.com/svn/trunk
Furthermore, the default branch name for Mercurial has been renamed to ‘default’, which is a better branch name to use than ‘tip’.
An automatic data evolution for Subversion and Mercurial repositories is included, which will migrate your data to support the newer branch definition format.
Support for Git and CVS branches continues as before.
Quite a few URLs have been slightly modified in this release. In particular, keywords in the URLs have been prepended with a letter denoting the action taking place. This improves the namespace of the URLs for future additions and enhances usability by distinguishing parts in the URL which are keywords. (#298)
The following structure is now used:
<section>/<object_alias>/<object_slug>/<action>
Here are some examples:
/projects/transifex/ → /projects/p/transifex/
/projects/transifex/default → /projects/p/transifex/c/default
/languages/pt_BR → /languages/l/pt_BR/
Warning
This is a backwards incompatible change. Please modify your links and notify your users to update their bookmarks.
Transifex now comes pre-configured with logging support to a file on the disk in the logs/ directory. You can control the verbosity through the corresponding configuration options. Make sure the directory is created by running the command ./manage.py txcreatedirs.
Here is a sample output of the file, with the logging level set to DEBUG:
2009-08-21 18:29:05,812 DEBUG Requested stats calc for component usermode.tip
2009-08-21 18:29:05,813 DEBUG Updating local repo for usermode.tip
2009-08-21 18:29:05,816 DEBUG Preparing repo for vcsunit usermode.tip
2009-08-21 18:29:16,405 DEBUG Repowatch revision file po/as.po: Old: (...L,), New: (...L,)
2009-08-21 18:29:16,450 DEBUG Setting stats for tip (Usermode)
2009-08-21 18:29:22,119 INFO localhost -- [GET /projects/p/usermode/c/tip/set_stats/ HTTP/1.1] 302 0
2009-08-21 18:29:23,437 INFO localhost -- [GET /projects/p/usermode/c/tip/ HTTP/1.1] 200 10997
The following issues have been fixed in this release:
The following translations of Transifex were added or updated in this release:
Project and community managers who want to deploy Transifex for their own community can get Transifex in a variety of ways.
A tarball of Transifex 0.7 is available from the following locations:
RPM packages for Fedora 9, Fedora 10, and Fedora Rawhide are or will soon be available via yum:
yum install transifex transifex-extras
RPM packages for RHEL 5, CentOS 5, and Scientific Linux 5 will be available in the Fedora EPEL yum repository.
Information about installing Transifex can be found in the Installation documentation.
Note
If you are interested in reading the Installation documentation exactly how it looked like when 0.7 was released, please refer to our archived `Install Docs for 0.7`_.
If you want to play with the latest Transifex code, you may want to use our development images for the Transifex Appliance. Following the stand-alone, “batteries included” model of software appliances, you get a complete Transifex system with all dependencies and services pre-configured so that you can start experimenting with it right away. Choose from ISO, VMware or EC2 images, for both x86 and x86_64 architectures to run on a virtual machine, dedicated server or using a virtualization software.
Your appliances can be updated using its own web based management system by pointing your browser to the appliance’s IP using port 8003. Login with the credentials ‘admin’ and ‘password’. Make sure to change the password once you’ve successfully logged in.
This appliance version is based on the 0.7 branch of Transifex, where a couple of projects have already been created for you to play with. Log in using either guest/guest or editor/editor as your user name and password combination and tinker to your heart’s content!
Make sure to read the documentation and file issues/send us your feedback.
To upgrade the code, update your package distribution as usual. Here are some additional steps you might need to execute, depending on your environment:
The following dependencies were added in this version:
The following dependencies were removed in this version:
For instructions on how to install them, refer to the Installation docs. You’ll need to complete this step before actually doing the database upgrade.
Transifex includes a script which will automatically migrate your database to the new schema from the previous version. All you need to do, from a clean 0.6 schema, is run the following:
./manage.py syncdb
./manage.py migrate 0001_initial --all --fake
./manage.py migrate
To upgrade from a 0.5 schema to 0.7 you first need to upgrade your schema to 0.6 and from there to 0.7. Instructions for the first step can be found in the relevant section of the Transifex 0.6 release notes.
Finally, run the following two commands to add any new objects updated from the last release:
./manage.py txcreatelanguages
./manage.py txcreatenoticetypes
Finally, review the changes which have happened in the configuration settings and update yours accordingly. If your config file are stored in a place not handled by the upgrade, then you’ll need to copy them over or update them.
In general, if you have overridden your settings in a file such as 90-local.conf you should be OK since the upgrade will just update the other files and leave that alone.
The following people have contributed to this release, with one way or another:
For a list of our awesome translators, refer to the Translations section.
We’d like to publically thank the Greek Open Source Company for their ongoing support in the Transifex development.
Transifex 0.7.1 release, codenamed Frenzy, is a maintenance release, which fixes a few minor issues.
Transifex 0.7.2 release, codenamed Basilisk is a maintenance release, which fixes a few issues.
Transifex 0.7.3 release, codenamed Quicksilver is a maintenance release, which fixes a few issues.
Transifex 0.7.4 release, codenamed Xorn, is a security release which fixes one issue when users are allowed to administrate their own projects.
Prior to this release, a project maintainer could define a special URL which Transifex has access to, but resides on the filesystem. This way users could gain unauthorized access to local versioned repositories on the Transifex server. This applied to distributed VCSs and can be accomplished by defining the correct local path as the repository URL (eg. /transifex/local_repos/git/...).
The allowed repository root URLs are now limited to specific prefixes, such as ssh:// and http://, via a validator which verifies that the URL has a correct prefix. The list of allowed prefixes is a white list and is defined in the vcs-related config files, settings/60-vcs.conf and settings/80-vcs-extras.conf.
Additionally, a new basic validation has been added, which does not allow the use of repositories which have been registered to other projects.
Transifex instances which are affected are those allowing users to add their own projects (project_add permission open) or are using project maintainers instead of site-wide admins only.
This release adds a new configuration option: ALLOWED_REPOSITORY_PREFIXES. You can download it from http://pypi.python.org/pypi/transifex/0.7.4.
Two release candidates were shipped for 0.7, RC1 and RC2, on August 7 and August 14 respectively.
Please refer to the full Transifex 0.7 changelog for more information on what has changed between these releases and the final 0.7 release.
Sep 24, 2010