TODO 9.79 KB
Newer Older
Per Cederqvist's avatar
Per Cederqvist committed
1 2 3 4 5 6 7 8
This file attempts to list the things that need to be done on this
server.

Before the next release
=======================

These are show-stoppers that prevent a new release.

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
* Newline terminates requests.  Check that a wording similar to that
  in 1509862 is present in Protocol-A.texi.

* An asynchronous message is sent to everybody when a secret
  conference changes its name.  That is an unacceptable leak of
  sensitive information. (990788, 2804846)

* Check change-what-am-i-doing very carefully.  According to 915974
  and 916257 there may be a bug in it, but that is pure speculation.

* disconnect(0) should disconnect the current session. (806239)

* Should we really retain deleted aux-items indefinitely? (3490203)

* Should the error message be named conference-zero or
  zero-conference? (Protocol-A.texi)

David Byers's avatar
David Byers committed
26 27 28 29
* Remove the man pages for lyskomd.

* Add the dbck reference to the lyskomd manual. Remove the man pages.

30 31 32 33
* Should the conference supervisor be able to set the secret bit of a
  membership type? Probably yes.

* Missing test cases in 03.exp
David Byers's avatar
David Byers committed
34 35

* 89=create-person should probably not do an automatic login.  (Wasn't
36 37
  this discussed in KOM?  Yes it was, in 3267591, but there are no
  surviving comments.  Did anybody object? /ceder)
David Byers's avatar
David Byers committed
38 39 40

    I think the current behavior is so deeply entrenched that we
    shouldn't change the it. Leave it alone.
Per Cederqvist's avatar
Per Cederqvist committed
41

42 43
    I still think it would be better to remove the automatic login,
    but you might be able to persuade me differently.  /ceder
Per Cederqvist's avatar
Per Cederqvist committed
44 45 46

* Test the code for memory leaks.

David Byers's avatar
David Byers committed
47
* Improve the file format for local-to-global.c.
Per Cederqvist's avatar
Per Cederqvist committed
48

Per Cederqvist's avatar
Per Cederqvist committed
49 50
* Improve the file format for local-to-global.c.  Warning: this will
  cause an incompatible change in the database format.
Per Cederqvist's avatar
Per Cederqvist committed
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

* Merge all changes done to prot-A.txt into Protocol-A.texi.

* Document 103=local_to_global

* Document 104=map_created_texts

* Use libisc 1.0.

* Update/rewrite README.

* Fix aux-item 13, 14 and 15 according to 3228006 and 3228045.

* Fix the node structure of Protocol-A.texi (3228867).

* Document aux-items for mail import/export. (3229403)

* Check that Async 13 is sent at the proper times (see 79208).

* Integrate doc/Bugrapporter into this document.

Per Cederqvist's avatar
Per Cederqvist committed
72 73
* The protocol revision section of Protocol-A.info is incomplete.

David Byers's avatar
David Byers committed
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
* Check that texinfo.tex is included in a proper place by automake.




* Fix dbck so that it can repair Member<->Membership inconsistencies.

  DONE. Needs to be tested though.

* Implement a test suite that tests all calls successfully at least
  once.

  RESOLVED.

* Should the error message be named conference-zero or
  zero-conference? (Protocol-A.texi)

  RESOLVED: conference-zero

* 52=get-unread-confs should ignore conferences where you are a
  passive member.

    DONE.

Per Cederqvist's avatar
Per Cederqvist committed
98 99
* ceder thinks that the sender of a BCC recipient group should be
  allowed to see it, so that the sender can see when the recipient has
Per Cederqvist's avatar
Per Cederqvist committed
100
  read the text. (3380375, 3381048)
Per Cederqvist's avatar
Per Cederqvist committed
101

David Byers's avatar
David Byers committed
102 103
  RESOLVED.

Per Cederqvist's avatar
Per Cederqvist committed
104
* ceder suspects that a BCC recipient group should be visible to anybody
Per Cederqvist's avatar
Per Cederqvist committed
105 106 107
  that may become a member of the BCC recipient (as opposed to all
  members and all administrators), lest everybody starts to be passive
  members of every conference just to be able to see BCC recipients.
Per Cederqvist's avatar
Per Cederqvist committed
108
  (3380375, 3381048)
Per Cederqvist's avatar
Per Cederqvist committed
109

David Byers's avatar
David Byers committed
110 111
  RESOLVED.

Per Cederqvist's avatar
Per Cederqvist committed
112

113

Per Cederqvist's avatar
Per Cederqvist committed
114 115 116 117 118 119
As soon as possible

High priority, but they can wait until after the next release.

* Proof-read Protocol-A.texi.

120 121 122 123 124 125 126
* Consider implementing aux-infos that are the "reverse" of a Mark, of
  the aux-info faq-text, of a presentation, et c.  Once that is done,
  the mark_text field of the Text_stat can be removed.  More
  importantly, it can easily be seen which conference a text is a
  presentation for (et c).  We also get more redundancy that dbck can
  use. (3490225)

127 128 129 130 131 132
* Consider implementing an aux-info that causes comments of a text, or
  of all texts written by the author, to get a bcc-recpt to the
  authors letterbox.  Make sure that this bcc-recpt is not the only
  thing that makes it possible for the person to read the
  text. (3381984, 3382009) 

Per Cederqvist's avatar
Per Cederqvist committed
133 134 135 136
* Define and implement asynchronous messages for cache inconsitency.

* Add a checksum on each object in the database.

Per Cederqvist's avatar
Per Cederqvist committed
137 138 139 140 141 142
* The text-mass file should contain some redundancy.  At a minimum, it
  should store the text number and text length of each text, so that
  there is absolutely no risk that the wrong text is displayed.  (That
  has acutally happened more than once due to faulty hardware or
  operating systems--we should do better.)

