]> code.citadel.org Git - citadel.git/blobdiff - citadel/techdoc/roadmap.txt
* initiall sieve listing support. authentication works now, we at least answer with...
[citadel.git] / citadel / techdoc / roadmap.txt
index eb5c8a5e6cb4260a8077fb846ea3ee35dd64f9c5..f1827c6766d949b27066531d2b188d898eba1a1d 100644 (file)
@@ -3,74 +3,91 @@ we want to be going.  It's something to consult when sitting down to write
 some code and deciding what to work on.
 
 
-Goals to achieve during the 6.xx cycle
---------------------------------------
-
-* Address books
-
-  Status: the current implementation has both a 'Contacts' personal
-  folder and a 'Global Address Book' -- both which contain vCards.  WebCit
-  can use them, and Kolab-compatible clients seem to be able to access them
-  seamlessly as well.
-  We should integrate the address books more tightly into Citadel dialogs
-  such as recipient auto-completion, etc.
+ Recent goals achieved (in tree, not necessarily published yet)
+ --------------------------------------------------------------
+
+* GroupDAV and "webcal" (icalendar over dav) support
+* Updated schema for publishing Citadel address book data into an
+  external LDAP directory (still awaiting enterprise number from IANA)
+* Internationalization (WebCit is now available in several languages.)
+
+ Goals to achieve during the 7.xx cycle
+ --------------------------------------
+
+* Aliases, virtual addresses, and distribution lists
+  (We ought to be able to handle all three of these using the same facility.)
+
+* CalDAV support (eventually -- since the protocol is so ugly and needlessly
+  complex, the draft authors are still arguing over small details -- once the
+  draft is finalized, we will implement enough of CalDAV to support the two
+  major client packages currently using it)
+
+* Integration of CMS and social software features (more on this later).
+
+* Further internationalization (for example, in the citserver).
+
+* Per-user auto-handling of inbound mail.  Simple handlers such as an "out
+  of office reply" should be easy for users to set up.  More complex handlers
+  such as the automatic sorting of inbound mail into various folders based
+  on sender, subject, etc. should also be possible.
+
+* 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.)
 
-* Additional LDAP integration
-  Status: the current implementation can populate an external LDAP directory
-  with Citadel user data.
-
-* Calendar service
-  Status: full functionlity is present in the current implementation, including
-  the ability to keep a personal calendar, send/receive invitations, manage
-  attendees, check free/busy times, etc.  It is fully usable via WebCit
-  and also works with Kolab-compatible clients (vCalendar over IMAP for the
-  calendar store, and vCalendar over HTTPS for checking other users' free/busy
-  times).
-  Doing CAP or WCAP seems less important now that vCalendar-over-IMAP seems
-  to be the emerging standard for open source groupware.  We will monitor the
-  direction the community takes and follow along.  Specifically, we will
-  probably implement whatever Mozilla Calendar ends up supporting.
-  There is also the possibility of implementing the WebDAV/XML schema exposed
-  by Exchange [ http://tinyurl.com/23bcn ] which would give us transparent
-  compatibility with Evolution and Entourage (but ironically, not with
-  Outlook).
-
-* Move the WebCit presentation mode from frames to CSS.
-  
- Short-term TODO list
- --------------------
-* Configuration front ends (particularly in WebCit) for the new feature
-  that allows a shared room to have different names at each end of the link.
-* Support recurring events in the calendar service.  (These currently can
-  be submitted via external clients such as Aethera, but they aren't handled
-  properly by WebCit and they don't show up in freebusy.)
-* RFC 2180 compliance -- do something predictable when more than one client
-  has a mailbox open and one tries to rename or delete it.  The easiest thing
-  to do would be to simply deny the operation.  This should probably be done
-  across the entire Citadel system rather than only in IMAP.
-
-* Reminder: after the next non-beta version of the Citadel server is
-  released, email the IMAPcopy people for inclusion on their web site.
-  (Follow-up: we've done this twice now and received no answer.)
-* Land a book deal with O'Reilly.  :)
- Items recently removed from TODO list
- -------------------------------------
-
-* WebCit support for HTTP transactions performed by Kolab clients
-  (The current WebCit build works with the KDE Kolab klient using HTTPS.)
-* RFC 2739 compliance (provide calendar free/busy URL's in vCard and LDAP)
-  (If anyone knows of clients that make use of this, let us know / test it)
+
+ 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.
+
+* 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.
\ No newline at end of file