Mercurial > p > roundup > code
annotate doc/features.txt @ 3682:193f316dbbe9
More transitive-property support.
- Implemented transitive properties in sort and group specs. Sort/group
specs can now be lists of specs.
- All regression tests except for one metakit backend test related to
metakit having no representation of NULL pass
- Fixed more PEP 8 whitespace peeves (and probably introduced some new
ones :-)
- Moved Proptree from support.py to hyperdb.py due to circular import
- Moved some proptree-specific methods from Class to Proptree
- Added a test for sorting by ids -> should be numeric sort (which now
really works for all backends)
- Added "required" attribute to all property classes in hyperdb (e.g.,
String, Link,...), see Feature Requests [SF#539081]
-> factored common stuff to _Type. Note that I also converted to a
new-style class when I was at it. Bad: The repr changes for new-style
classes which made some SQL backends break (!) because the repr of
Multilink is used in the schema storage. Fixed the repr to be
independent of the class type.
- Added get_required_props to Class. Todo: should also automagically
make the key property required...
- Add a sort_repr method to property classes. This defines the
sort-order. Individual backends may use diffent routines if the
outcome is the same. This one has a special case for id properties to
make the sorting numeric. Using these methods isn't mandatory in
backends as long as the sort-order is correct.
- Multilink sorting takes orderprop into account. It used to sort by
ids. You can restore the old behaviour by specifying id as the
orderprop of the Multilink if you really need that.
- If somebody specified a Link or Multilink as orderprop, we sort by
labelprop of that class -- not transitively by orderprop. I've
resited the tempation to implement recursive orderprop here: There
could even be loops if several classes specify a Link or Multilink as
the orderprop...
- Fixed a bug in Metakit-Backend: When sorting by Links, the backend
would do a natural join to the Link class. It would rename the "id"
attribute before joining but *not* all the other attributes of the
joined class. So in one test-case we had a name-clash with
priority.name and status.name when sorting *and* grouping by these
attributes. Depending on the order of joining this would produce a
name-clash with broken sort-results (and broken display if the
original class has an attribute that clashes). I'm now doing the
sorting of Links in the generic filter method for the metakit backend.
I've left the dead code in the metakit-backend since correctly
implementing this in the backend will probably be more efficient.
- updated doc/design.html with the new docstring of filter.
| author | Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net> |
|---|---|
| date | Mon, 21 Aug 2006 12:19:48 +0000 |
| parents | f0432dc11c2d |
| children | fdc9eb78d708 |
| rev | line source |
|---|---|
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 ================ |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 Roundup Features |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 ================ |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 Roundup is a simple-to-use and -install issue-tracking system with |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 web, e-mail and command-line interfaces. It is based on the winning design |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 from Ka-Ping Yee in the Software Carpentry "Track" design competition. |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 |
| 1228 | 9 *simple to install* |
| 10 - installation (including web interface) takes about 30 minutes | |
|
2660
2ebeb53eb336
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2259
diff
changeset
|
11 - instant-gratification ``python demo.py`` :) |
| 1228 | 12 - two templates included in the distribution for you to base your tracker on |
|
2660
2ebeb53eb336
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2259
diff
changeset
|
13 - play with the demo, customise it and then use *it* as the template for |
|
2ebeb53eb336
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2259
diff
changeset
|
14 your production tracker |
|
3533
f0432dc11c2d
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
3526
diff
changeset
|
15 - requires *no* additional support software - python (2.3+) is |
|
2223
9b447ac40be3
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2138
diff
changeset
|
16 enough to get you going |
|
2138
f76d1642014a
doc cleanup, editing and creation of a What's New
Richard Jones <richard@users.sourceforge.net>
parents:
1649
diff
changeset
|
17 - easy to set up higher-performance storage backends like sqlite_, |
| 2258 | 18 metakit_, mysql_ and postgresql_ |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 *simple to use* |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 - accessible through the web, email, command-line or Python programs |
|
740
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
22 - may be used to track bugs, features, user feedback, sales opportunities, |
| 1228 | 23 milestones, ... |
|
2259
f47ab53269cd
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2258
diff
changeset
|
24 - automatically keeps a full history of changes to issues with |
|
f47ab53269cd
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2258
diff
changeset
|
25 configurable verbosity and easy access to information about who created |
|
f47ab53269cd
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2258
diff
changeset
|
26 or last modified *any* item in the database |
|
1649
6d392197daa3
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1228
diff
changeset
|
27 - issues have their own mini mailing list (nosy list) |
| 2258 | 28 - users may sign themselves up, there may be automatic signup for |
| 29 incoming email and users may handle their own password reset requests | |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 |
| 1228 | 31 *highly configurable* |
| 32 - web interface HTML is fully editable | |
| 33 - database schema is also fully editable (only the "user" class is required) | |
| 34 with a full set of data types (including dates and many-to-many relations) | |
| 35 across all storages available | |
| 36 - customised automatic auditors and reactors may be written that perform | |
|
2138
f76d1642014a
doc cleanup, editing and creation of a What's New
Richard Jones <richard@users.sourceforge.net>
parents:
1649
diff
changeset
|
37 actions before and after changes are made to entries in the database, |
|
f76d1642014a
doc cleanup, editing and creation of a What's New
Richard Jones <richard@users.sourceforge.net>
parents:
1649
diff
changeset
|
38 or may veto the creation or modification of items int he database |
| 2258 | 39 - samples are provided for all manner of configuration changes and |
| 40 customisations | |
| 1228 | 41 |
| 42 *fast, scalable* | |
|
2138
f76d1642014a
doc cleanup, editing and creation of a What's New
Richard Jones <richard@users.sourceforge.net>
parents:
1649
diff
changeset
|
43 - with the sqlite, metakit, mysql and postgresql backends, roundup is |
|
f76d1642014a
doc cleanup, editing and creation of a What's New
Richard Jones <richard@users.sourceforge.net>
parents:
1649
diff
changeset
|
44 also fast and scalable, easily handling thousands of issues and users |
|
f76d1642014a
doc cleanup, editing and creation of a What's New
Richard Jones <richard@users.sourceforge.net>
parents:
1649
diff
changeset
|
45 with decent response times |
|
f76d1642014a
doc cleanup, editing and creation of a What's New
Richard Jones <richard@users.sourceforge.net>
parents:
1649
diff
changeset
|
46 - database indexes are automatically added for those backends that |
|
f76d1642014a
doc cleanup, editing and creation of a What's New
Richard Jones <richard@users.sourceforge.net>
parents:
1649
diff
changeset
|
47 support them (sqlite, metakit, mysql and postgresql) |
| 1228 | 48 - indexed text searching giving fast responses to searches across all |
| 49 messages and indexed string properties | |
|
3526
9b99fff18683
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2660
diff
changeset
|
50 - support for the Xapian full-text indexing engine for large trackers |
| 1228 | 51 |
| 52 *documented* | |
| 53 - documentation exists for installation, upgrading, maintenance, users and | |
| 54 customisation | |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 *web interface* |
| 1228 | 57 - fully editable interfaces for listing and display of items |
| 58 - extendable to include wizards, parent/meta bug displays, ... | |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
59 - differentiates between anonymous, known and admin users |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
60 - may be set up to require login, and may also only allow admin users |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
61 to register new users |
|
1649
6d392197daa3
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1228
diff
changeset
|
62 - authentication of user registration and user-driven password resetting |
|
6d392197daa3
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1228
diff
changeset
|
63 using email and one time keys |
|
740
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
64 - may be run through CGI as a normal cgi script, as a stand-alone |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
65 web server, or through Zope |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
66 - searching may be performed using many constraints, including a full-text |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
67 search of messages attached to issues |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
68 - file attachments (added through the web or email) are served up with the |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
69 correct content-type and filename |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
70 - email change messages generated by roundup appear to be sent by the |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
71 person who made the change, but responses will go back through the nosy |
| 741 | 72 list by default |
| 2258 | 73 - flexible access control built around Permissions and Roles with assigned |
| 74 Permissions | |
| 75 - generates valid HTML4 or XHTML | |
| 76 - detects concurrent user changes | |
| 77 - saving and editing of user-defined queries which may optionally be | |
| 78 shared with other users | |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 |
| 741 | 80 *e-mail interface* |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
81 - may be set up using sendmail-like delivery alias, POP polling or mailbox |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
82 polling |
|
740
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
83 - may auto-register users who send in mail and aren't known to roundup |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 - nosy list configuration controls how people are added and when messages |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 are sent to the list |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 - auto-filing of "unformatted" messages into a particular class |
|
740
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
87 - e-mail attachments are handled sanely, being attached to the issue they're |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
88 intended for, and forwarded on to the nosy list |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
89 - sane handling of content-type and content-encoding of messages (text/plain |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
90 preferred in all situations) |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
91 - email packages that display threading will show issue messages correctly |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
92 threaded |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
93 - users may send in messages from multiple addresses and be associated |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
94 with the same roundup username |
|
1649
6d392197daa3
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1228
diff
changeset
|
95 - built-in security features like TLS and APOP |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
97 *command-line* |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
98 - may be used to interactively manage roundup databases |
|
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 - may be scripted using standard shell scripting |
|
740
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
100 - roundup's API may also be used by other Python programs - a sample is |
|
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
101 provided that runs once a day and emails people their assigned issues |
|
1649
6d392197daa3
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1228
diff
changeset
|
102 - a variety of sample shell scripts are provided (weekly reports, issue |
|
6d392197daa3
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1228
diff
changeset
|
103 generation, ...) |
|
739
c612747b1126
Added a Features doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 |
| 1228 | 105 .. _sqlite: http://www.hwaci.com/sw/sqlite/ |
| 106 .. _metakit: http://www.equi4.com/metakit/ | |
| 2258 | 107 .. _mysql: http://sourceforge.net/projects/mysql-python |
| 108 .. _postgresql: http://initd.org/software/initd/psycopg | |
|
740
2d50d6a17617
more marketing ;)
Richard Jones <richard@users.sourceforge.net>
parents:
739
diff
changeset
|
109 |
