<!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>What’s New in Roundup 0.8 &mdash; Roundup v1.4 documentation</title> <link rel="stylesheet" href="_static/style.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '#', VERSION: '1.4', COLLAPSE_MODINDEX: false, FILE_SUFFIX: '.html' }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="top" title="Roundup v1.4 documentation" href="index.html" /> </head> <body> <div class="header"><h1>Roundup</h1> <div id="searchbox" style="display: none"> <form class="search" action="search.html" method="get"> <input type="text" name="q" size="18" /> <input type="submit" value="Search" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> <div class="navigation"> <div class="menu"> <h3><a href="index.html">Table Of Contents</a></h3> <ul> <li><a class="reference external" href="#">What’s New in Roundup 0.8</a><ul> <li><a class="reference external" href="#in-summary">In Summary</a></li> <li><a class="reference external" href="#performance-improvements">Performance improvements</a></li> <li><a class="reference external" href="#logging-of-internal-messages">Logging of internal messages</a></li> <li><a class="reference external" href="#security-changes">Security Changes</a><ul> <li><a class="reference external" href="#password-storage">Password Storage</a></li> <li><a class="reference external" href="#permission-definitions">Permission Definitions</a></li> </ul> </li> <li><a class="reference external" href="#extending-roundup">Extending Roundup</a></li> <li><a class="reference external" href="#bit-character-set-support-in-web-interface">8-bit character set support in Web interface</a></li> <li><a class="reference external" href="#web-interface-miscellanea">Web Interface Miscellanea</a></li> </ul> </li> </ul> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="_sources/whatsnew-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 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> <div class="content"> <div class="related related-top"> <ul> <li class="right" style="margin-right: 10px"> <a href="genindex.html" title="General Index" accesskey="I">index</a></li> <li><a href="index.html">Roundup v1.4 documentation</a></li> </ul> </div> <div class="section" id="what-s-new-in-roundup-0-8"> <h1><a class="toc-backref" href="#id2">What’s New in Roundup 0.8</a></h1> <p>For those completely new to Roundup, you might want to look over the very terse <a class="reference external" href="features.html">features</a> page.</p> <div class="contents topic" id="contents"> <p class="topic-title first">Contents</p> <ul class="simple"> <li><a class="reference internal" href="#what-s-new-in-roundup-0-8" id="id2">What’s New in Roundup 0.8</a><ul> <li><a class="reference internal" href="#in-summary" id="id3">In Summary</a></li> <li><a class="reference internal" href="#performance-improvements" id="id4">Performance improvements</a></li> <li><a class="reference internal" href="#logging-of-internal-messages" id="id5">Logging of internal messages</a></li> <li><a class="reference internal" href="#security-changes" id="id6">Security Changes</a><ul> <li><a class="reference internal" href="#password-storage" id="id7">Password Storage</a></li> <li><a class="reference internal" href="#permission-definitions" id="id8">Permission Definitions</a></li> </ul> </li> <li><a class="reference internal" href="#extending-roundup" id="id9">Extending Roundup</a></li> <li><a class="reference internal" href="#bit-character-set-support-in-web-interface" id="id10">8-bit character set support in Web interface</a></li> <li><a class="reference internal" href="#web-interface-miscellanea" id="id11">Web Interface Miscellanea</a></li> </ul> </li> </ul> </div> <div class="section" id="in-summary"> <h2><a class="toc-backref" href="#id3">In Summary</a></h2> <p>(this information copied directly from the <tt class="docutils literal"><span class="pre">CHANGES.txt</span></tt> file)</p> <p>XXX this section needs more detail</p> <ul class="simple"> <li>create a new RDBMS cursor after committing</li> <li>roundup-admin reindex command may now work on single items or classes</li> <li>roundup-server options -g and -u accept both ids and names (sf bug 983769)</li> <li>roundup-server now has a configuration file (-C option)</li> <li>roundup windows service may be installed with command line options recognized by roundup-server (but not tracker specification arguments). Use this to specify server configuration file for the service.</li> <li>added option to turn off registration confirmation via email (“instant_registration” in config) (sf rfe 922209)</li> </ul> </div> <div class="section" id="performance-improvements"> <h2><a class="toc-backref" href="#id4">Performance improvements</a></h2> <p>We don’t try to import all backends in backends.__init__ unless we <em>want</em> to.</p> <p>Roundup may now use the Apache mod_python interface (see installation.txt) which is much faster than the standard cgi-bin and a little faster than roundup-server.</p> <p>There is now an experimental multi-thread server which should allow faster concurrent access.</p> <p>In the hyperdb, a few other speedups were implemented, such as:</p> <ul class="simple"> <li>record journaltag lookup (“fixes” sf bug 998140)</li> <li>unless in debug mode, keep a single persistent connection through a single web or mailgw request.</li> <li>remove “manual” locking of sqlite database</li> </ul> </div> <div class="section" id="logging-of-internal-messages"> <h2><a class="toc-backref" href="#id5">Logging of internal messages</a></h2> <p>Roundup’s previously ad-hoc logging of events has been cleaned up and is now configured in a single place in the tracker configuration file.</p> <p>The <a class="reference external" href="customizing.html">customization documentation</a> has more details on how this is configured.</p> <p>roundup-mailgw now logs fatal exceptions rather than mailing them to admin.</p> </div> <div class="section" id="security-changes"> <h2><a class="toc-backref" href="#id6">Security Changes</a></h2> <p><tt class="docutils literal"><span class="pre">security.addPermissionToRole()</span></tt> has been extended to allow skipping the separate getPermission call.</p> <div class="section" id="password-storage"> <h3><a class="toc-backref" href="#id7">Password Storage</a></h3> <p>Added MD5 scheme for password hiding. This extends the existing SHA and crypt methods and is useful if you have an existing MD5 password database.</p> </div> <div class="section" id="permission-definitions"> <h3><a class="toc-backref" href="#id8">Permission Definitions</a></h3> <p>Permissions may now be defined on a per-property basis, allowing access to only specific properties on items.</p> <p>Permissions may also have code attached which is executed to check whether the Permission is valid for the current user and item.</p> <p>Permissions are now automatically checked when information is rendered through the web. This includes:</p> <ol class="arabic simple"> <li>View checks for properties when being rendered via the <tt class="docutils literal"><span class="pre">plain()</span></tt> or similar methods. If the check fails, the text “[hidden]” will be displayed.</li> <li>Edit checks for properties when the edit field is being rendered via the <tt class="docutils literal"><span class="pre">field()</span></tt> or similar methods. If the check fails, the property will be rendered via the <tt class="docutils literal"><span class="pre">plain()</span></tt> method (see point 1. for additional checking performed)</li> <li>View checks are performed in index pages for each item being displayed such that if the user does not have permission, the row is not rendered.</li> </ol> </div> </div> <div class="section" id="extending-roundup"> <h2><a class="toc-backref" href="#id9">Extending Roundup</a></h2> <p>To write extension code for Roundup you place a file in the tracker home <tt class="docutils literal"><span class="pre">extensions</span></tt> directory. See the <a href="#id12"><span class="problematic" id="id13">`customisation documentation`_</span></a> for more information about how this is done.</p> </div> <div class="section" id="bit-character-set-support-in-web-interface"> <h2><a class="toc-backref" href="#id10">8-bit character set support in Web interface</a></h2> <p>This is used to override the UTF-8 default. It may be overridden in both forms and a browser cookie.</p> <ul class="simple"> <li>In forms, use the <tt class="docutils literal"><span class="pre">@charset</span></tt> variable.</li> <li>To use the cookie override, have the <tt class="docutils literal"><span class="pre">roundup_charset</span></tt> cookie set.</li> </ul> <p>In both cases, the value is a valid charset name (eg. <tt class="docutils literal"><span class="pre">utf-8</span></tt> or <tt class="docutils literal"><span class="pre">kio8-r</span></tt>).</p> <p>Inside Roundup, all strings are stored and processed in utf-8. Unfortunately, some older browsers do not work properly with utf-8-encoded pages (e.g. Netscape Navigator 4 displays wrong characters in form fields). This version allows to change the character set for http transfers. To do so, you may add the following code to your <tt class="docutils literal"><span class="pre">page.html</span></tt> template:</p> <div class="highlight-python"><pre><tal:block define="uri string:${request/base}${request/env/PATH_INFO}"> <a tal:attributes="href python:request.indexargs_url(uri, {'@charset':'utf-8'})">utf-8</a> <a tal:attributes="href python:request.indexargs_url(uri, {'@charset':'koi8-r'})">koi8-r</a> </tal:block></pre> </div> <p>(substitute <tt class="docutils literal"><span class="pre">koi8-r</span></tt> with the appropriate charset for your language). Charset preference is kept in the browser cookie <tt class="docutils literal"><span class="pre">roundup_charset</span></tt>.</p> <p><tt class="docutils literal"><span class="pre">meta</span> <span class="pre">http-equiv</span></tt> lines added to the tracker templates in version 0.6.0 should be changed to include actual character set name:</p> <div class="highlight-python"><pre><meta http-equiv="Content-Type" tal:attributes="content string:text/html;; charset=${request/client/charset}" /></pre> </div> <p>Actual charset is also sent in the http header.</p> </div> <div class="section" id="web-interface-miscellanea"> <h2><a class="toc-backref" href="#id11">Web Interface Miscellanea</a></h2> <p>The web interface has seen some changes:</p> <p>Editing</p> <dl class="docutils"> <dt>Templating</dt> <dd><p class="first">We implement __nonzero__ for HTMLProperty - properties may now be used in boolean conditions (eg <tt class="docutils literal"><span class="pre">tal:condition="issue/nosy"</span></tt> will be false if the nosy list is empty).</p> <p>We added a default argument to the DateHTMLProperty.field method, and an optional Interval (string or object) to the DateHTMLProperty.now</p> <p>We’ve added a multiple selection Link/Multilink search field macro to the default classic page.html template.</p> <p>We relaxed hyperlinking in web interface (accept “issue123” or “Issue 123”)</p> <p class="last">The listing popup may be used in query forms.</p> </dd> <dt>Standard templates</dt> <dd><p class="first">We hide “(list)” popup links when issue is only viewable</p> <p>The issue search page now has fields to allow no sorting / grouping of the results.</p> <p class="last">The default page.html template now has a search box in the top right corner which performs a full-text search of issues. The “show issue” quick jump form in the sidebar has had its font size reduced to use less space.</p> </dd> <dt>Web server</dt> <dd>The builtin web server may now perform HTTP Basic Authentication by itself.</dd> </dl> </div> </div> <div class="related related-bottom"> <ul> <li class="right" style="margin-right: 10px"> <a href="genindex.html" title="General Index" accesskey="I">index</a></li> <li><a href="index.html">Roundup v1.4 documentation</a></li> </ul> </div> </div> <div class="footer"> © Copyright 2009, Richard Jones. <p class="source"><a href="_sources/whatsnew-0.8.txt" rel="nofollow">source</a></p> </div> </body> </html>