Wednesday, March 19, 2008

SO many updates

Okay, where to start:
Here's a good place. Phoenyx Black is in da hizzouse. There is a co-developer on the PurlMUSH project. Phoenyx is da bomb. Plain and simple. Thanks to his impressive input, PurlMUSH is advancing by leaps and bounds and has a much better chance of being a success now.

Other updates:
The command parser has been rebuilt by Phoenyx and is waiting my rebuild of the DB load routine before we implement. The command parser rebuild is also going to necessitate a reworking of the existing command subroutines.

The idea of the new command parser is that commands will be able to be registered in the system, their aliases clearly defined, permissions, and the function they are to run will all be structured rather than loosey-goosey as it is now. This will also facilitate developers who will be building extensions to the code later on. (@mail, BBS, etc)

What's up with the DB load routine, you ask? Excellent question my friend. I'll tell you.
The DB loading has been officially abstracted. What this means is that:
  1. The main code doesn't care if the DB is in XML, SQL, HTML, or Elle magazine. As long as there is a module in place that will read in the db and return the appropriate set of objects, we're good.
  2. The db type will be specified in the .cnf file as the dbType parameter.
  3. Other db types can be added. Want PostgreSQL? NO problem! Want db4? Hell, want db2 data on a magnetic tape? No problem! Build a module that lets Perl access the data source, read in the data and return the appropriate objects and PurlMUSH won't care if you're reading octal values off punch cards.
  4. XML will become the "default" format for the flatfiles. Because the XML module will be standard "vanilla" PurlMUSH, you will always be able to read an XML flatfile in, and write an XML flatfile out.
There's one other thing that the new db abstraction means. It means Santiago got suckered into writing the Object classes since the db load routine has to return objects to the code. Yeah, I'd been procrastinating for a long time, but with this revision, I kinda gotta do it. So for more tech-y updates, see the GoogleCode site or the Google Group.

1 comment:

Anonymous said...

And you better hurry up, cause I was just learning about Class::MethodMaker in my book, and have all sorts of ideas about rebuilding the class. :)

I just think I should get v1 implemented before I retool it to v2. :)