From: Dave R. <au...@ur...> - 2003-05-03 22:14:57
|
On Sat, 3 May 2003, Michael G Schwern wrote: > > Because they all share some core code that wouldn't be useful on its own, > > so splitting it out would either require me to duplicate it, or to release > > a cpan package called "Alzabo::Core" that contained a bunch of > > superclasses. That seems silly. > > That's not silly, that's a sensible way to distribute a framework. > > If nothing else it makes the rather daunting size of Alzabo much more > managable from an end-user perspective. Pre-sliced pieces of functionality > which are easier to digest before moving on to learning the next bit. And > [flattery mode *bleep*] it means other POOP authors can use all the fine > features of Alzabo that we've all been longing for. It wouldn't be that much different. About 1/2 the code is shared. Another 1/4 belongs to each of the schema management and data access pieces. The data access piece needs an existing schema, so to create one you'd probably need the schema management piece (though you could just install the data files for an existing schema). And any POOP author can use the fine features of Alzabo that you're longing for already. Loading the schema management code will not load any of the data access code. So splitting it into 3 pieces (core, schema management, data access) would not do much to help end users, IMO, and it'd increase my workload a non-trivial amount, as I'd have to synchronize releases of the two functionality parts against releases of the core code. In fact, if someone upgraded the core but not, say, the data access piece, then the data access piece might break. Ugh, not good. Basically, the dependencies that the functionality parts have on the core make separating them a mess, even though the two areas of functionality are not directly dependent on each other being present, and the schema management piece is in fact entirely independent. What I could, and probably should, separate out is the web UI. That's a fairly simple thing to do, and I'll look into it some time in the future. The other thing I can do is work on the docs so people who are only interested in one part of Alzabo know where to look. I assume that's what you refer to when you say "the daunting size of Alzabo", as opposed to the size of the tarball ;) > And you probably wouldn't have to answer so many damned questions > when installing a single piece. No, instead I'd get fun new question like "why did my data access break when I installed Alzabo::Core 0.92 with Alzabo::Runtime 0.81?" or "I have Alzabo::Create 0.85 and Alzabo::Core 1.01. Someone gave me some schema data files made with Alzabo::Create 0.95 and Alzabo::Core 1.00. Why do I get error message X when I do Y?" -dave /*======================= House Absolute Consulting www.houseabsolute.com =======================*/ |