Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > e4bbdaa133bf14de79621d7fdfa39df4 > files > 160

transifex-0.9.1-1.fc13.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Transifex version 0.9.x release notes &mdash; Transifex v0.9.1 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '0.9.1',
        COLLAPSE_MODINDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="top" title="Transifex v0.9.1 documentation" href="../index.html" />
    <link rel="up" title="Release notes" href="index.html" />
    <link rel="next" title="Transifex version 0.8.x release notes" href="0.8.html" />
    <link rel="prev" title="Release notes" href="index.html" /> 
  </head>
  <body>

    <div class="document">
  <div id="custom-doc" class="yui-t6">
    <div id="hd">
      <h1><a href="../index.html">Transifex v0.9.1 documentation</a></h1>
      <div id="global-nav">
        <a title="Home page" href="../index.html">Home</a>  |
        <a title="Table of contents" href="../contents.html">Table of contents</a>  |
        <a title="Global index" href="../genindex.html">Index</a>  |
        <a title="Search" href="../modindex.html">Modules</a>
      </div>
      <div class="nav">
    &laquo; <a href="index.html" title="Release notes">previous</a> 
     |
    <a href="../contents.html" title="Table of Contents" accesskey="U">up</a>
   |
    <a href="0.8.html" title="Transifex version 0.8.x release notes">next</a> &raquo;</div>
    </div>
    
    <div id="bd">
      <div id="yui-main">
        <div class="yui-b">
          <div class="yui-g" id="releases-0.9">
            
  <div class="section" id="transifex-version-0-9-x-release-notes">
<span id="releases-0-9"></span><h1>Transifex version 0.9.x release notes<a class="headerlink" href="#transifex-version-0-9-x-release-notes" title="Permalink to this headline">¶</a></h1>
<div class="section" id="transifex-0-9-mojo">
<h2>Transifex 0.9 (Mojo)<a class="headerlink" href="#transifex-0-9-mojo" title="Permalink to this headline">¶</a></h2>
<p>Welcome to Transifex 0.9, codenamed <a class="reference external" href="http://en.wikipedia.org/wiki/Mojo_(comics)">Mojo</a>.</p>
<dl class="docutils">
<dt>Released:</dt>
<dd>19 July 2010</dd>
</dl>
<p>Transifex 0.9 &#8216;Mojo&#8217; is a production release of Transifex. It is targeted for
new installations of Transifex and parties who choose to migrate to a new major
version and enjoy the new features.</p>
<p>Transifex 0.9 is an interim release, sorts of. It does ship a number of new
features and a multitude of important bugfixes. It also prepares the ground for
the next major release, which will include some huge changes in Transifex&#8217;s
codebase. Stay tuned for more, but until then, let&#8217;s enjoy the fresh air
Transifex 0.9 brings to our daily multilingual life.</p>
<p>Here&#8217;s a 40K-foot view of the release major features and numbers:</p>
<ul class="simple">
<li>Add-ons engine</li>
<li>Project Team Sharing</li>
<li>More i18n directory structures</li>
<li>Widgets</li>
<li>Improved file ownership</li>
<li>More pre-submit checks</li>
<li>Improved handling of VCS Exceptions</li>
<li>Improved searching</li>
</ul>
<div class="highlight-bash"><div class="highlight"><pre>336 changesets recorded
38 tickets resolved
798 files changed, 132258 insertions<span class="o">(</span>+<span class="o">)</span>, 87223 deletions<span class="o">(</span>-<span class="o">)</span>
</pre></div>
</div>
<div class="section" id="being-served-hot-at-transifex-net">
<h3>Being served hot at Transifex.net<a class="headerlink" href="#being-served-hot-at-transifex-net" title="Permalink to this headline">¶</a></h3>
<p>Transifex 0.9 is a release of the open-source, community-powered Transifex
flavor. It is suitable for very large projects with their own existing
translation community, such as the Fedora Project, the GNOME Desktop etc.</p>
<p>Transifex is also offered as a Software-as-a-Service, at
<a class="reference external" href="http://www.transifex.net/">www.transifex.net</a>, ready to serve your translations with a few clicks.
Transifex.net is a one-stop, batteries-included hosted service serving more
than 870 independent projects and businesses which don&#8217;t want to worry about
deploying their own Transifex instance.</p>
<p>Transifex.net is managed by <a class="reference external" href="http://www.indifex.com/">Indifex</a>, the company sponsoring the development
of Transifex itself.</p>
<div class="figure">
<img alt="../_images/frontpage.png" class="alcenter shot2" src="../_images/frontpage.png" />
</div>
<p>For a hassle-free translation management platform, visit <a class="reference external" href="http://www.transifex.net/">Transifex.net</a>.</p>
</div>
<div class="section" id="what-s-new-in-transifex-0-9">
<h3>What&#8217;s new in Transifex 0.9<a class="headerlink" href="#what-s-new-in-transifex-0-9" title="Permalink to this headline">¶</a></h3>
<p>Let&#8217;s see what&#8217;s fresh!</p>
<div class="section" id="extension-engine">
<h4>Extension engine<a class="headerlink" href="#extension-engine" title="Permalink to this headline">¶</a></h4>
<p>Transifex 0.9 sports a brand-new extension engine called <a class="reference external" href="http://bitbucket.org/indifex/django-addons/">django-addons</a>, which
allows developers to write plug-and-play extensions (or plug-ins) which extend
or override parts of the core functionality. <a class="reference external" href="http://bitbucket.org/indifex/django-addons/">django-addons</a> was developed by
the Transifex team and is now shipped as a reusable Django application.</p>
<p>Here are some of the benefits of this support:</p>
<ul class="simple">
<li><strong>Extensibility</strong>: By creating hooks and connectors in the Transifex core code,
extra code can be decoupled and stored in separate directories. This allows
more functionality to be added when needed with less hassle.</li>
<li><strong>Reduced code complexity</strong>: By storing code in more and smaller files, the code
is more readable and manageable.</li>
<li><strong>Scalability</strong>: Addons can be enabled and disabled on the production web-server,
and the addons which fully support this functionality can simply be
deactivated if needed (for example, when high traffic hits your site).</li>
<li><strong>Friendlier code</strong>: New developers are more free to experiment with new features
without having to mess with Transifex internals which might seem complex in
first sight.</li>
</ul>
<p>A number of Transifex applications have been converted to addons, which may be
disabled if needed. Here&#8217;s a list of them:</p>
<div class="highlight-python"><pre>$ ./manage.py addons
Available addons:
 * charts - Google Charts for Transifex
 * locks - Locking mechanism for Transifex
 * presubmit_checks
 * repowatch - Repository watching
 * timeline - Timeline for Transifex
 * txcron - Transifex Cronjobs
 * widgets - Transifex Widgets</pre>
