[MUD-Dev] an idea..wondering if this has been done

Joey Hess joey at kitenet.net
Fri Jul 23 19:35:56 New Zealand Standard Time 1999


bruce at puremagic.com wrote:
> In your some of your notes, you mention having changed how flags work to
> reduce space used by your DB.  Have you considered using the short form of
> an empty element as well to save space?

Sure, I do that where I can. I was using an empty tag (<foo></foo>) to mean
a empty scalar ("") and a short tag (<foo/>) to mean an undefined scalar,
but I ran into problems doing this, and I think XML doesn't actually
differetiate the two so I stopped doing that. That's why you may have seen
<foo></foo> constructs in the older db dumps I pointed you to.

> You currently slurp in the full DB on startup from what I can tell.  Do
> you plan on always doing this?  (I don't know much about perlmoo and where
> you intend to take it.)

No, I purposfully designed the loader so it can load partial databases
later. 

In fact, the current sources maintain a master db (which is supposed to be
unchanged from what I ship), and a local db, which holds all local
modifications, and the two separate db's are loaded at init time. 

I _hope_ this will let me solve one of the problems I've seen with
lambdamoo, where once you start a moo with a particular version of
lambdacore, you cannot upgrade to a later lambdacore without a great deal of
work. With my scheme, my master db should be able to be upgraded without
breaking anything.

> Your DTD describes your database format.  Have you considered using XML to
> describe more of the your world model?  I saw some comments in your code
> about not wanting to use XML for room descriptions and such.  ColdCore
> uses a custom (compiled for speed) markup language in this case (and in
> others) that allows for a lot of interesting things.  What types of
> reasons did you have for deciding against XML?

The problem with perlmoo is that it requires that all code that runs within
it be written to run within a perl Safe (which prevents some perl commands
from working), and that it be written thread safe. So I'd have to write my
own xml parser, instead of using the standard perl module. This hasn't
appealed so far. The only thing inside perlmoo that is really crying out for
xml so far is the help system.

> An interesting thing that could be done with an XML db format is to do a
> web-based DB browser.

Yep, it's on my wishlist for perlmoo. The way I've written my DTD, all
reference to other objects in the db should show up a links to those objects
in such a browser.

--
see shy jo



_______________________________________________
MUD-Dev maillist  -  MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev




More information about the MUD-Dev mailing list