Code

Second patch from issue2550688 -- with some changes:
[roundup.git] / doc / whatsnew-0.8.txt
1 =========================
2 What's New in Roundup 0.8
3 =========================
5 For those completely new to Roundup, you might want to look over the very
6 terse features__ page.
8 __ features.html
10 .. contents::
12 In Summary
13 ==========
15 (this information copied directly from the ``CHANGES.txt`` file)
17 XXX this section needs more detail
19 - create a new RDBMS cursor after committing
20 - roundup-admin reindex command may now work on single items or classes
22 - roundup-server options -g and -u accept both ids and names (sf bug 983769)
23 - roundup-server now has a configuration file (-C option)
24 - roundup windows service may be installed with command line options
25   recognized by roundup-server (but not tracker specification arguments).
26   Use this to specify server configuration file for the service.
28 - added option to turn off registration confirmation via email
29   ("instant_registration" in config) (sf rfe 922209)
33 Performance improvements
34 ========================
36 We don't try to import all backends in backends.__init__ unless we *want*
37 to.
39 Roundup may now use the Apache mod_python interface (see installation.txt)
40 which is much faster than the standard cgi-bin and a little faster than
41 roundup-server.
43 There is now an experimental multi-thread server which should allow faster
44 concurrent access.
46 In the hyperdb, a few other speedups were implemented, such as:
48 - record journaltag lookup ("fixes" sf bug 998140)
49 - unless in debug mode, keep a single persistent connection through a
50   single web or mailgw request.
51 - remove "manual" locking of sqlite database
54 Logging of internal messages
55 ============================
57 Roundup's previously ad-hoc logging of events has been cleaned up and is
58 now configured in a single place in the tracker configuration file.
60 The `customization documentation`_ has more details on how this is
61 configured.
63 roundup-mailgw now logs fatal exceptions rather than mailing them to admin.
66 Security Changes
67 ================
69 ``security.addPermissionToRole()`` has been extended to allow skipping the
70 separate getPermission call.
73 Password Storage
74 ----------------
76 Added MD5 scheme for password hiding. This extends the existing SHA and
77 crypt methods and is useful if you have an existing MD5 password database.
80 Permission Definitions
81 ----------------------
83 Permissions may now be defined on a per-property basis, allowing access to
84 only specific properties on items. 
86 Permissions may also have code attached which is executed to check whether
87 the Permission is valid for the current user and item.
89 Permissions are now automatically checked when information is rendered
90 through the web. This includes:
92 1. View checks for properties when being rendered via the ``plain()`` or
93    similar methods. If the check fails, the text "[hidden]" will be
94    displayed.
95 2. Edit checks for properties when the edit field is being rendered via
96    the ``field()`` or similar methods. If the check fails, the property
97    will be rendered via the ``plain()`` method (see point 1. for additional
98    checking performed)
99 3. View checks are performed in index pages for each item being displayed
100    such that if the user does not have permission, the row is not rendered.
103 Extending Roundup
104 =================
106 To write extension code for Roundup you place a file in the tracker home
107 ``extensions`` directory. See the `customisation documentation`_ for more
108 information about how this is done.
111 8-bit character set support in Web interface
112 ============================================
114 This is used to override the UTF-8 default. It may be overridden in both
115 forms and a browser cookie.
117 - In forms, use the ``@charset`` variable.
118 - To use the cookie override, have the ``roundup_charset`` cookie set.
120 In both cases, the value is a valid charset name (eg. ``utf-8`` or
121 ``kio8-r``).
123 Inside Roundup, all strings are stored and processed in utf-8.
124 Unfortunately, some older browsers do not work properly with
125 utf-8-encoded pages (e.g. Netscape Navigator 4 displays wrong
126 characters in form fields).  This version allows to change
127 the character set for http transfers.  To do so, you may add
128 the following code to your ``page.html`` template::
130  <tal:block define="uri string:${request/base}${request/env/PATH_INFO}">
131   <a tal:attributes="href python:request.indexargs_url(uri,
132    {'@charset':'utf-8'})">utf-8</a>
133   <a tal:attributes="href python:request.indexargs_url(uri,
134    {'@charset':'koi8-r'})">koi8-r</a>
135  </tal:block>
137 (substitute ``koi8-r`` with the appropriate charset for your language).
138 Charset preference is kept in the browser cookie ``roundup_charset``.
140 ``meta http-equiv`` lines added to the tracker templates in version 0.6.0
141 should be changed to include actual character set name::
143  <meta http-equiv="Content-Type"
144   tal:attributes="content string:text/html;; charset=${request/client/charset}"
145  />
147 Actual charset is also sent in the http header.
150 Web Interface Miscellanea
151 =========================
153 The web interface has seen some changes:
155 Editing
157 Templating
158   We implement __nonzero__ for HTMLProperty - properties may now be used in
159   boolean conditions (eg ``tal:condition="issue/nosy"`` will be false if
160   the nosy list is empty).
162   We added a default argument to the DateHTMLProperty.field method, and an
163   optional Interval (string or object) to the DateHTMLProperty.now
165   We've added a multiple selection Link/Multilink search field macro to the
166   default classic page.html template.
168   We relaxed hyperlinking in web interface (accept "issue123" or "Issue 123")
170   The listing popup may be used in query forms.
172 Standard templates
173   We hide "(list)" popup links when issue is only viewable
175   The issue search page now has fields to allow no sorting / grouping of
176   the results.
178   The default page.html template now has a search box in the top right
179   corner which performs a full-text search of issues. The "show issue"
180   quick jump form in the sidebar has had its font size reduced to use less
181   space.
183 Web server
184   The builtin web server may now perform HTTP Basic Authentication by
185   itself.
187 .. _`customization documentation`: customizing.html