I figured I'd throw this out for discussion to see what people feel are priorities for the GNATS software and what type of release schedule we should try to hold to. The following list is the text output of the XML .todo file that has been checked into CVS. I'm fishing for comments here, so please let us know what your impressions are. I've copied in almost all of the old TODO list into the 'Unassigned' list item. These are trivial to reparent to different releases. If a task isn't "assigned" to someone, it's because this is still a work in progress or because no one has mentioned interest in it. Also, our GNATS database, although recovered from the old fencepost backups, has not been reinstalled or reinstated. Consider every release a bugfix release, although notable ones may show up on this list. I'm awaiting a fencepost account, and we have requested that the GNATS database be installed and restored to its former glory from the GNU sysadmin's. Adam or I will keep you all posted. A '-' in front of a list item indicates it's finished. As far as a timeline, I would like to start preparing a 4.1 pre-release ASAP. There have been some CVS updates since the original 4.0 release, and it's a good time mark the codebase before branching off for the big changes in 4.2 and 5.0. GNATS General TODO List 1.Release 4.1: Code cleanups, bug fixes, documentation updates Added: Fri Jun 11 10:36:54 2004 Completed: incomplete Duration: incomplete Priority: high - 1.Prepend $(DESTDIR) to Makefile.in installation targets (Chad) Added: Fri Jun 11 11:08:38 2004 Completed: completed on Fri Jun 11 14:07:23 2004 Duration: 2h 58m elapsed Priority: veryhigh (Committed this to CVS two days ago.) 2.Add missing manpages -- one manpage for each application Added: Fri Jun 11 11:11:57 2004 Completed: incomplete Duration: incomplete Priority: high 3.Kill install-sid script and update documentation Added: Fri Jun 11 11:09:17 2004 Completed: incomplete Duration: incomplete Priority: medium 4.Update Documentation: Set developer's policy. Added: Fri Jun 11 14:45:45 2004 Completed: incomplete Duration: incomplete Priority: medium 2.Release 4.2: New Features Added: Fri Jun 11 10:37:02 2004 Completed: incomplete Duration: incomplete Priority: medium 1.Mail handling enhancements Added: Fri Jun 11 14:48:24 2004 Completed: incomplete Duration: incomplete Priority: medium 1.Mail-based manipulation of GNATS database (Mel) Added: Fri Jun 11 14:49:11 2004 Completed: incomplete Duration: incomplete Priority: medium 2.Trigger-based mail format replies (Mel) Added: Fri Jun 11 14:49:28 2004 Completed: incomplete Duration: incomplete Priority: medium 3.Enable To: address@bogus.example.com syntax to queue-pr Added: Fri Jun 11 14:49:40 2004 Completed: incomplete Duration: incomplete Priority: medium 2.MIME Handling Added: Fri Jun 11 14:50:49 2004 Completed: incomplete Duration: incomplete Priority: medium 1.Detach files appropriately for GNATS DB format Added: Fri Jun 11 14:51:48 2004 Completed: incomplete Duration: incomplete Priority: high 2.Convert HTML to TXT? Added: Fri Jun 11 14:51:15 2004 Completed: incomplete Duration: incomplete Priority: medium 3.Release 5.0: New Features, Major Changes to DB Layer, RDBMS Added: Fri Jun 11 10:37:07 2004 Completed: incomplete Duration: incomplete Priority: medium 1.Database Enhancements Added: Fri Jun 11 14:53:57 2004 Completed: incomplete Duration: incomplete Priority: high 1.DB Abstraction Layer (Mel) Added: Fri Jun 11 14:52:27 2004 Completed: incomplete Duration: incomplete Priority: high 2.Oracle RDBMS Backend Added: Fri Jun 11 14:52:39 2004 Completed: incomplete Duration: incomplete Priority: high 2.Mail handling enhancements Added: Fri Jun 11 14:55:10 2004 Completed: incomplete Duration: incomplete Priority: medium 1.Maintain mbox archive of all emails Added: Fri Jun 11 14:55:27 2004 Completed: incomplete Duration: incomplete Priority: medium 2.Fake Audit trail entries as emails and append to mbox archive Added: Fri Jun 11 14:55:41 2004 Completed: incomplete Duration: incomplete Priority: medium 3.Continue to use existing PR datafile for logging events, keywords, and metadata Added: Fri Jun 11 14:55:58 2004 Completed: incomplete Duration: incomplete Priority: medium 3.Account enhancements Added: Fri Jun 11 14:56:29 2004 Completed: incomplete Duration: incomplete Priority: medium 1.PAM Authentication (Pankaj) Added: Fri Jun 11 14:56:45 2004 Completed: incomplete Duration: incomplete Priority: high (Pankaj expressed interest in this on 2004-06-14) 4.Unassigned Added: Fri Jun 11 13:50:51 2004 Completed: incomplete Duration: incomplete Priority: medium 1.Add squirrels, to make pst happy. Added: Fri Jun 11 14:42:32 2004 Completed: incomplete Duration: incomplete Priority: high 2.Add conditional formats Added: Fri Jun 11 13:56:21 2004 Completed: incomplete Duration: incomplete Priority: medium 3.Add script hooks, probably for edit formats and such. Need to think about how to integrate in changes to the PR done by the script Added: Fri Jun 11 13:57:38 2004 Completed: incomplete Duration: incomplete Priority: medium (after all, that's really the whole point) 4.Allow fields to not exist; add a "field-always-present" option to the field description Added: Fri Jun 11 13:58:17 2004 Completed: incomplete Duration: incomplete Priority: medium 5.Add virtual fields. Added: Fri Jun 11 13:59:28 2004 Completed: incomplete Duration: incomplete Priority: medium (The output format can use the existing format mechanism. This would necessitate having a "no-display" field flag, so that some fields don't show up in a "full" query (adding all the fields to full" is a rather obnoxious requirement). There should also be a "raw" query that dumps all the real fields as raw contents, for editing purposes (and perhaps for other things).) 6.Revise access control mechanisms. Added: Fri Jun 11 14:39:12 2004 Completed: incomplete Duration: incomplete Priority: medium 7.Should PRs have a ">Database-Name:" header? Probably, and probably immutable. Can be used when editing a PR, or submitting an initial one. Added: Fri Jun 11 14:39:27 2004 Completed: incomplete Duration: incomplete Priority: medium 8.Append-only fields. Need to revise access control first. Added: Fri Jun 11 14:40:05 2004 Completed: incomplete Duration: incomplete Priority: medium 9.Document functions. Many of them are undocumented (even newly-added ones, shame). Added: Fri Jun 11 14:41:10 2004 Completed: incomplete Duration: incomplete Priority: medium 10.See how much farther we can go with removing knowledge of particular fields from the gnats code. Added: Fri Jun 11 14:42:03 2004 Completed: incomplete Duration: incomplete Priority: medium 11.Make it possible to include adm field contents in the configuration file, instead of always using an external config file. Added: Fri Jun 11 14:42:59 2004 Completed: incomplete Duration: incomplete Priority: medium 12.The database state is not clean. There should be a struct that describes the current database, and is passed around as needed. Added: Fri Jun 11 14:43:22 2004 Completed: incomplete Duration: incomplete Priority: medium 13.The client state is not clean. The API is horrid; clients should not know or care if they're communicating via the network or locally. The original solution was to just allow network access, but that's not really fixing the problem. (We'll know we're there when gnatsd can act as a relay.) Added: Fri Jun 11 14:43:55 2004 Completed: incomplete Duration: incomplete Priority: medium 14.The client connection to the server should also be encapsulated in a struct as well. That is, something to describe the client (its hostname, username, password, access level). Could eventually allow for a single server process that handles multiple connections. Added: Fri Jun 11 14:44:32 2004 Completed: incomplete Duration: incomplete Priority: medium 15.Change edit-pr to include the "Changed-Why:" header in the initial PR template instead of a separate prompt. Maybe. Added: Fri Jun 11 14:24:46 2004 Completed: incomplete Duration: incomplete Priority: low 16.Should all the fields listed in the input section be required? Configurable? How about rejecting initial erroneous PRs (PRs with bad fields) instead of fixing them up? It sucks that pr-edit --submit < /dev/null could quite presumably create a valid PR. Added: Fri Jun 11 14:25:50 2004 Completed: incomplete Duration: incomplete Priority: low 17.The initial PR filing stuff is way too complicated. In particular, the various field checks should be configured in dbconfig. That would let us remove more builtin fields. Added: Fri Jun 11 14:38:18 2004 Completed: incomplete Duration: incomplete Priority: low 18.Decide if the "exec gnatsd locally" option is a security hole. (Probably.) Make it #if TESTING only? Added: Fri Jun 11 14:38:30 2004 Completed: incomplete Duration: incomplete Priority: low 19.Come up with a better name for the lexer source file. Added: Fri Jun 11 14:41:35 2004 Completed: incomplete Duration: incomplete Priority: low -- Chad Walstrom http://www.wookimus.net/ assert(expired(knowledge)); /* core dump */