]> code.citadel.org Git - citadel.git/blob - citadel/techdoc/roadmap.txt
* added some points to the roadmap.
[citadel.git] / citadel / techdoc / roadmap.txt
1 This isn't an official list of plans.  It's basically just some notes on where
2 we want to be going.  It's something to consult when sitting down to write
3 some code and deciding what to work on.
4
5
6  Recent goals achieved (in tree, not necessarily published yet)
7  --------------------------------------------------------------
8
9 * GroupDAV and "webcal" (icalendar over dav) support
10 * Updated schema for publishing Citadel address book data into an
11   external LDAP directory (still awaiting enterprise number from IANA)
12 * Internationalization (WebCit is now available in several languages.)
13
14  Goals to achieve during the 7.xx cycle
15  --------------------------------------
16
17 * Aliases, virtual addresses, and distribution lists
18   (We ought to be able to handle all three of these using the same facility.)
19
20 * CalDAV support (eventually -- since the protocol is so ugly and needlessly
21   complex, the draft authors are still arguing over small details -- once the
22   draft is finalized, we will implement enough of CalDAV to support the two
23   major client packages currently using it)
24
25 * Integration of CMS and social software features (more on this later).
26
27 * Further internationalization (for example, in the citserver).
28
29 * Per-user auto-handling of inbound mail.  Simple handlers such as an "out
30   of office reply" should be easy for users to set up.  More complex handlers
31   such as the automatic sorting of inbound mail into various folders based
32   on sender, subject, etc. should also be possible.
33
34 * Address books: build dialogs to integrate personal address books into
35   mail recipient boxes, auto-completion, etc.  Use AJAX for this.
36
37 * Better UI presentation for delegated access to mailboxes.  (In IMAP this
38   will be easy because of "other users namespace" support.)
39
40
41 Various Whishlist
42 -----------------
43 * Smart callback hook mechanism reducing traffic between citadel and the Database
44   to do things like:
45   * Alarms. Trigger popups etc. for users via the chat-keepalive
46   * Chat. don't query the db on and on for this. 
47   * Modify a list of rooms with new items for the logged in users to do things like:
48     * Print the number of new mails onto the Webcit menu
49     * change the roomlist / treeview according to new unread messages in the rooms
50
51 * bright new world to the tui too!
52   * Calendar mechanism
53   * vcards...
54
55 * more persistant css usage in webcit
56
57 * backtraces in the log in case of panics, etc.
58
59 * auto-login should move from compile to installtime.
60
61 * scheduled restarts there should be a way to notify all users 
62    (whether via imap or webcit) that citadel is going to be unavailable.
63    
64 * there should be a way to set a 'service unavailable because of' message, 
65   for people connecting via webcit, so they can see this is a scheduled 
66   downtime (so they don't take further actions like anoying the admin
67   (you) via phone or restart citadel...
68
69 * there should be a way to keep citadel from starting while you're db recovering etc.
70   (perhaps something like the pre-shutdown state would be cool, with a 
71    message? so you tell it "sysadmin is reworking the database" as param
72    to the server, it will close the db, but keep open the port, and 
73    print out your message as error message. this should last until citserver
74    receives a kill signal, and then terminates.)
75
76 * citserver should bypass some bdb errors and symptoms. it should remember 
77   the actual berkeley db version in its state file, and in case of an up/downgrade
78   moan this to the user / logfile. bdb upgrades should trigger a mail to aide.
79
80