</div>
<p>Finally, for the Django developers out there, here are some of the features
supported by django-addons:</p>
<ul class="simple">
<li>Automatic URL discovery of addons: No need to tweak your main project&#8217;s
&#8216;url.py&#8217; file.</li>
<li>Automatic signal connecting of addons</li>
<li>Support for &#8216;default settings&#8217; per addon</li>
<li>Template hooking system (inject code from addons to your main project)</li>
<li>Support for &#8216;django-staticfiles&#8217; to serve site media from each addon</li>
<li>Automatic registration of &#8216;<a class="reference external" href="http://github.com/jtauber/django-notification/">django-notification</a>&#8216; notice types</li>
<li>Support for storing and loading localization from inside each addon</li>
<li>Disable addons using a management command: <tt class="docutils literal"><span class="pre">./manage.py</span> <span class="pre">addons</span></tt></li>
<li>Addons overview page, allowing admins to learn what addons are currently
activated.</li>
</ul>
<p>For a full list of features and code examples, please refer to the
<a class="reference external" href="http://bitbucket.org/indifex/django-addons/src/tip/docs/index.rst">django-addons documentation</a> itself.</p>
<div class="figure">
<img alt="../_images/addons.png" class="alcenter shot2" src="../_images/addons.png" />
</div>
</div>
<div class="section" id="project-team-sharing">
<h4>Project Team Sharing<a class="headerlink" href="#project-team-sharing" title="Permalink to this headline">¶</a></h4>
<p>A great new feature is the ability to share translation teams between projects.
A Transifex project can now &#8216;outsource&#8217; its language teams to another one,
effectively trusting and re-using the other project&#8217;s community to translate
its own resources.</p>
<p>Why is this useful? Open source software projects tend to group together in
larger communities. Good examples of such project collections are desktop
environments, such as GNOME and KDE, or distributions, such as Fedora and
Moblin. Since Transifex supports per-project translation teams, these
communities requested the ability to re-use the collection&#8217;s translation teams
instead of managing their own.</p>
<p>This control can accessed by Project Maintainers under the tab &#8220;Access Control&#8221;.
Note that this project&#8217;s fine-grained permission and team controls are disabled
once the project outsources its access control.</p>
<div class="figure">
<img alt="../_images/outsource.png" class="alcenter shot2" src="../_images/outsource.png" />
</div>
<p>The Teams Outsourcing feature is the major lever behind the very influential
website <a class="reference external" href="http://meego.transifex.net/">http://meego.transifex.net/</a>. There, the MeeGo project, a common effort
between Intel, Nokia and the Linux Foundation, hosts the translations of a large
number of projects, all being translated by the same community: The MeeGo
Localization Community.</p>
</div>
<div class="section" id="widgets">
<h4>Widgets<a class="headerlink" href="#widgets" title="Permalink to this headline">¶</a></h4>
<p>Starting with this version, each Transifex project now has its own Widgets.
You may now display your project&#8217;s translation statistics on your website
as a simple image. Perfect for embedding in wiki pages, Trac instances, emails.
The chart will always reflect your live Transifex numbers.</p>
<p>Widgets are publicly accessible from a tab on the Project Details page.
Additional widgets may be available in the next releases in the same place.</p>
<div class="figure">
<img alt="../_images/chart.png" class="alcenter shot2" src="../_images/chart.png" />
</div>
</div>
<div class="section" id="improved-file-ownership">
<h4>Improved file ownership<a class="headerlink" href="#improved-file-ownership" title="Permalink to this headline">¶</a></h4>
<p>The file locking feature has been greatly improved in this version. The new
functionality more closely resembles &#8220;file ownership&#8221;. Here&#8217;s a list of the
improvements which have taken place:</p>
<ul class="simple">
<li>The download button has been replaced with the message &#8220;Download for viewing&#8221;,
indicating that this action will not also assign the translation to the person
clicking it.</li>
<li>Submit access has been restricted to the person holding the lock.</li>
<li>Editing in Lotte now automatically assigns the file to the user.</li>
<li>Users are only allowed to lock 2 files and locks expire by default in 2 days,
signifying the importance of the file ownerships. Both these settings are
configurable by the Transifex administrator.</li>
<li>When a file ownership is about to expire (e.g. 12 hours before), a
notification is sent to the owner.</li>
<li>Users can submit part of their job and continue working on their files by
extending the lock upon file submission.</li>
<li>The owner of a file is allowed to “Extend lock for 2 more days” by clicking
the related icon next to the file.</li>
<li>Language coordinators are able to remove ownership from other people&#8217;s files
for the language files they are responsible for.</li>
</ul>
<div class="figure">
<img alt="../_images/lock.png" class="alcenter shot2" src="../_images/lock.png" />
</div>
</div>
<div class="section" id="more-i18n-directory-structures">
<h4>More i18n directory structures<a class="headerlink" href="#more-i18n-directory-structures" title="Permalink to this headline">¶</a></h4>
<p>Transifex 0.9 introduces an overhaul of the <tt class="docutils literal"><span class="pre">guess_language</span></tt> method using
regular expressions (tickets #541, #542), adding support for a number of i18n
directory structures and shows improved extensibility.</p>
<p>This method is run whenever the statistics are refreshed, so approximately once
per day. The new code has no visible overhead (when run against 30.000 files, it
takes 0.30 seconds, compared to 0.14 seconds it took before).</p>
<p>The standard directory structures supported now are the following:</p>
<ol class="arabic simple">
<li>PO files inside a po directory named with the language code
(<tt class="docutils literal"><span class="pre">/po/&lt;lang&gt;.po</span></tt>). Depending on the i18n method, a POT file might be
available or not.</li>
<li>The LC_MESSAGES locale standard (<tt class="docutils literal"><span class="pre">/&lt;lang&gt;/LC_MESSAGES/something.po</span></tt>).</li>
<li>Grouped language files (<tt class="docutils literal"><span class="pre">/po/el/foo.po</span></tt>)</li>
<li>Suffixed language files (<tt class="docutils literal"><span class="pre">/po/foo.el.po</span></tt>)</li>
<li>The Publican standard structure. The languages are discovered by the
presence of the &#8216;pot&#8217; directory in the tree. A &#8216;pot&#8217; directory is needed to
allow the language discovery.</li>
</ol>
</div>
<div class="section" id="more-pre-submit-checks">
<h4>More pre-submit checks<a class="headerlink" href="#more-pre-submit-checks" title="Permalink to this headline">¶</a></h4>
<p>Transifex now supports more validation checks for a submission. This helps
avoiding wrong submissions and can reduce the maintenance overhead for the
developer and Transifex administrator. Here is a list of the checks added:</p>
<ul class="simple">
<li>Reject empty files (0% translations)</li>
<li>Reject access to POT files</li>
<li>Warn in the presence of DOS language endings in the file</li>
<li>Option to disallow anything other than UTF-8 header encoding</li>
<li>Check the existence of a &#8216;Plurals-Form&#8217; header in a file</li>
</ul>
</div>
</div>
<div class="section" id="various-improvements-and-bugfixes">
<h3>Various improvements and bugfixes<a class="headerlink" href="#various-improvements-and-bugfixes" title="Permalink to this headline">¶</a></h3>
<div class="section" id="improved-searching">
<h4>Improved searching<a class="headerlink" href="#improved-searching" title="Permalink to this headline">¶</a></h4>
<p>The search box now also crawls in project names and descriptions, components,
repository URLs. Now, users can search for projects having specific keywords
in their description, projects hosted on a particular hosting website such as
gitorious, etc.</p>
</div>
<div class="section" id="improved-handling-of-vcs-errors">
<h4>Improved handling of VCS Errors<a class="headerlink" href="#improved-handling-of-vcs-errors" title="Permalink to this headline">¶</a></h4>
<p>Transifex now shows in the UI what&#8217;s going on with the related VCS backend
whenever something goes wrong. This will allow project developers to better
understand what&#8217;s wrong with their project repository URL and fix it
accordingly.</p>
</div>
<div class="section" id="under-the-hood-improvements">
<h4>Under-the-hood Improvements<a class="headerlink" href="#under-the-hood-improvements" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>Local repo URIs are now allowed on DEBUG mode</li>
<li>Added &#8216;:pserver:&#8217; as a prefix for CVS repos</li>
<li>Do not delete POFiles when cleaning cache. This fixes a problem when cleaning
and refreshing the component cache. This patch allows Tx to continue
cleaning/refresh the component cache but without deleting the POFiles. They are
set as enabled=False and hidden from the UI. A project or component deletion
still removes the POFiles that belong to it.</li>
<li>Added Tx repository revision into the footer. Helpful to identify the exactly
revision used to run a Tx instance using a devel branch.</li>
<li>Added projects lookup for django-ajax-select queries.</li>
<li>Restrict a bit more the regex for URLS that contain filenames.</li>
<li>Splitted Catalan into two languages: &#8216;ca&#8217; and <a class="reference external" href="mailto:'ca&#37;&#52;&#48;valencia">'ca<span>&#64;</span>valencia</a>&#8216; (#613).</li>
<li>Add template escaping on all firstof tags.</li>
<li>Added support for intltool multi-domain projects.</li>
<li>Disable Lotte for broken pofiles.</li>
<li>Show i18n method on component page (#349).</li>
</ul>
<div class="section" id="improved-mercurial-backend">
<h5>Improved Mercurial Backend<a class="headerlink" href="#improved-mercurial-backend" title="Permalink to this headline">¶</a></h5>
<ul class="simple">
<li>Mercurial backend now updates whenever a pull is done, avoiding the creation
of local new heads in the repo history</li>
<li>After some scrutiny tests we realized that using &#8216;tip&#8217;
as the default branch might be troublesome for repos that have
named branches, so it was reverted back to &#8216;default&#8217;.</li>
<li>The &#8216;commands.push&#8217; command doesn&#8217;t use a &#8216;revs&#8217; argument, so
we turned it into &#8216;branch&#8217; argument.</li>
</ul>
</div>
</div>
<div class="section" id="bugfixes">
<h4>Bugfixes<a class="headerlink" href="#bugfixes" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>Fixed issues with Dutch language (#537)</li>
<li>Fix for the &#8220;DoesNotExist: ObservedItem matching query does not exist.&#8221;
exception. Whenever a component has its cache cleaned, all the related POFile
objects are now deleted. This way, other objects that use those POfiles are
also deleted in cascade. The repowatch app does not use the POFile object and
&#8216;cascade&#8217; is not applied.</li>
<li>Fixed permission check for components with multiple PO files</li>
<li>Calling correct method on the component get_stats method</li>
<li>Fixed Lotte data session wizard craziness when changing pages (#552)</li>
<li>Fixed URL for components with multiple po files per language</li>
<li>Handling user object on the svn lib with more properties (#565)</li>
<li>Fixed registration problem, occurring after merging.</li>
<li>Added a dependency into a projects app migration script</li>
<li>Fixed permission check for team coordinators</li>
<li>Converted exception output into a string before using it</li>
<li>Missing JS lib for the component multiple POFiles page</li>
<li>Fix wrapping of multi-line messages on top of page.</li>
<li>Made form errors more visible</li>
<li>Fixed get_or_none method for the Team class (#531)</li>
<li>Fixed some permission checks on the component_submit_file view</li>
<li>Fixed multiple copies of same event on timeline lists (#528)</li>
<li>Fix an issue in run commands where no env was passed via kwargs.</li>
<li>Bugfix: the rev kwarg should not be passed to hg pull cause we do not pull
specific revision numbers!</li>
<li>Improved get_log templatetag for the actionlog app</li>
<li>Fix SITE_URL_PREIFX generation with request.build_absolute_uri(&#8220;&#8221;) call</li>
<li>Added option to enable django-contact app URL</li>
<li>Added option to setup up the Django admin panel URL</li>
<li>BUGFix: Variable intialization was missing in settings file.</li>
<li>Fix initializers of test_svn.</li>
<li>Minor cleanup on the bzr repositories.</li>
<li>Added empty models.py file on modules that didn&#8217;t have one.</li>
<li>When skip_stats was in effect the pofiles was equal to None.</li>
<li>Improved debugging for the stats calculation process</li>
<li>Fixed stats calc whenever a POT changes (#583, #587)</li>
<li>Added django-staticfiles context processors</li>
<li>Do not delete POFiles when cleaning cache</li>
<li>Clear unlocking of files</li>
<li>Added a permission check for lock info</li>
<li>Added Tx repository revision into the footer</li>
<li>txstatsrefresh command has been setup to correctly register addon handlers.</li>
<li>A simple templatetag to wrap the size_human utility method.</li>
<li>Fixed file locking through Lotte (#593): When a user now tries to open up
Lotte for a file locked by someone else, a message is shown explaining that
only submission through a review are allowed.</li>
</ul>
</div>
</div>
<div class="section" id="translations">
<h3>Translations<a class="headerlink" href="#translations" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>A S Alam &#8211; Punjabi (pa)</li>
<li>Bruce Cowan &#8211; English (United Kingdom) (en_GB)</li>
<li>Cheng-Chia Tseng &#8211; Chinese (Taiwan)</li>
<li>David King &#8211; British English</li>
<li>Diego Búrigo Zacarão &#8211; Portuguese (Brazilian) (pt_BR)</li>
<li>Dimitris Glezos &#8211; Greek (el)</li>
<li>Emmanuel Trillaud &#8211; French (fr)</li>
<li>Guido Grazioli &#8211; Italian (it)</li>
<li>Harald Servat &#8211; Catalan (Valencian) (ca)</li>
<li>Héctor Daniel Cabrera &#8211; Spanish (Castilian) (es)</li>
<li>Jake Li &#8211; Chinese (China) (zh_CN)</li>
<li>Jannis Leidel &#8211; German (de)</li>
<li>Jari Rahkonen &#8211; Finnish (fi)</li>
<li>Jens &#8211; German (de)</li>
<li>Jeroen Hellingman &#8211; Dutch (Netherlands) (nl)</li>
<li>Lauri Võsandi &#8211; Estonian (et)</li>
<li>Leandro Regueiro &#8211; Galician (gl)</li>
<li>Nikolas Slivka &#8211; Hungarian</li>
<li>Nikos Tsirakis &#8211; Greek (el)</li>
<li>Pavel Maryanov &#8211; Russian (ru)</li>
<li>Péter Sulyok &#8211; Hungarian (hu)</li>
<li>Petr Novák &#8211; Czech (cs)</li>
<li>Piotr Drąg &#8211; Polish (pl)</li>
<li>Sankarshan Mukhopadhyay &#8211; Bengali (India)</li>
<li>Sérgio Marques &#8211; Portuguese (pt)</li>
<li>Silvio Pierro &#8211; Italian (it)</li>
<li>Teguh Dwicaksana &#8211; Indonesian (id)</li>
<li>Thomas De Rocker &#8211; Dutch (Netherlands) (nl)</li>
<li>Thorsten &#8211; German (de)</li>
<li>Tim Gerundt &#8211; German (de)</li>
<li>Tomáš Virgl &#8211; Slovak (sk)</li>
<li>Valerij Krjuchko &#8211; Russian (ru)</li>
<li>Veeven &#8211; Telugu (te)</li>
<li>Vladimir Stupin &#8211; Russian (ru)</li>
<li>Yaron Shahrabani &#8211; Hebrew (he)</li>
<li>Yuri Chornoivan &#8211; Ukrainian (uk)</li>
<li>వీవెన్ వీరపనేని &#8211; Telugu (te)</li>
</ul>
</div>
<div class="section" id="getting-transifex-0-9">
<h3>Getting Transifex 0.9<a class="headerlink" href="#getting-transifex-0-9" title="Permalink to this headline">¶</a></h3>
<p>You can experience Transifex 0.9 live at the upstream instance hosted by
Indifex, at <a class="reference external" href="http://www.transifex.net/">http://www.transifex.net/</a>.</p>
<p>Project and community managers who want to deploy Transifex for their
own community can get Transifex in a variety of ways. A tarball is available
from the following locations:</p>
<ul class="simple">
<li>The Transifex.org Download section: <a class="reference external" href="http://transifex.org/files/">http://transifex.org/files/</a></li>
<li>The Python Packaging Index (Cheeseshop): <a class="reference external" href="http://pypi.python.org/pypi/transifex/">http://pypi.python.org/pypi/transifex/</a></li>
</ul>
<p>RPM packages for the latest versions of Fedora may soon be available
via yum. The same applies for RHEL 5, CentOS 5, and Scientific Linux 5, from
the <a class="reference external" href="https://fedoraproject.org/wiki/EPEL">Fedora EPEL</a> yum repository:</p>
<div class="highlight-python"><pre>yum install transifex transifex-extras</pre>
</div>
<p>Information about installing Transifex can be found in the
<a class="reference external" href="../intro/install.html#intro-install"><em>Installation documentation</em></a>.</p>
<div class="section" id="the-transifex-appliance">
<h4>The Transifex Appliance<a class="headerlink" href="#the-transifex-appliance" title="Permalink to this headline">¶</a></h4>
<p>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,
&#8220;batteries included&#8221; 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.</p>
<img alt="../_images/0.7_appliance_front_page.png" class="shot2 alcenter" src="../_images/0.7_appliance_front_page.png" />
<p>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 &#8216;admin&#8217; and &#8216;password&#8217;. Make sure to change the password once
you’ve successfully logged in.</p>
<p>This appliance version is based on the latest 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!</p>
<p>Make sure to read the documentation and file issues/send us your feedback.</p>
<dl class="docutils">
<dt>Transifex Appliance web site:</dt>
<dd><a class="reference external" href="http://www.rpath.org/web/project/transifex/">http://www.rpath.org/web/project/transifex/</a></dd>
<dt>Stable and development images:</dt>
<dd><a class="reference external" href="http://www.rpath.org/web/project/transifex/releases">http://www.rpath.org/web/project/transifex/releases</a></dd>
</dl>
</div>
</div>
<div class="section" id="upgrading-to-this-version">
<h3>Upgrading to this version<a class="headerlink" href="#upgrading-to-this-version" title="Permalink to this headline">¶</a></h3>
<p>To upgrade the code, update your package distribution as usual:</p>
<ul class="simple">
<li>If you installed from your package distribution, check if there&#8217;s been a
package upgrade and go for it.</li>
<li>If you used <tt class="docutils literal"><span class="pre">easy_install</span></tt>, run <tt class="docutils literal"><span class="pre">easy_install</span> <span class="pre">-U</span></tt> to upgrade.</li>
<li>Fresh tarballs are available, if you installed from a release zipfile.</li>
<li>Finally, if you&#8217;re of the daredevil kind and feed straight from the source,
an <tt class="docutils literal"><span class="pre">hg</span> <span class="pre">update</span> <span class="pre">&lt;version&gt;</span></tt> should do the trick for you.</li>
</ul>
<div class="section" id="dependencies">
<h4>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline">¶</a></h4>
<p>The following dependencies were <em>added</em> in this version:</p>
<ul class="simple">
<li>Django = 1.1.2</li>
<li>South &gt;= 0.7</li>
<li>django-threadedcomments &gt;= 0.9</li>
<li>django-addons</li>
<li>django-staticfiles</li>
<li>pygooglechart</li>
</ul>
<p>Instructions on how to install them can be found at the
<a class="reference external" href="../intro/install.html#intro-install"><em>Installation docs</em></a>. You&#8217;ll need to complete this step
before actually doing the database upgrade.</p>
</div>
<div class="section" id="database-migration">
<h4>Database migration<a class="headerlink" href="#database-migration" title="Permalink to this headline">¶</a></h4>
<p>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
schema of the previous version, is run the following:</p>
<div class="highlight-bash"><div class="highlight"><pre>./manage.py syncdb
./manage.py migrate
./manage.py build_static
<span class="nb">cd </span>transifex/site_media/
mv userprofile media/userprofile
mv reviews_files media/reviews_files
</pre></div>
</div>
</div>
</div>
<div class="section" id="contributors">
<h3>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h3>
<p>The following people have contributed to this release, with one way or another:</p>
<ul class="simple">
<li>Andreas Loupasakis</li>
<li>Diego Búrigo Zacarão</li>
<li>Dimitris Glezos</li>
<li>Jannis Leidel</li>
<li>Lauri Võsandi</li>
<li>Margie Foster</li>
<li>Nikos Korkakakis</li>
<li>Og Maciel</li>
<li>Seraphim Mellos</li>
</ul>
<p>For a list of our awesome translators, refer to the <a class="reference internal" href="#translations">Translations</a> section.</p>
</div>
</div>
<div class="section" id="transifex-0-9-1">
<h2>Transifex 0.9.1<a class="headerlink" href="#transifex-0-9-1" title="Permalink to this headline">¶</a></h2>
<dl class="docutils">
<dt>Released:</dt>
<dd>24 September 2010</dd>
</dl>
<p>This release includes an important command called &#8216;txcreatemap&#8217;, which is
necessary to upgrade to 1.0:</p>
<div class="highlight-python"><pre>$ ./manage.py txcreatemap --help
Usage: ./manage.py txcreatemap [options] &lt;project_slug project_slug ...&gt;

    Create a JSON formatted mapping of the POT files and theirs translations
    (PO) for projects, converting components into resources. Each project
    component has it own mapping which is stored in the database within the
    ``jsonmap.models.JSONMap`` model.

    This mapping can be used by the CLI app of Transifex as the ``.tx/txdata``
    file content in the remote repository.

    Project slugs can be passed by argument to map specific projects. If no
    argument is passed the mapping will happen for all the projects in the
    database.

    This mapping is used to migrate versions &lt;= 0.9.x to the 1.0 version of
    Transifex.</pre>
</div>
</div>
<div class="section" id="transifex-0-9-development-releases">
<h2>Transifex 0.9 Development Releases<a class="headerlink" href="#transifex-0-9-development-releases" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Alpha: 21 May 2010</li>
<li>Beta: 4 June 2010</li>
<li>Final: 19 July 2010</li>
</ul>
<p>Please refer to the full <a class="reference external" href="http://code.transifex.org/0.9.x/shortlog">Transifex 0.9 changelog</a> for more information on
what has changed between the development releases and final one.</p>
</div>
</div>


      <div class="nav">
    &laquo; <a href="index.html" title="Release notes">Release notes</a> 
     |
    <a href="../contents.html" title="Table of Contents" accesskey="U">up</a>
   |
    <a href="0.8.html" title="Transifex version 0.8.x release notes">Transifex version 0.8.x release notes</a> &raquo;</div>
          </div>         
        </div>
      </div>
      
          <div class="yui-b" id="sidebar">
            
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <p class="logo"><a href="../index.html">
              <img class="logo" src="../_static/transifex-logo.png" alt="Logo"/>
            </a></p>
            <h3><a href="../index.html">Table Of Contents</a></h3>
            <ul>
<li><a class="reference external" href="#">Transifex version 0.9.x release notes</a><ul>
<li><a class="reference external" href="#transifex-0-9-mojo">Transifex 0.9 (Mojo)</a><ul>
<li><a class="reference external" href="#being-served-hot-at-transifex-net">Being served hot at Transifex.net</a></li>
<li><a class="reference external" href="#what-s-new-in-transifex-0-9">What&#8217;s new in Transifex 0.9</a><ul>
<li><a class="reference external" href="#extension-engine">Extension engine</a></li>
<li><a class="reference external" href="#project-team-sharing">Project Team Sharing</a></li>
<li><a class="reference external" href="#widgets">Widgets</a></li>
<li><a class="reference external" href="#improved-file-ownership">Improved file ownership</a></li>
<li><a class="reference external" href="#more-i18n-directory-structures">More i18n directory structures</a></li>
<li><a class="reference external" href="#more-pre-submit-checks">More pre-submit checks</a></li>
</ul>
</li>
<li><a class="reference external" href="#various-improvements-and-bugfixes">Various improvements and bugfixes</a><ul>
<li><a class="reference external" href="#improved-searching">Improved searching</a></li>
<li><a class="reference external" href="#improved-handling-of-vcs-errors">Improved handling of VCS Errors</a></li>
<li><a class="reference external" href="#under-the-hood-improvements">Under-the-hood Improvements</a><ul>
<li><a class="reference external" href="#improved-mercurial-backend">Improved Mercurial Backend</a></li>
</ul>
</li>
<li><a class="reference external" href="#bugfixes">Bugfixes</a></li>
</ul>
</li>
<li><a class="reference external" href="#translations">Translations</a></li>
<li><a class="reference external" href="#getting-transifex-0-9">Getting Transifex 0.9</a><ul>
<li><a class="reference external" href="#the-transifex-appliance">The Transifex Appliance</a></li>
</ul>
</li>
<li><a class="reference external" href="#upgrading-to-this-version">Upgrading to this version</a><ul>
<li><a class="reference external" href="#dependencies">Dependencies</a></li>
<li><a class="reference external" href="#database-migration">Database migration</a></li>
</ul>
</li>
<li><a class="reference external" href="#contributors">Contributors</a></li>
</ul>
</li>
<li><a class="reference external" href="#transifex-0-9-1">Transifex 0.9.1</a></li>
<li><a class="reference external" href="#transifex-0-9-development-releases">Transifex 0.9 Development Releases</a></li>
</ul>
</li>
</ul>

  <h3>Browse</h3>
  <ul>
    
      <li>Prev: <a href="index.html">Release notes</a></li>
    
    
      <li>Next: <a href="0.8.html">Transifex version 0.8.x release notes</a></li>
    
  </ul>
  <h3>You are here:</h3>
  <ul>
      <li>
        <a href="../index.html">Transifex v0.9.1 documentation</a>
        
          <ul><li><a href="../contents.html">Table of Contents</a>
        
          <ul><li><a href="index.html">Release notes</a>
        
        <ul><li>Transifex version 0.9.x release notes</li></ul>
        </li></ul></li></ul>
      </li>
  </ul>  

            <h3>This Page</h3>
            <ul class="this-page-menu">
              <li><a href="../_sources/releases/0.9.txt"
                     rel="nofollow">Show Source</a></li>
            </ul>
          <div id="searchbox" style="display: none">
            <h3>Quick search</h3>
              <form class="search" action="../search.html" method="get">
                <input type="text" name="q" size="18" />
                <input type="submit" value="Go" />
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </form>
              <p class="searchtip" style="font-size: 90%">
              Enter search terms or a module, class or function name.
              </p>
          </div>
          <script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
              <h3>Last update:</h3>
              <p class="topless">Sep 24, 2010</p>
          </div> 
      
    </div>
    
    <div id="ft">
      <div class="nav">
    &laquo; <a href="index.html" title="Release notes">previous</a> 
     |
    <a href="../contents.html" title="Table of Contents" accesskey="U">up</a>
   |
    <a href="0.8.html" title="Transifex version 0.8.x release notes">next</a> &raquo;</div>
    </div>
  </div>

      <div class="clearer"></div>
    </div>
    <div class="footer">
      &copy; Copyright <a href="http://www.indifex.com">Indifex</a> and the <a href="http://transifex.org/">Transifex</a> Community.
      Last updated on Sep 24, 2010 using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
    </div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-4362397-5");
pageTracker._trackPageview();
} catch(err) {}</script>
  </body>
</html>