Sophie

Sophie

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

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.8.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.7.x release notes" href="0.7.html" />
    <link rel="prev" title="Transifex version 0.9.x release notes" href="0.9.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="0.9.html" title="Transifex version 0.9.x release notes">previous</a> 
     |
    <a href="../contents.html" title="Table of Contents" accesskey="U">up</a>
   |
    <a href="0.7.html" title="Transifex version 0.7.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.8">
            
  <div class="section" id="transifex-version-0-8-x-release-notes">
<span id="releases-0-8"></span><h1>Transifex version 0.8.x release notes<a class="headerlink" href="#transifex-version-0-8-x-release-notes" title="Permalink to this headline">¶</a></h1>
<div class="section" id="transifex-0-8-magneto">
<h2>Transifex 0.8 (Magneto)<a class="headerlink" href="#transifex-0-8-magneto" title="Permalink to this headline">¶</a></h2>
<p>Welcome to Transifex 0.8, codenamed <a class="reference external" href="http://en.wikipedia.org/wiki/Magneto_(comics)">Magneto</a>.</p>
<dl class="docutils">
<dt>Released:</dt>
<dd>March 02, 2010</dd>
</dl>
<p>Transifex 0.8 &#8216;Magneto&#8217; is a production release, featuring a
multitude of collaboration features. 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>Here&#8217;s a 40K-foot view of the release major features and numbers:</p>
<ul class="simple">
<li>Translation Teams</li>
<li>Translation Reviews</li>
<li>Timeline &amp; history</li>
<li>Project Releases and Removal of Collections</li>
<li>Weekly notification for maintainers</li>
<li>Subversion over secure HTTP (https)</li>
<li>Lotte support for plurals, msgctxt, filtering, searching and more!</li>
<li>Nudges between users</li>
<li>Notifications for permission requests</li>
</ul>
<div class="highlight-bash"><div class="highlight"><pre>513 changesets recorded
89 tickets resolved
438 files changed, 114680 insertions<span class="o">(</span>+<span class="o">)</span>, 46081 deletions<span class="o">(</span>-<span class="o">)</span>
</pre></div>
</div>
<div class="figure">
<img alt="../_images/magneto2.jpg" class="alcenter shot" src="../_images/magneto2.jpg" />
<p class="caption"><a class="reference external" href="http://en.wikipedia.org/wiki/Magneto_(comics)">Magneto</a> (art by Doug Hamilton-Evans)</p>
</div>
<div class="section" id="a-note-about-transifex-net">
<h3>A note about Transifex.net<a class="headerlink" href="#a-note-about-transifex-net" title="Permalink to this headline">¶</a></h3>
<p>Transifex 0.8 is a release of the open-source, community-powered Transifex
flavor. It is suitable for very large proejcts with their own existing
translation community, such as the Fedora Project, the GNOME Desktop etc.</p>
<p>Transifex is also offered as another flavor: 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
independent projects and businesses which don&#8217;t want to worry about deploying
their own Tx instance.</p>
<p>Tranisfex.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" />
<p class="caption">For a hassle-free translation management platform, visit <a class="reference external" href="http://www.transifex.net/">Transifex.net</a>.</p>
</div>
</div>
<div class="section" id="what-s-new-in-transifex-0-8">
<h3>What&#8217;s new in Transifex 0.8<a class="headerlink" href="#what-s-new-in-transifex-0-8" title="Permalink to this headline">¶</a></h3>
<p>On to our new features now!</p>
<div class="section" id="translation-teams">
<h4>Translation Teams<a class="headerlink" href="#translation-teams" title="Permalink to this headline">¶</a></h4>
<p>We&#8217;ve all been waiting for this one, so we&#8217;re proud to announce support for
<em>Translation Teams</em>.</p>
<img alt="../_images/teams-req.png" class="shot2 alcenter" src="../_images/teams-req.png" />
<p>Starting with Transifex 0.7, translators could subscribe to projects and request
permission to edit and submit updates, etc. This happened on a per-project level.
Transifex 0.8 brings more collaboration and security, allowing for a more
fine-grained level access control.</p>
<p>With Transifex 0.8, translators can now create, join and lead a language
team for a particular project. Project maintainers can then delegate management
of a team to a language coordinator, who can be responsible for file submissions
and other language-specific bits.</p>
<p>Transifex retains the global access controls which had in version 0.7.
Maintainers can choose one of the following access methods for their project:</p>
<ul class="simple">
<li><strong>Allow anyone to submit</strong>: All registered users on Transifex can submit a
file to the project.</li>
<li><strong>Restricted access</strong>: Team members can submit files to the languages the
team is responsible for, and project-wide users can submit files to all
languages. A maintainer can choose which users are global editors and which
are restricted to their team membership.</li>
</ul>
<img alt="../_images/teams-admin.png" class="shot2 alcenter" src="../_images/teams-admin.png" />
<p>Here&#8217;s a breakdown of the new feature set:</p>
<ul class="simple">
<li>Team members are allowed to commit files related to the specific
team, which usually means modifying files belonging to one of the languages
controlled by that team.</li>
<li>Teams can have coordinators which are chosen by the project maintainer. The
coordinator can approve or deny requests to join a team and, more or less, act
as a superuser for that particular team. They will also receive a notification
about anything happening to the team, the files it manages, etc.</li>
<li>Users can request the creation of a new team with the click of a button. The
maintainer can approve or deny that request.</li>
<li>The Team page sports a timeline of events. In the future it will
also show more and more team-related information such as statistics, watches,
etc.</li>
</ul>
<img alt="../_images/teams-homepage.png" class="shot2 alcenter" src="../_images/teams-homepage.png" />
</div>
<div class="section" id="translation-reviews">
<h4>Translation Reviews<a class="headerlink" href="#translation-reviews" title="Permalink to this headline">¶</a></h4>
<p>Another big and exciting feature is translation reviews. Users can now
upload a file and put it under &#8216;review&#8217;. The file is kept on the Transifex
server until it is reviewed and either accepted for submission by an authorized
member (committer, team member) or rejected.</p>
<p>Reviews can be opened by anyone, just like tickets on bug reporting services.
This way, a team can accept files from more contributors (external ones), or
ask a new member to submit some work before gaining the &#8216;committer&#8217; right and
become a official member of the team.</p>
<img alt="../_images/reviews-submit.png" class="shot2 alcenter" src="../_images/reviews-submit.png" />
<p>Here are some more specific features:</p>
<ul class="simple">
<li>Review requests can be opened by non-members for any project.</li>
<li>Team members can choose to submit a file for submission or for a
review, if they want to get feedback before committing it.</li>
<li>In any place where a normal file submission can take place, there is now an
option to open a review request (translate file, add a new file, web
editor).</li>
<li>Reviews preserve the submission message as their description, which, if the
review is accepted, is used as the commit message.</li>
<li>Translators can vote for the quality of a review request by scoring it
with thumbs-up or thumbs-down. They can also add comments to encourage the
reporter to submit an improved version.</li>
<li>Finally, privileged members can reopen a review request if needed.</li>
</ul>
<div class="section" id="rich-commenting-support">
<h5>Rich Commenting Support<a class="headerlink" href="#rich-commenting-support" title="Permalink to this headline">¶</a></h5>
<p>Transifex now includes support for threaded comments across its base. Currently
this is enabled in Reviews, but support for comments will expand in many more
areas in the next version, enabling support for small discussion boards in
relevant pages (such as the team page for example).</p>
<img alt="../_images/reviews-open.png" class="shot2 alcenter" src="../_images/reviews-open.png" />
<img alt="../_images/reviews-closed.png" class="shot2 alcenter" src="../_images/reviews-closed.png" />
</div>
</div>
<div class="section" id="timeline-and-action-history">
<h4>Timeline and Action History<a class="headerlink" href="#timeline-and-action-history" title="Permalink to this headline">¶</a></h4>
<p>Full support for action history is now included in Transifex. All actions are
stored and shown to the interested parties where appropriate. Support for
pagination, filtering and sorting of the results is shipped out-of-the-box.</p>
<ul class="simple">
<li>The project maintainer now has a new UI Tab on his project page to see
everything which has happened to his project (under <tt class="docutils literal"><span class="pre">&lt;project_url&gt;/log/</span></tt>).
This page is currently limited only to project maintainers.</li>
<li>Team members can keep up with the work of their teammates</li>
<li>Users are notified of anything that might interest them on their profile
page.</li>
<li>Transifex administrators have a special Admin page panel to get an overview
for the whole system.</li>
<li>Now it&#8217;s possible to get the top translators for a specific object, such as
a Project or Team, and also top translators across all registered projects.</li>
<li>Timeline can be filtered using time intervals such as &#8216;today&#8217;, &#8216;last week&#8217;,
&#8216;last month&#8217;, &#8216;last year&#8217;, and &#8216;anytime&#8217;.</li>
</ul>
<img alt="../_images/timeline.png" class="shot2 alcenter" src="../_images/timeline.png" />
</div>
<div class="section" id="project-releases-and-removal-of-collections">
<h4>Project Releases and Removal of Collections<a class="headerlink" href="#project-releases-and-removal-of-collections" title="Permalink to this headline">¶</a></h4>
<p>Transifex 0.8 introduces two radical changes in some of the core page and
model structure:</p>
<ol class="arabic simple">
<li>Projects can now have releases, like Django 1.1, Mercurial 1.4.1, or
Transifex 0.8. These releases are a group of components which belong
to either the release&#8217;s project itself, or even ones attached to other
projects.</li>
<li>Since a Project Release duplicates all features of what the Collections
Releases offered, we are removing completely the notion of &#8216;Collections&#8217; from
Transifex.</li>
</ol>
<p>With Transifex 0.8, the &#8216;big-picture&#8217; projects which used to be mounted under
&#8216;collections&#8217; will be a top-level Project, enjoying the multitude of features
existing there, such as teams etc.  This allows Transifex, for example, to ship
a new version and include translation statistics of its dependencies, such as
the <tt class="docutils literal"><span class="pre">django-profile</span></tt> upstream app. In short, Projects get benefited from the
collections features, and big-picture projects (which used to be named
collections) benefit from the rich features programmed into Projects.</p>
<img alt="../_images/release-detail.png" class="shot2 alcenter" src="../_images/release-detail.png" />
<p>The rationale behind this big change is that Transifex used to support two
notions of &#8220;projects&#8221;: The Project as a  &#8220;Software project&#8221; and the Collections
as a &#8220;Collection of software projects&#8221;. While the latter sounds perfectly
separated from the first, here are some of the benefits from treating all
projects as Projects:</p>
<ul class="simple">
<li>You don&#8217;t have to worry whether your project classifies as a Collection or
Project. It&#8217;s just a Project which ships releases which depend on other
Projects too. This way, both Transifex and Moblin are software projects.</li>
<li>All projects now enjoy the same features: maintainers, feeds, teams, language
coordinators etc.</li>
<li>Users can find what they want easier: they just search for their favorite
project and start translating it right away.</li>
</ul>
<img alt="../_images/release-edit.png" class="shot2 alcenter" src="../_images/release-edit.png" />
<p>The migration of these data from 0.7 → 0.8 is manual, and should only take a few
minutes for a Transifex administrator.</p>
</div>
<div class="section" id="subversion-over-secure-http-https">
<h4>Subversion over secure HTTP (https)<a class="headerlink" href="#subversion-over-secure-http-https" title="Permalink to this headline">¶</a></h4>
<p>Up until now Transifex included commit support only for repositories over SSH.
This patch adds support for https repos, by allowing the administrator to
define the username and password for each 2nd-level domain he&#8217;d like
to serve. For example, we group together authentication for
<tt class="docutils literal"><span class="pre">*.example.com</span></tt>.</p>
<p>If you have repositories which cannot be served over svn+ssh and are
restricted to https, you can now define the credentials for each domain
(two-level hostname). For example to serve <tt class="docutils literal"><span class="pre">svn.repos.example.com</span></tt> define in
your respective settings file:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">SVN_CREDENTIALS</span> <span class="o">=</span> <span class="p">{</span>
    <span class="s">&#39;example.com&#39;</span><span class="p">:</span> <span class="p">(</span><span class="s">&#39;myusername&#39;</span><span class="p">,</span> <span class="s">&#39;mypassword&#39;</span><span class="p">)</span>
