diff --git a/doc/customizing.txt b/doc/customizing.txt
index dadd5ec181ed4def92d8978eae7f4e6254296303..58a8ec342f7376b324258a16f8179177a49e79aa 100644 (file)
--- a/doc/customizing.txt
+++ b/doc/customizing.txt
Customising Roundup
===================
-:Version: $Revision: 1.223 $
-
.. This document borrows from the ZopeBook section on ZPT. The original is at:
http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx
LC_MESSAGES, or LANG, in that order of preference.
Section **web**
+ allow_html_file -- ``no``
+ Setting this option enables Roundup to serve uploaded HTML
+ file content *as HTML*. This is a potential security risk
+ and is therefore disabled by default. Set to 'yes' if you
+ trust *all* users uploading content to your tracker.
+
http_auth -- ``yes``
Whether to use HTTP Basic Authentication, if present.
Roundup will use either the REMOTE_USER or HTTP_AUTHORIZATION
an issue for the interval after the issue's creation or last activity.
The interval is a standard Roundup interval.
+ subject_updates_title -- ``yes``
+ Update issue title if incoming subject of email is different.
+ Setting this to ``no`` will ignore the title part of
+ the subject of incoming email messages.
+
refwd_re -- ``(\s*\W?\s*(fw|fwd|re|aw|sv|ang)\W)+``
Regular expression matching a single reply or forward prefix
prepended by the mailer. This is explicitly stripped from the
Regular expression matching a blank line. Value is Python Regular
Expression (UTF8-encoded).
+ ignore_alternatives -- ``no``
+ When parsing incoming mails, roundup uses the first
+ text/plain part it finds. If this part is inside a
+ multipart/alternative, and this option is set, all other
+ parts of the multipart/alternative are ignored. The default
+ is to keep all parts and attach them to the issue.
+
Section **pgp**
OpenPGP mail processing options
them.
**init**
This function is responsible for setting up the initial state of your
- tracker. It's called exactly once - but the ``roundup-admin initialise``
+ tracker. It's called exactly once - by the ``roundup-admin initialise``
command. See the start of the section on `database content`_ for more
info about how this works.
- Create (everything)
- Edit (everything)
- View (everything)
+- Register (User class only)
These are assigned to the "Admin" Role by default, and allow a user to do
anything. Every Class you define in your `tracker schema`_ also gets an
And the "Anonymous" Role is defined as:
- Web interface access
-- Create user (for registration)
+- Register user (for registration)
- View issue, file, msg, query, keyword, priority, status
Put together, these settings appear in the tracker's ``schema.py`` file::
- they're *anonymous*.
**automatic registration of users in the e-mail gateway**
- By giving the "anonymous" user the ("Create", "user") Permission, any
+ By giving the "anonymous" user the ("Register", "user") Permission, any
unidentified user will automatically be registered with the tracker
(with no password, so they won't be able to log in through
the web until an admin sets their password). By default new Roundup
**user.register.html**
a special page just for the user class, that renders the registration
page
-**style.css.html**
+**style.css**
a static file that is served up as-is
The *classic* template has a number of additional templates.
This is implemented by the ``roundup.cgi.templating.HTMLClass``
class.
-This wrapper object provides access to a hyperb class. It is used
+This wrapper object provides access to a hyperdb class. It is used
primarily in both index view and new item views, but it's also usable
anywhere else that you wish to access information about a class, or the
items of a class, when you don't have a specific item of that class in
This is implemented by the ``roundup.cgi.templating.HTMLItem``
class.
-This wrapper object provides access to a hyperb item.
+This wrapper object provides access to a hyperdb item.
We allow access to properties. There will be no "id" property. The value
accessed through the property will be the current value of the same name
the "keyword" class (well, their "name" anyway).
+Translations
+~~~~~~~~~~~~
+
+Should you wish to enable multiple languages in template content that you
+create you'll need to add new locale files in the tracker home under a
+``locale`` directory. Use the instructions in the ``developer's guide`` to
+create the locale files.
+
+
Displaying Properties
---------------------
db.security.addPermissionToRole('User', 'Create', cl)
+Moderating user registration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You could set up new-user moderation in a public tracker by:
+
+1. creating a new highly-restricted user role "Pending",
+2. set the config new_web_user_roles and/or new_email_user_roles to that
+ role,
+3. have an auditor that emails you when new users are created with that
+ role using roundup.mailer
+4. edit the role to "User" for valid users.
+
+Some simple javascript might help in the last step. If you have high volume
+you could search for all currently-Pending users and do a bulk edit of all
+their roles at once (again probably with some simple javascript help).
+
Changes to the Web User Interface
---------------------------------
'''
category = self.form['category'].value
if category == '-1':
- self.error_message.append('You must select a category of report')
+ self.client.error_message.append('You must select a category of report')
return
# everything's ok, move on to the next page
- self.template = 'add_page2'
+ self.client.template = 'add_page2'
def init(instance):
instance.registerAction('page1_submit', Page1SubmitAction)
rather than requiring a web server restart.
--------------------
-
-Back to `Table of Contents`_
-
-.. _`Table of Contents`: index.html
.. _`design documentation`: design.html
-.. _`admin guide`: admin_guide.html
-
+.. _`developer's guide`: developers.html