+++ /dev/null
-This isn't an official list of plans. It's basically just some notes on where
-we want to be going. It's something to consult when sitting down to write
-some code and deciding what to work on.
-
-
- Recent goals achieved (finished in 7.00)
- ----------------------------------------
-
-* GroupDAV and "webcal" (icalendar over dav) support
-* Updated schema for publishing Citadel address book data into an
- external LDAP directory
-* Internationalization (WebCit is now available in several languages.)
-* Per-user auto-handling of inbound mail. (Sieve + rules editor)
-
-
- Immediate projects to tackle after 7.00
- ---------------------------------------
-
-* Apply the patches that Matt has queued up. (DONE)
-
-* Multiple room aides per room (use a RoomAccess flag bit)
-
-* File libraries (upload/download) support in WebCit. Users are demanding it.
-
-* Performance improvements for use cases involving huge mailboxes (rooms
- containing thousands of messages). Our QA group continues to complain
- mercilessly about this so we have to address it. Specifically:
-
- 1. AdjRefCount() operations must be deferred. This is the only portion
- of bulk move/copy/delete operations which is still consuming a large
- amount of wall clock time. AdjRefCount() could write its instructions
- into an in-memory queue to be processed during the next housekeeping
- loop, *or* it could write its instructions into a flat file to be
- processed during the next auto-purger run. (DONE)
-
- 2. WebCit slows down significantly (or so claims our QA group) when one
- of the above-mentioned mega-mailboxes is opened in mailbox view mode.
- We may need to introduce a reduced (paginated) view which activates
- when this condition is detected (more than 500 msgs? 1000 msgs?)
-
-
- Goals to achieve during the 7.xx cycle
- --------------------------------------
-
-* CalDAV support (Eventually. Since both the protocol itself and the people
- designing it are incredibly ugly, it keeps changing, and implementations
- keep breaking. When the spec is finalized, we will implement enough of
- CalDAV to provide compatibility with any major client packages which use
- it.)
-
-* Integration of CMS and social software features (more on this later).
-
-* Further internationalization (for example, in the citserver).
-
-* Address books: build dialogs to integrate personal address books into
- mail recipient boxes, auto-completion, etc. Use AJAX for this.
-
-* Better UI presentation for delegated access to mailboxes. (In IMAP this
- will be easy because of "other users namespace" support.)
-
-
- Miscellaneous "wish list" items
- -------------------------------
-
-* Smart callback hook mechanism reducing traffic between citadel and the Database
- to do things like:
- * Alarms. Trigger popups etc. for users via the chat-keepalive
- * Chat. don't query the db on and on for this.
- * Modify a list of rooms with new items for the logged in users to do things like:
- * Print the number of new mails onto the Webcit menu
- * change the roomlist / treeview according to new unread messages in the rooms
-
-* bright new world to the tui too!
- * Calendar mechanism
- * vcards...
-
-* more persistant css usage in webcit
-
-* backtraces in the log in case of panics, etc.
-
-* auto-login should move from compile to installtime.(done)
-
-* scheduled restarts there should be a way to notify all users
- (whether via imap or webcit) that citadel is going to be unavailable.
-
-* there should be a way to set a 'service unavailable because of' message,
- for people connecting via webcit, so they can see this is a scheduled
- downtime (so they don't take further actions like anoying the admin
- (you) via phone or restart citadel...
-
-* there should be a way to keep citadel from starting while you're db recovering etc.
- (perhaps something like the pre-shutdown state would be cool, with a
- message? so you tell it "sysadmin is reworking the database" as param
- to the server, it will close the db, but keep open the port, and
- print out your message as error message. this should last until citserver
- receives a kill signal, and then terminates.)
-
-* citserver should bypass some bdb errors and symptoms. it should remember
- the actual berkeley db version in its state file, and in case of an up/downgrade
- moan this to the user / logfile. bdb upgrades should trigger a mail to aide.
-
-* easy management of external room access. there should be a gui way for room aliases.
-
-* backcheck of aliases. citadel must check, if on save of the aliases there will be a
- race between other users / users aliases.
- -> citadel must check while saving the aliases, if the mail delivers yet to another
- person than the one just saving the aliases. if yes, it should do something like
- mail to foo@bar.org is already delivered to joeblow@bar.org
-
-* uid to name in webcit / imap; citadel shouldn't display something like uid.room
- to other users, if they share it to others. it should do something like username/room
- where username should be a floor.
-
-* webcit should be made more resistant to html injections, especialy the chat window.