James asked me to check out the slides for his Pixie presentation at YAPC, which he'll be giving tomorrow. Pixie is the Object Persistence tool that James, Leon and I have been working on for the past few months. (Although I think I've written the bulk of the code, because I've been the one who actually needs a working Pixie, the design has been very much a collaborative affair, and Pixie wouldn't have come about without James' original, very cunning idea about how to work out what needs storing.)
Now I've been aware as I've worked on it that it's doing some pretty cool stuff, but it's only when I read the presentation that I realised quite how cool it is already, and it's still got some way to go.
Right now, Pixie gives you:
sub Class::px_is_storable { 1 }Yes, there are things it can't do: we don't have a query language (but, dammit, we don't want one, and if you do Pixie is subclassable); if your objects do tricks with weakrefs you'll probably have to make use of complicity; the documentation is currently lousy; the datastore isn't garbage collected (yet, that's what I'm working on at the moment, it's coming on nicely thanks) and the build process could use some work.
All in all, I think Pixie's a pretty impressive bit of software and, what's more, you can get a relatively recent version of it (released on Monday) from CPAN to play with. I commend it to you.
Curiosity (Score:2)
-sam
Re:Curiosity (Score:1)
Pixie's lack of schemas means we can keep some flexibility in our object model
Re:Curiosity (Score:2)
-sam
Re:Curiosity (Score:1)
Pixie works to make sure that there's only one 'live' instance of an object in play at any given time (and, with locking can be set up to ensure that this is the case across multiple processes).
Re:Curiosity (Score:2)
Thanks,
-sam