Home | Get Involved | Sourceforge
| Mailing Lists | Documentation
The Referendum Task List
To avoid duplication of effort,
Please email the referendum-devel list if you start working on one of these items.
Current Showstoppers before 1.0 final can be releaseed
- Memory leaks
- update I checked into this the other day and even the most
db-intensive page was growing no more than 1k per hit. I'm
planning to set up hacktree.org before I worry too much more about
this. [2000/05/19 :lh]
On some pages The system grows by as much as 30k per hit. This is,
of course, completely unacceptable in a high-availability web
application, and is downright embarrassing besides. I won't release
1.0 until this has been fixed. The growth seems to increase with
the number of database queries done by the system, but thus far I've been
unable to locate a leak in Dustin Salling's excellent postgres
package, PG. The other large bit of C code used by referendum is
the Fast-CGI web architecture, via my own Small-FCGI bindings. Here
too, I've been unable to locate leaks thus far.
I plan to branch the source tree and shrink the system until I
locate the source of the leaks. If anyone has any ideas on
how to pursue this problem, please contact me, either through the
referendum-devel mailing list at http://lists.sourceforge.net/mailman/listinfo/referendum-devel or directly at laheadle@cs.uchicago.edu
- SSL support
- I'm working on this now. mod_ssl is complaining about not
being able to find openssl. whee.
currently, passwords are sent in plain text both when logging in and
joining the community. It should be a simple matter to use an SSL
connection for these operations.
- Publicly available installation
- As is explained on the
hosting page,
Referendum needs to be installed somewhere on a permanent internet
connection before it can be beta tested. I currently lack the
resources to do this. Please consider hosting a referendum installation.
- Beta Testing
- Referendum needs to be tested before we can claim it is a stable
system. For that we need a host and a community tree. Please see
this document
for my vision of how this can happen.
Other Tasks which would be useful
- Change Vote (easy)
- Currently there is no way for a user to change his vote.
We do want this feature, right? [2000/04/22 :lh]
- Vote Several Times (easy-medium)
- When an issue is created, the creator should be able to set its type
to one of single-vote or multi-vote
- More convenience links (easy)
- Add some more links that you think should go with each screen.
- Rate Votes (medium)
- All the community to decide which issues are important by rating
them on a scale of 1 to 10. Add a page for viewing issues based
on importance.
- default reply title (easy)
- When replying to a comment, the title should default to that of
the replied-to comment.
- Nice Hierarchical Group View (medium)
- Currently there is no way to list all groups which shows them
properly indented according to their parent-child structure. Right
now we only have a flat listing. If you do this right, it shouldn't
take too many database queries.
- Security Testing (medium)
- Find any security flaws in the Referendum code/architecture.
- Change parentage
- Change the parent(s) of a group.
- Issue Expiration (medium)
- I'm not sure if we want this, but perhaps voting for certain issues,
or all issues, should be disallowed after a certain amount of time
has passed.
- Debian package (easy for the right person)
- I would really like for referendum to be easy to install. The
Debian package system would be a great way to handle dependencies,
and could make installation a real snap for debian users, of which
I am not one.
- FreeBSD Port (easy for the right person)
- another advanced dependency-tracking package system. It would be
great if installing referendum on a bsd system were as simple
as "cd /usr/ports/referendum; make install".
- Test Suite (depends on completeness)
- A test suite along the lines of the
extreme programming
methodology.
- Nice Error Reporting (hard)
- Hack the SmallEiffel compiler so that a rescue clause can retrieve
(as a string) the stack dump output that currently gets printed to
stdout when an exception occurs that is not handled. Log this error
information in the database and/or return it to the browser.
Home | Get Involved | Sourceforge
| Mailing Lists | Documentation