1 |
-*- text -*- |
2 |
|
3 |
This is a list of features and also a list of suggested projects if |
4 |
you want to work on the code. Status shows blank if it's not |
5 |
complete, GO if someone's working on it that I know about (ask on list |
6 |
so that we co-ordinate work) and DONE if I believe it to be complete |
7 |
(although these may need testing, more bugfixing and optimisation). |
8 |
Layers include HTML for templates, Base for the back-end modules, Glue |
9 |
for the user interface scripts and the others should be obvious. |
10 |
|
11 |
I've tried to put these in what I see as order of priority, with most |
12 |
important near the top. Your opinion may be different and I won't |
13 |
reject any work on later sections unnecessarily. Suggestions for more |
14 |
things on this list are welcome (please send them to the mailing |
15 |
list), but please see the blacklist at the bottom. |
16 |
|
17 |
Status Layer Task |
18 |
DONE Base Uses standard CGI protocols |
19 |
DONE Base Works from replaceable HTML templates |
20 |
DONE Base Split articles and index entries (support hybrid |
21 |
sections and guest articles) |
22 |
DONE Base NNTP-based user discussions |
23 |
DONE HTML Templates include appropriate cache-control headers |
24 |
DONE Base User registration and management |
25 |
DONE Glue User comments on all articles |
26 |
Base Correct User Permissions implementation (what was I thinking?) |
27 |
DONE Glue SSI-enabled comments |
28 |
GO Docs Comments in the code |
29 |
GO Docs 100% GPL'd with all notices in place |
30 |
All 100% Scheme code (need to write email sender module) |
31 |
GO All Working v1.0 system with above features |
32 |
DONE? Glue Browser-based administration framework |
33 |
Glue Pull basic messages from themes instead of glue |
34 |
Base Create configuration module |
35 |
Base Support multiple sites from one installation (should follow) |
36 |
Glue Maintenance scripts |
37 |
HTML Templates for Palmtop, RSS and Ultramode editions of the site |
38 |
Glue Palmtop, RSS and Ultramode editions of the site |
39 |
Docs Installation guide and tutorial |
40 |
Base Banner Ad services |
41 |
Glue Banner Ad Administration |
42 |
Glue Banner Ad Integration |
43 |
HTML Banner Ad Integration |
44 |
Base Survey services |
45 |
Glue Survey Integration |
46 |
HTML Survey Integration |
47 |
Base Section management services |
48 |
HTML Modify admin templates to support topic manager |
49 |
Glue Section management integration |
50 |
Docs Update documentation to include above modules |
51 |
All Working v1.2 system with above features |
52 |
Glue Theme support (one at a time per site) |
53 |
HTML Alternative site themes |
54 |
Glue Multiple simultaneous theme support |
55 |
Glue Use multiple themes to offer some internationalisation |
56 |
Base Session support |
57 |
All Working v1.4 system with above features |
58 |
Base Offer application server edition (Serveez?) |
59 |
|
60 |
|
61 |
THE BLACKLIST |
62 |
|
63 |
These are things I don't believe should be in the system, together |
64 |
with reasons. You may still create them if you want, but they are |
65 |
unlikely to be included in the base distribution unless you get them |
66 |
absolutely perfect. I would *really* prefer you to work on the above |
67 |
list first. |
68 |
|
69 |
Encryption: I'm not a cryptographer. I'm probably not qualified to |
70 |
judge the security of any cryptography implementations. I would much |
71 |
rather rely on the http server, networking layer and database service |
72 |
to provide encryption for us. They're far more likely to get it |
73 |
right. |
74 |
|
75 |
Search engines: in a limited way, this can be done (and was present in |
76 |
v0.8), but I believe that dedicated search software is far better than |
77 |
we are at indexing our site. We should give all the support we can to |
78 |
them (ie need to improve our use of meta tags), but let's avoid |
79 |
reinventing wheels for now. |
80 |
|
81 |
Caching: yes, the software isn't as fast as it could be. The right |
82 |
ways to fix this are to move from CGI to an application server and to |
83 |
use an http accelerator to cache our output for us. Squid is a good |
84 |
http accelerator and is far better at caching than we're likely to |
85 |
be. Again, let's not reinvent perfectly good wheels, because we've |
86 |
lots else to do. |
87 |
|
88 |
Statistics: This one's only half-heartedly here. We could do lots of |
89 |
clever statistics from the interaction of the base modules with the |
90 |
glue that it's hard to get from normal log analysers. Not impossible |
91 |
though. If someone wants to beef up stats support, then please do it |
92 |
via an interface to squid or httpd logs, rather than slowing the base |
93 |
system down more. There are lots of things higher up on the |
94 |
priorities, though. |