Per Cederqvist's avatar
Per Cederqvist committed
143 144 145
* Add an improved internal structure for the text_stat list to avoid a
  large fixed-size array.

146 147
* Document the mark bits. (6390, 24358, 24444, 40876, 42356, 45110,
  1111605, 2687219)
Per Cederqvist's avatar
Per Cederqvist committed
148 149 150 151 152 153 154 155 156 157

* Document the user area.

* Fix case errors in type names etc (3267160).

Nice to have/do
===============

Lower priority than the above-mentioned things.

158 159 160 161 162 163 164
* Performance enhancement: Don't emit asynchronous messages
  immediately.  Attempt to write, say, 4 KB of data at a time to the
  clients.  The server currently makes a lot of small writes.

* Performance enhancement: Don't call gettimeofday() more than once
  per atomic call.

Per Cederqvist's avatar
Per Cederqvist committed
165 166 167
* Introduced aux-items that states that "this text is the
  presentation/motd of conference so-and-so".

Per Cederqvist's avatar
Per Cederqvist committed
168 169 170 171 172 173 174 175 176 177 178 179 180 181
* Run the garb at 02:00 (configurable) rather than every 24 hours.

* get-n-unread as per 1111652.

* Some generalized way to query the server for (unread) texts with a
  certain aux-item set. (see 21415 for motivation)

* Write a "lyskomd hackers guide" (requested in 24684).

* Tree-structure for the conferences (41768).

* Don't include so much information in the Person and Conference
  structures internally in the server.  A Conference is (probably)
  used much more often than the large internal lists within it.
David Byers's avatar
David Byers committed
182

183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241
* Create a "server hackers guide" and move the contents of
  doc/server.extend (and several other files in the doc directory) to
  it.  The "server hackers guide" should probably be an appendix of
  doc/lyskomd.texi.

* Improve the data base.  Text 250010 contains some ideas for a grand
  redesign.

* A better way to "list active conferences" than to get the conference
  status of every conference and sort them on the last-written field.
  According to 310351 PortaKOM had the command "Lista aktiva möten".
  We should be as good as PortaKOM in every aspect.  But see text
  3604479 which outlines a way to implement this in a client in a
  reasonably efficient way without support from the server.

* Stack-based slow searching?  See 1013917 for some ideas.

* 103=local-to-global and 34=get-map should be able to return more
  information when applied to e. g. letterboxes.  It should return
  information about all texts that ACTPERS is allowed to read.  See
  678026 and 678411 for more thoughts about this.

* Re-run the test in 775202 and see if anything can be improved.

* New version of get-text-stat (et al) where the misc-info-list is
  removed.  (1108039).

* Design and implement a few new calls so that client writers don't
  have to think about Local_text_no.  We need something along the
  lines of these calls:

    void mark_as_read(Text_no);
    Text_no first_unread(Pers_no, Conf_no);  ! (but see 1593002)

* Text parts, so that we can have both audio and text.

* Keyword support on texts.

* Keyword support on conferences (1112142, 1112200).

* Version numbering on calls? (1441352)

* Add a separate subject field (a short string) to the Text-stat.
  Problems: should the subject be restricted to ISO 8859-1?

* A possibility to ask for conferences created after a certain
  date. (1622840).  Dubious value; the new conferences should have a
  presentation.

* A documented way to store the prefered language in the common area
  of the user area (1632323).

* Check the rules for when you are allowed to change a recpt to a cc-recpt.
  (1901530, 2329667, 2329682).  (This may already be implemented -- check it.)

* It would be nice if an author could be notified whenever a text
  written by him was commented.  3381984 and 3382009 outlines a way to
  implement that using a special aux-info and automatic adding of a
  bcc-recpt by the server to the new comment.
David Byers's avatar
David Byers committed
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311

Fixed
=====

* Mention explicitly in the protocol spec that the cient cannot send
  "0 *" to the server.

    Already there.

* Fix dbck so that it can repair Member<->Membership inconsistencies.

    Done.

* Protocol-A.texi contains both INT32 and INTEGER. (3228850)

    Changed all INTEGER to INT32

* Protocol-A.texi uses mailbox and letterbox interchangeably.  Use one
  term only, or at least state explicitly that they are the same
  thing.

    Letterbox used in structures, mailbox in text. It's safe to
    replace all mailboxes with letterbox.

* String-Size is used but not defined in Protocol-A.texi. (3228850)

    Use INT32 instead

* Session-No is defined twice in Protocol-A.texi. (3228850)

    Removed second definition.

* Check the unused static function regarding aux-infos.

    Done.

* ceder thinks that the sender of a BCC recipient group should be
  allowed to see it, so that the sender can see when the recipient has
  read the text. (3380375, 3381048)

    Done.

* ceder thinks that a BCC recipient group should be visible to anybody
  that may become a member of the BCC recipient (as opposed to all
  members and all administrators), lest everybody starts to be passive
  members of every conference just to be able to see BCC recipients.
  (3380375, 3381048)

    Done.

* The redirect aux-info needs more documentation.  See FIXME comment
  in Protocol-A.texi.

    Fixed.

* Validation of aux-items.

    Regexp validation done.

* Ability to have a callback function when an aux-item is created,
  removed, changed or resurrected.  (This is according to 3053346
  critical.  Why?)

    Done.

* The Membership that is returned by 98=query-read-texts should
  include the position of the Membership.

    Whatever. Done.

David Byers's avatar
David Byers committed
312 313 314 315 316 317 318 319 320
* Write a Texinfo manual for lyskomd based on the man pages.  

    Done. Whee!


* The redirect aux-info needs more documentation.  See FIXME comment
  in Protocol-A.texi.

    Done.