Skip to content

Commit ebb9bf7

Browse files
author
Richard Jones
committed
more docco work
1 parent 864bb81 commit ebb9bf7

File tree

7 files changed

+86
-8
lines changed

7 files changed

+86
-8
lines changed

CHANGES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ are given with the most recent entry first.
3333
- #614188 ] Exception in mailgw.py
3434
- #613310 ] traceback on onexistant items
3535
- #613291 ] typos in nosy list
36+
- handle stupid mailers that QUOTE their Re; 'Re: "[issue1] bla blah"'
37+
- giving a user a Role that doesn't exist doesn't break stuff any more
38+
- revamped user guide, customisation guide, added maintenance guide
3639

3740

3841
2002-09-13 0.5.0 beta2

TODO.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ pending web automagically link designators
5454
pending web add checkbox-based removal/addition for multilink entries
5555
(eg "add me"/"remove me" for nosy list)
5656

57-
bug mailgw some f*ked mailers QUOTE their Re; "Re: "[issue1] bla blah""
5857
bug docs need to mention somewhere how sorting works
59-
bug roles giving a user a Role that doesn't exist breaks stuff
6058
======= ========= =============================================================
6159

doc/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ STXTOHTML = -c "from docutils.core import publish;publish(writer_name='html')"
33

44
SOURCE = announcement.txt customizing.txt developers.txt FAQ.txt features.txt \
55
getting_started.txt glossary.txt implementation.txt index.txt \
6-
installation.txt security.txt upgrading.txt user_guide.txt
6+
installation.txt security.txt upgrading.txt user_guide.txt \
7+
maintenance.txt
78

89
COMPILED := $(SOURCE:.txt=.html)
910

doc/index.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Contents
99
- Installation_ and `Getting Started`_ (and Upgrading_)
1010
- `User Guide`_
1111
- `Customising Roundup`_
12+
- `Maintaining Roundup Trackers`_
1213
- `Roundup's Design`_ (original_)
1314
- `Developing Roundup`_
1415
- Contact_
@@ -21,6 +22,7 @@ Contents
2122
.. _`Getting Started`: getting_started.html
2223
.. _`User Guide`: user_guide.html
2324
.. _`Customising Roundup`: customizing.html
25+
.. _`Maintaining Roundup Trackers`: maintenance.html
2426
.. _`Developing Roundup`: developers.html
2527
.. _`Roundup's Design`: design.html
2628
.. _original: spec.html
@@ -69,6 +71,7 @@ Engelbert Gruber,
6971
Juergen Hermann,
7072
Gordon McMillan,
7173
Patrick Ohly,
74+
Dougal Scott,
7275
Stefan Seefeld.
7376

7477

doc/installation.txt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Installing Roundup
33
==================
44

5-
:Version: $Revision: 1.24 $
5+
:Version: $Revision: 1.25 $
66

77
.. contents::
88

@@ -43,7 +43,7 @@ There's several to choose from, each with benefits and limitations:
4343

4444
**anydbm**
4545
This backend is guaranteed to work on any system that Python runs on. It
46-
will generally choose the best *dbm backend that is available on your system
46+
will generally choose the best dbm backend that is available on your system
4747
(from the list dbhash, gdbm, dbm, dumbdbm). It is the least scaleable of all
4848
backends, but performs well enough for a smallish tracker (a couple of
4949
thousand issues, under fifty users, ...).
@@ -55,7 +55,8 @@ There's several to choose from, each with benefits and limitations:
5555
This allows it to gain some performance and scaling benefits.
5656
**sqlite**
5757
This uses the SQLite embedded RDBMS to provide a fast, scaleable backend.
58-
There are no limitations.
58+
There are no limitations, and it's much faster and more scaleable than the
59+
dbm backends.
5960
**gadfly**
6061
This is a proof-of-concept relational database backend, not really intended
6162
for actual production use, although it can be. It uses the Gadfly RDBMS
@@ -64,13 +65,17 @@ There's several to choose from, each with benefits and limitations:
6465
setup is used.
6566
**metakit**
6667
This backend is implemented over the metakit storage system, using Mk4Py as
67-
the interface. It scales much better than the *dbm backends, but has some
68+
the interface. It scales much better than the dbm backends, but has some
6869
missing features:
6970

7071
- you may not unset properties once they are set
7172
- journal retrieval is not implemented
7273

7374

75+
Note: you may set your tracker up with the anydbm backend (which is guaranteed
76+
to be available) and switch to one of the other backends at any time using the
77+
instructions in the `maintenance documentation`_.
78+
7479
Prerequisites
7580
=============
7681

@@ -314,4 +319,5 @@ Next: `Getting Started`_
314319
.. _`roundup specification`: spec.html
315320
.. _`customising roundup`: customizing.html
316321
.. _`upgrading document`: upgrading.html
322+
.. _`maintenance documentation`: maintenance.html
317323

doc/maintenance.txt

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
============================
2+
Maintaining Roundup Trackers
3+
============================
4+
5+
:Version: $Revision: 1.1 $
6+
7+
.. contents::
8+
:depth: 1
9+
10+
Tasks
11+
=====
12+
13+
Maintenance of Roundup can involve one of the following:
14+
15+
1. `tracker backup`_
16+
2. `software upgrade`_
17+
3. `migrating backends`_
18+
19+
20+
Tracker Backup
21+
==============
22+
23+
Stop the web and email frontends and to copy the contents of the tracker home
24+
directory to some other place using standard backup tools.
25+
26+
Software Upgrade
27+
================
28+
29+
Always make a backup of your tracker before upgrading software. Steps you may
30+
take:
31+
32+
1. ensure that the unit tests run on your system
33+
2. copy your tracker home to a new directory
34+
3. follow the steps in the upgrading documentation for the new version of
35+
the software
36+
4. test each of the admin tool, web interface and mail gateway using the new
37+
version of the software
38+
5. stop the production web and email frontends
39+
6. perform the upgrade steps on the existing tracker directory
40+
7. upgrade the software
41+
8. restart your tracker
42+
43+
Migrating Backends
44+
==================
45+
46+
47+
1. stop the existing tracker web and email frontends (preventing changes)
48+
2. use the roundup-admin tool "export" command to export the contents of
49+
your tracker to disk
50+
3. copy the tracker home to a new directory
51+
4. change the backend used in the tracker home ``select_db.py`` file
52+
5. delete the "db" directory from the new directory
53+
6. use the roundup-admin "import" command to import the previous export with
54+
the new tracker home
55+
7. test each of the admin tool, web interface and mail gateway using the new
56+
backend
57+
8. move the old tracker home out of the way (rename to "tracker.old") and
58+
move the new tracker home into its place
59+
9. restart web and email frontends
60+
61+
62+
-------------------
63+
64+
Back to `Table of Contents`_
65+
66+
.. _`Table of Contents`: index.html
67+

roundup/security.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def hasPermission(self, permission, userid, classname=None):
9999
if roles is None:
100100
return 0
101101
for rolename in roles.split(','):
102-
if not rolename:
102+
if not rolename or not self.role.has_key(rolename):
103103
continue
104104
# for each of the user's Roles, check the permissions
105105
for perm in self.role[rolename].permissions:

0 commit comments

Comments
 (0)