<span class="p">}</span>
</pre></div>
</div>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p>This feature should be used for trusted sources only in its current form,
and not with domains where users can add their repositories and monitor the
server requests in subdomains. This is because subdomains will still
receive the password, and if a user can create his own subdomain and monitor
the requests, it&#8217;s possible to see the password in plaintext.</p>
<p class="last">In short: if you need to use https, make sure it&#8217;s on a server with either
a single domain, or subdomains where users can&#8217;t access on a request level.</p>
</div>
<p>More details:</p>
<ul class="simple">
<li>Authentication happens whenever needed by using a decorator.</li>
<li>If the domain grouping proves inadequate in the future (eg. because
of &#8216;.ac.uk&#8217; domains, we&#8217;ll re-think the credential grouping then).</li>
<li>Credentials are not cached in <tt class="docutils literal"><span class="pre">~/.subversion/auth/*</span></tt> to avoid problems if
they change</li>
<li>Pysvn is handling SSL warnings like valid certificates.</li>
</ul>
</div>
<div class="section" id="weekly-maintainer-reports">
<h4>Weekly Maintainer Reports<a class="headerlink" href="#weekly-maintainer-reports" title="Permalink to this headline">¶</a></h4>
<p>Maintainers can now receive weekly notifications with statistics and
activity report for their projects. The frequency of the report delivery can
be configured by tweaking the respective cron job.</p>
<p>Here&#8217;s a snippet of how this report looks like:</p>
<div class="highlight-rest"><div class="highlight"><pre>Hello John, this is Transifex at http://www.transifex.net/.

I am bringing you the weekly translation report for your project &#39;transifex&#39;.

<span class="m">-</span> Repository: http://code.transifex.org/mainline
<span class="m">-</span> Branch: tip
<span class="m">-</span> Last updated: 13:48 2009-01-25

============================== ==========
Language                       Completion
============================== ==========
Assamese (as)                  100%
Asturian (ast)                 100%
Bengali (India) (bn_IN)        100%
Catalan (Valencian) (ca)       100%
<span class="cp">...                            ...</span>
============================== ==========

Activity report from past week (last 30 actions):

<span class="m">-</span> A file for Portuguese (Brazilian) (100%) has been submitted to
  &#39;tip&#39; of the transifex project by diegobz on Fri Dec 18, 11:01.
<span class="m">-</span> ...
</pre></div>
</div>
<p>The notifications are sent by running the <tt class="docutils literal"><span class="pre">txreport</span></tt> management command by
using a cronjob once a week (or more often, as needed).</p>
</div>
<div class="section" id="user-nudging">
<h4>User Nudging<a class="headerlink" href="#user-nudging" title="Permalink to this headline">¶</a></h4>
<p>Added support for users &#8216;nudges&#8217;, an action intended to poke a user to wake up,
or respond to a recent action.</p>
<p>This functionality requires the notification system to be enabled in the
settings, otherwise it is disabled automatically.</p>
<div class="highlight-rest"><div class="highlight"><pre>Hello john, this is Transifex at http://www.transifex.net/.

The user &#39;guest&#39; has nugded you.

Please, visit Transifex at http://www.transifex.net/accounts/profile/guest/
in order to see the guest&#39;s profile page.
</pre></div>
</div>
</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="lotte-improvements">
<h4>Lotte Improvements<a class="headerlink" href="#lotte-improvements" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>Filtering results based on the status (transalted, fuzzy, untransalted) is
back! w00t!</li>
</ul>
<img alt="../_images/lotte-filtering.png" class="shot2" src="../_images/lotte-filtering.png" />
<ul class="simple">
<li>Added server-side pagination when editing a PO file.<ul>
<li>The translation form now uses a session wizard, which allows
the user to navigate through the several pages of a form, without
losing data and being able to commit the file at any time.</li>
<li>Several improvements have been made around the code as well, specially
where we create the file to be submitted. Now it&#8217;s using validated data from
the forms and the file is committed only if something really has changed in the
translation form.</li>
</ul>
</li>
<li>Added support for <strong>PO plural fields</strong> in Lotte, and validation of their
content.</li>
<li>Support for <strong>PO msgctxt comments</strong>, giving context to the translator in order to
better understand what is required to be translated.</li>
<li>Merged all string contexts in one handy box, enabled with one click.</li>
</ul>
<img alt="../_images/contexts.png" class="shot2 alcenter" src="../_images/contexts.png" />
<ul class="simple">
<li>Fix for #470 concerning users losing their work due to a MsgFmtError. Lotte
now <strong>emails the user</strong> with the broken file so they can fix it and re-submit
it manually, avoiding to lose any work.</li>
<li>Added <strong>support for source languages</strong> in automatic suggestions (#460),
enabling hundreds of different language combinations (eg. german to english
machine translation suggestion). Since the original language is set for each
component, that language code is now being used as the source language for
translation suggestion.</li>
<li>Added support to <strong>copy source string</strong> to translation, both for normal
strings as well as plural ones.</li>
<li>Textarea is now auto-resizable in the TranslationForm</li>
<li>Top pagination for Lotte (#492)</li>
<li>Support for <strong>searching</strong> in PO files.</li>
</ul>
<img alt="../_images/lotte-search.png" class="shot2 alcenter" src="../_images/lotte-search.png" />
</div>
<div class="section" id="ui-improvements">
<h4>UI Improvements<a class="headerlink" href="#ui-improvements" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>Replacement of MultipleChoiceField with an ajax multiple select.</li>
<li>Project Access Control menu now lies outside of the Edit form, making it more
visible and accessible.</li>
<li>Also provide a link to the user&#8217;s profile page instead of just the email
address on the Access Control page.</li>
<li>Better navigation (tabs, breadcrumbs, etc) for Project log page.</li>
</ul>
<img alt="../_images/tabs.png" class="shot2 alcenter" src="../_images/tabs.png" />
<ul>
<li><p class="first">Permission access actions related to a project now trigger a notification to
the interested parties by email and the addition of actionlog entries. For example,
when a user requests access to submit to a project, the maintainers are
notified and the user will receive a notification if he was granted access.</p>
</li>
<li><p class="first">Improved public profile page.</p>
</li>
<li><p class="first">Improved VCS commit message: Now it includes the percentage completion and
the new status of the po file as well:</p>
<div class="highlight-python"><pre>l10n: Updated Czech (cs) translation to 100%

New status: 573 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (www.transifex.net)</pre>
</div>
</li>
<li><p class="first">Language names on statistics tables now link to the respective teams,
retaining the link on the language locale instead.</p>
</li>
</ul>
</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>Added <tt class="docutils literal"><span class="pre">txcreatenoticetypes</span></tt> management command instead of doing it
automatically, improving flexibility. This used to clash with South&#8217;s
migration <tt class="docutils literal"><span class="pre">post_syncdb</span></tt> signal.</li>
<li>New exception type &#8216;MsgfmtCheckError&#8217; for syntax check errors in PO files,
making error handling and reporting more fine-grained for such errors.</li>
<li>Splitted project/(permissions|views).py into smaller files</li>
<li>Accepting unicode usernames on the Django admin panel, an important feature
for Tx instances that use non-default authentication backends.</li>
<li>Various Mercurial backend improvements including future compatibility, speed
and fix of a bug which sometimes created multiple hg heads.</li>
<li>Also check for &#8216;warnings&#8217; when running <tt class="docutils literal"><span class="pre">msgfmt</span> <span class="pre">-c</span></tt> (#326)</li>
<li>Added committer info from settings for VCSs that support it (mainly
distributed ones). This adds two new config vars called <tt class="docutils literal"><span class="pre">COMMITTER_NAME</span></tt>
and <tt class="docutils literal"><span class="pre">COMMITTER_EMAIL</span></tt>.</li>
<li>Also try to use code aliases for the auto-suggestion on Lotte</li>
<li>run_command handler now accepts an <tt class="docutils literal"><span class="pre">env</span></tt> parameter key allowing tweaking of
the environment variables during execution.</li>
<li>Also support decoding of content in POTManager&#8217;s <tt class="docutils literal"><span class="pre">get_file_contents</span></tt>.</li>
<li>Read CVS_RSH env variable from settings (#362).</li>
<li>Added exception handler to the svn backend.</li>
<li>Proper message for each action of adding permission/request.</li>
<li>Setting svn:author revision property for SVN commits (#369), when the
upstream repository supports this.</li>
<li>New config file holding methods, and -local file for overrides.</li>
<li>Don&#8217;t try to msgmerge if there is no related POT file</li>
<li>Renamed setting file <tt class="docutils literal"><span class="pre">90-local.conf</span></tt> to a <tt class="docutils literal"><span class="pre">*.sample</span></tt>.</li>
<li>Splitted component edit form into two views</li>
<li>Added support for Khmer language (#497)</li>
<li>Docs directory structure overhaul.</li>
</ul>
</div>
<div class="section" id="efficiency-improvements">
<h4>Efficiency Improvements<a class="headerlink" href="#efficiency-improvements" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>Improved efficiency of PublicanManager methods.</li>
<li>Better file existing check for TransManagers.</li>
<li>Extensive use of generators in internal Transifex methods.</li>
<li>Moved a bunch of things tagged from POTManager to TransHandler.</li>
<li>TransManagerMixin now inherits BrowserMixinBase.</li>
<li>Limit statistics statistics re-calculation only to the submitted file instead
of the whole language, improving efficiency in projects with multiple files
per language.</li>
<li>Make local Subversion opearations faster by avoiding running update when not
needed.</li>
<li>Created get_top_translators templatetag. Hooked up get_top_translators
templatetag on the index page</li>
<li>Enabled local memory caching by default. Only cache anonymous requests by
default.</li>
</ul>
</div>
<div class="section" id="bugfixes">
<h4>Bugfixes<a class="headerlink" href="#bugfixes" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>Return an empty string for &#8216;next=&#8217; in case of an exception (needed for &#8216;500&#8217;
errors.</li>
<li>Added missed templatetag loading in userprofile reset template</li>
<li>Fixed maintainers ordering in the project form</li>
<li>Change logger to increment mode (#315)</li>
<li>Notice types now are mandatory. It shouldn&#8217;t be skipped.</li>
<li>Hidden request perm. button when global submit perm. is granted (#328)</li>
<li>Correct use of firstof tag in various feeds.</li>
<li>Do not calculate stats for new files submitted by email (#335)</li>
<li>Fixed MultiValueDictKeyError in the unit form, when &#8216;unit-type&#8217; is missing.</li>
<li>Fixed stats calculation for broken po files (#377)</li>
<li>Fixed action attr. of passwd change form (#380)</li>
<li>Proper urls in the user profile forms actions</li>
<li>Some svn+https repos might need credentials all the time</li>
<li>Make sure of adding the kill action only in the right node</li>
<li>Marked some missed strings which should be localized.</li>
<li>Fixed some i18n issues on the Team app</li>
<li>Make mercurial use utf-8 encoding.</li>
<li>Do not try to msgmerge component without POT files &#8211; raise an exception.</li>
<li>Use &#8216;run_command&#8217; instead of &#8216;commands&#8217; lib in TransManager.</li>
<li>Also calculate stats for files sent to tarball components.</li>
<li>Make VCS backends should behaive exactly like the VCS do in an update (#347).</li>
<li>Lotte: Ensure users have permissions when editing files.</li>
<li>Ensure only the correct files are committed during a submission (#357).</li>
<li>Fix locking icon in Safari and Chrome (fixes #331).</li>
<li>Get server domain from <tt class="docutils literal"><span class="pre">Site.domain</span></tt> instead of <tt class="docutils literal"><span class="pre">request.get_host</span></tt>.</li>
<li>It shouldn&#8217;t try to set a language for POT files</li>
<li>Just close a file object if it was open (#419)</li>
<li>Adding user to the &#8216;registered&#8217; group properly:<ul>
<li>Tx was using the post_save signal of the Profile class
for doing it, now it uses the post_save signal of the
User class, which adds the user to the &#8216;registered&#8217; group
right away.</li>
<li>Using the Profile post_save signal was a trouble, because
the profile is not created right after the user be saved.</li>
</ul>
</li>
<li>Don&#8217;t display &#8216;Add new translation&#8217; for non-checkedout components (#394)</li>
<li>Invalid UTF files choking pygments now showed in plaintext. pygments
complained with a UnicodeDecodeError when viewing invalid UTF files; now this
doesn&#8217;t happen, and instead, a signal is raised internally just in case.</li>
<li>Team url regex must allow &#8216;_&#8217; and &#8216;&#64;&#8217; as well</li>
<li>Show correct tarball label and helptext (fixes #438).</li>
<li>Fixed template error when searching for a non-existing project (#441)</li>
<li>Changed HttpResponseRedirect args on Lotte</li>
<li>Register admin URLs with the Django 1.1 way.</li>
<li>Define the necessary <tt class="docutils literal"><span class="pre">MIDDLEWARE_CLASSES</span></tt> for caching.</li>
<li>Fixed file encoding for submissions through email (#456)</li>
<li>Fixed msgmerge output writing (#495)</li>
<li>No 404 should be raised when adding an ActionLog</li>
<li>Fixed user Timeline querying (#485)</li>
<li>Made some POTManager methods static ones</li>
<li>Don&#8217;t try to msgmerge if there is no related POT file</li>
<li>Fixed entry status changing for Lotte (#525)</li>
</ul>
</div>
<div class="section" id="cleanups">
<h4>Cleanups<a class="headerlink" href="#cleanups" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>Eliminated duplicated code from vcs and tarball apps. Tarball units now use
the same signature with the VCS unit.</li>
<li>Moved get_browser_object func from vcs and tarball to codebases</li>
<li>Splitted BrowserMixin class to BrowserMixinBase and BrowserMixin and put
at a central place in the codebases app.</li>
<li>Added alternative path support for BrowserMixinBase methods</li>
<li>Unified <tt class="docutils literal"><span class="pre">run_command</span></tt> handlers into <tt class="docutils literal"><span class="pre">txcommon.commands</span></tt>.</li>
<li>Remove too verbose debug msg when saving a file.</li>
<li>Slightly reduced verbosity in <tt class="docutils literal"><span class="pre">DEBUG</span></tt> mode for less clutter in the log
files.</li>
<li>Changed <tt class="docutils literal"><span class="pre">DEFAULT_FROM_EMAIL</span></tt> to <tt class="docutils literal"><span class="pre">noreply&#64;SITE_DOMAIN</span></tt>.</li>
<li>Avoid a warning if git returns an empty revision hash.</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>Albanian &#8211; Besnik Bleta</li>
<li>Chinese (Taiwan) &#8211; Cheng-Chia Tseng</li>
<li>Czech &#8211; Petr Novák</li>
<li>Danish &#8211; Kris Thomsen</li>
<li>Estonian &#8211; Lauri Võsandi</li>
<li>French &#8211; Brice Maron, Olowen Cilyan</li>
<li>Galician &#8211; Leandro Regueiro</li>
<li>German &#8211; Jannis Leidel</li>
<li>Greek &#8211; Nick Raptis, Nikos Tsirakis</li>
<li>Hungarian &#8211; Nikolas Slivka, Zoltan Hoppar</li>
<li>Indonesian &#8211; Teguh Dwicaksana</li>
<li>Italian &#8211; Guido Grazioli</li>
<li>Latvian &#8211; Rihards Priedītis</li>
<li>Japanese &#8211; Noriko Muzimoto, Ian Lewis, Shinya Okano, Yosuke Ikeda</li>
<li>Persian &#8211; Mostafa Daneshvar</li>
<li>Polish &#8211; Piotr Drąg</li>
<li>Portuguese (Brazilian) &#8211; Diego Búrigo Zacarão, Jorge Lopes, Tatiana Alchueyr</li>
<li>Russian &#8211; Azamat Hackimov</li>
<li>Slovak  &#8211; Pavol Šimo</li>
<li>Spanish (Castilian) &#8211; Héctor Daniel Cabrera, Michele Balbi</li>
<li>Swedish &#8211; Daniel Nylander, Martin Kjellqvist</li>
<li>Ukrainian &#8211; Maxim Dziumanenko</li>
</ul>
</div>
<div class="section" id="getting-transifex-0-8">
<h3>Getting Transifex 0.8<a class="headerlink" href="#getting-transifex-0-8" title="Permalink to this headline">¶</a></h3>
<p>You can experience Transifex 0.8 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 are or will 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 0.8 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-0-8">
<h3>Upgrading to 0.8<a class="headerlink" href="#upgrading-to-0-8" 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">0.8</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 &gt;= 1.1</li>
<li>polib &gt;= 0.5.1</li>
<li>django-ajax-selects</li>
<li>django-authority &gt;= 0.3.1</li>
<li>django-filter</li>
<li>django-sorting</li>
<li>django-threadedcomments</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
0.7 schema, is run the following:</p>
<div class="highlight-bash"><div class="highlight"><pre>./manage.py syncdb
./manage.py migrate
</pre></div>
</div>
<p>To upgrade from a 0.5 schema you first need to upgrade your schema to
0.6 and from there to the current release. Instructions for the first step can
be found in the relevant section of the
<a class="reference external" href="0.6.html#upgrading-to-0-6"><em>Transifex 0.6 release notes</em></a>.</p>
</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>Dimitris Glezos</li>
<li>Diego Búrigo Zacarão</li>
<li>Jannis Leidel</li>
<li>Andreas Loupasakis</li>
<li>Nikos Korkakakis</li>
<li>Seraphim Mellos</li>
<li>Og Maciel</li>
<li>Lauri Võsandi</li>
<li>Zhu Yanhai</li>
<li>Christos Trochalakis</li>
<li>Nick Schermer</li>
<li>Benoit Boissinot (#mercurial)</li>
<li>Erik (Magnus) Lehnsherr</li>
</ul>
<p>For a list of our awesome translators, refer to the <a class="reference internal" href="#translations">Translations</a> section.</p>
<div class="section" id="special-thanks">
<h4>Special thanks<a class="headerlink" href="#special-thanks" title="Permalink to this headline">¶</a></h4>
<p>We&#8217;d like to publicly thank the <a class="reference external" href="http://translate.moblin.org/">Moblin Project</a> for choosing Transifex as
their translation platform and their ongoing support. Also, the <a class="reference external" href="http://wiki.xfce.org/translations">XFCE Project</a>
has been tremendously helpful in testing and polishing this release.</p>
<img alt="../_images/magneto.jpg" class="alcenter shot" src="../_images/magneto.jpg" />
</div>
</div>
</div>
<div class="section" id="transifex-0-8-development-releases">
<h2>Transifex 0.8 Development Releases<a class="headerlink" href="#transifex-0-8-development-releases" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Alpha:        24 January 2010</li>
<li>Beta: 18 February 2010</li>
<li>Release Candidate: 26 February 2010</li>
</ul>
<p>Please refer to the full <a class="reference external" href="http://code.transifex.org/0.8.x/shortlog">Transifex 0.8 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="0.9.html" title="Transifex version 0.9.x release notes">Transifex version 0.9.x release notes</a> 
     |
    <a href="../contents.html" title="Table of Contents" accesskey="U">up</a>
   |
    <a href="0.7.html" title="Transifex version 0.7.x release notes">Transifex version 0.7.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.8.x release notes</a><ul>
<li><a class="reference external" href="#transifex-0-8-magneto">Transifex 0.8 (Magneto)</a><ul>
<li><a class="reference external" href="#a-note-about-transifex-net">A note about Transifex.net</a></li>
<li><a class="reference external" href="#what-s-new-in-transifex-0-8">What&#8217;s new in Transifex 0.8</a><ul>
<li><a class="reference external" href="#translation-teams">Translation Teams</a></li>
<li><a class="reference external" href="#translation-reviews">Translation Reviews</a><ul>
<li><a class="reference external" href="#rich-commenting-support">Rich Commenting Support</a></li>
</ul>
</li>
<li><a class="reference external" href="#timeline-and-action-history">Timeline and Action History</a></li>
<li><a class="reference external" href="#project-releases-and-removal-of-collections">Project Releases and Removal of Collections</a></li>
<li><a class="reference external" href="#subversion-over-secure-http-https">Subversion over secure HTTP (https)</a></li>
<li><a class="reference external" href="#weekly-maintainer-reports">Weekly Maintainer Reports</a></li>
<li><a class="reference external" href="#user-nudging">User Nudging</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="#lotte-improvements">Lotte Improvements</a></li>
<li><a class="reference external" href="#ui-improvements">UI Improvements</a></li>
<li><a class="reference external" href="#under-the-hood-improvements">Under-the-hood Improvements</a></li>
<li><a class="reference external" href="#efficiency-improvements">Efficiency Improvements</a></li>
<li><a class="reference external" href="#bugfixes">Bugfixes</a></li>
<li><a class="reference external" href="#cleanups">Cleanups</a></li>
</ul>
</li>
<li><a class="reference external" href="#translations">Translations</a></li>
<li><a class="reference external" href="#getting-transifex-0-8">Getting Transifex 0.8</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-0-8">Upgrading to 0.8</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><ul>
<li><a class="reference external" href="#special-thanks">Special thanks</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference external" href="#transifex-0-8-development-releases">Transifex 0.8 Development Releases</a></li>
</ul>
</li>
</ul>

  <h3>Browse</h3>
  <ul>
    
      <li>Prev: <a href="0.9.html">Transifex version 0.9.x release notes</a></li>
    
    
      <li>Next: <a href="0.7.html">Transifex version 0.7.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.8.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.8.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="0.9.html" title="Transifex version 0.9.x release notes">previous</a> 
     |
    <a href="../contents.html" title="Table of Contents" accesskey="U">up</a>
   |
    <a href="0.7.html" title="Transifex version 0.7.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>