The new bb system

So, um, we got this new bb system. This is a talkier version of "help bb" that explains the new commands and why I put them in. The plan is to switch the mail system over to this setup in a week or two, assuming stuff works out.


Undelete: This is mostly going to be for when mail uses this system, but if you delete a message accidentally, you can undelete it. There's a limit, currently 5, of messages that are remembered for undeletion.

Syntax:


Channel bbs: Each channel now has an associated bb. You can post to it and read it and so on. Only people on the channel can use its bb, so obviously if you've got a private channel, that means the bb is also private. Furthermore, if the channel is moderated (ie, only channel popes can talk) then the bb is also moderated (only channel popes can post, although anyone on the channel can read).

Syntax:


Channel ranges: Previously you were more or less restricted to single numbers. In the new system, anyplace a command above says range you can use any of the following: You can also combine these, as in "1, 3, 4-7, new". The number of messages listed by bb and bb list is controlled by your bblist field (eg, to have the default be to print 10, do @field me = bblist : 10), defaulting to 19 if you haven't set a value.


Channel numbering: This is the most confusing change. I think I've got a system that's an improvement on the old one, but if you've got a better suggestion, feel free to let me know. Basically, the problems with the old system were that the numbers kept changing when people deleted older messages, and that the list got too long. The second problem is more or less fixed by the changes to channel range, so it was just a question of the numbers changing.

One obvious idea was to use absolute numbering: that is, when a message is created, it gets a number, and that number never changes. Message 17 is always message 17, and doing "read 17" or whatever will always read that one and no other. The downside to this is a year from now the message counter is up to 325 and we're all typing three-digit numbers to read every message.

So the current system is a compromise, determined by the value of your bbset field. If it is set to 0, that means you use absolute numbering, just as described above. If it is set to non-zero, that value is used as the size of your relative set. The relative set covers the last X messages posted, and messages in the set can be referred to as 1-X. For instance, if there are one hundred messages, and your relative set is 5, you can refer to the last five messages as, respectively, 1, 2, 3, 4, and 5.

The advantage of using a relative set is the most recent messages on the board can always be referred to using small numbers. Note also that if you set your bbset field to a very large number, like 1000, it will effectively be the same as the old system numbering-wise.

Whether or not you use a relative set, you can also use absolute numbers by prefixing the number with a \. For instance "\3" is the message with absolute id 3, not the third message in your relative set. The delete and undelete commands report their results in absolute numbers, which makes it easy to reverse the action if you screwed up. Also, note that when you read a message, its absolute id is given at the top.

So, summary: @field me = bbset : 20 (or just clear the field with @field me = bbset : ) will give you the new behavior. @field me = bbset : 0 will give you absolute numbering. @field me = bbset : 1000 will be more or less the same as the previous numbering system.


And that's all the changes. If you have comments, mudmail me or something.

-inky