Re: Help with board archiving [Long]

From: Fizal (
Date: 10/11/00

At 10:29 PM -0700 10/10/2000, Shane P. Lee wrote:
>Todo: Add a command that archives existing boards to a "book" that other
>can access. He apparently doesn't like 'loosing' past posts when I clear the

No, I haven't seen this one before. However, after reading your message a
couple of times, something came into my mind. Dunno whether it will work or
not, just to run it pass you (and everyone else for that matter).

The stock board system will allow up to a certain number of post on the
board. What I see is that we can either work with it or around it. However,
it still depends on what you mean by "archiving" : to put everything into
the book including the ones on the board or just old posts.

1. Have another file that will keep the archive for the book. When someone
wanted to post something pass the limit, just remove the last and oldest
post from the board and append it at the end of the file. When an imm
clears a board, for every post removed starting from the oldest, append it
into the file. I believe that making the archive file ascii will be much
easier. When someone uses book command to view the archive, you can use the
same method as to show wizlist/credit for this as well. Only when an
archive event is done, just remember to reload the file.

Good points:
- Less coding. Well, at least that's what I think.
- When someone issue "book mortal", just find the proper thing to display.
Bad points:
- Players have to shift thru the whole archive themselves.
- Archive is listed from old to new, since newer ones are appended at the
bottom of the file.

2. Make use of the current board system to do both. Change so that instead
of using an array to keep all the posts, use a list instead. That way, you
can keep more than allowed, but only shows up to the limit when someone is
viewing a board. When someone uses a book command, just access the part
that is above the limit. Example: The file for the mortal board contains
100 posts and limit is at 60. All of the are readed/loaded. When someone
looks at the board, just show post #1 to #60. When someone issue "book
mortal 1" then show them post #61.

Good points:
- Archive will look like the board. "Book mortal" will display all post
pass the limit, while "book mortal #' will display post #(limit + #).
Familiar and easy to shift thru.
- Archive is listed from new to old (or vice versa if you want).
Bad points:
- More codings to be done. At least compared to the 1st method I think....
- Have to take care of quite a few of things when someone issue a book

Or better yet, combine them both: Use a separate file for archive and a
list for memory. When a post is archived, just remove from the board, put
into the list and save the list into file....

>The Problem So Far: [...] Since the boards are not in ASCII format, I
can't just
>copy over the new stuff to an existing board file, and edit the message
>numbers/topics with my usual text editor.

Altho the files are in binary, but it's not when it's in memory (well, not
technically). So, you can actually save the posts from the memory for the
board into the archive file as ascii.

>Also, we don't want people to write new messages in the books, so I don't
>the "book" to be another board anyway.

The write to board command will only work if there's a board around. If
there's none, then it will revert back to write to paper. The 2nd method
will only *look* like a board, but it won't let people write to or remove
post from it.

>If anyone out there has seen/done this sort of thing before, can you
please give
>me a few pointers before I do something stupid like re-write the stock board

If you're really serious about rewriting the board system, take a look at
Patrick's dynamic board system in the FTP site or Ceramic Mouse. Err...
you'll have to dig around a bit since it was quite some time ago when he
put it up. I did something similar, but that too was quite some time ago.
But if you need help, I'll try to throw something your way... (just hope it
won't smack you on your face and give you more headache *grin*)

G'luck! :)


Afizal Mustapa
Petaling Jaya, Selangor, Malaysia.

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  |

This archive was generated by hypermail 2b30 : 04/10/01 PDT