[Poop-group] [announce] The Object Persistathon!

[prev] [thread] [next] [Date index for 2004/11/30]

From: Sam Vilain
Subject: [Poop-group] [announce] The Object Persistathon!
Date: 04:27 on 30 Nov 2004
Hi all,

Simon Cozens is including a chapter on POOP in _Advanced Programming
Perl, 2nd edition_, an O'Reilly book.

As he is busy with a new direction in his life, I have agreed to
co-ordinate gathering material and code for possible inclusion in the
chapter from authors and users of POOP frameworks.

The challenge is:

Implement classes to drive this schema (minimally remodelling as you
feel appropriate):

   http://www.class-dbi.com/cgi-bin/wiki/index.cgi?ERD

And produce a test script to do the following things:

   1. create a new database object of each type in the schema
   2. print IDs of the objects inserted
   3. fetch a record by ID
   4. fetch an artist record by name (exact match)
   5. fetch an artist record with a search term (globbing / LIKE / etc)
   6. fetch CD records by matching on a partial *artist's* name, using a
      cursor if possible.
   7. fetch unique CD records by matching on a partial artist's *or*
      partial CD name, using a cursor if possible.
   8. update a record or two
   9. delete some records

And a couple of maintenance scripts:

   1. re-org the database (clean up IDs and/or garbage collect) - may
      load entire database into core and write result to a second
      database if required.  May make arbitrary decisions about what
      constitutes the sane starting points, for example leaving behind
      artists with no CDs.

   2. migrate the database to a second version of the schema, that
      supports two types of CDs - multi-artist and single artist,
      allowing artist associations on each track or a single artist per
      CD.  again, may do a complete load and write result to a second
      database if required.

      Ideally the test script should still work after migrating to the
      new version of the schema, but if not, submit a modified script.

If you feel there is some other important data management task or use
case that your framework performs well or enables gracefully, that I
have overlooked, then discuss it NOW (do NOT continue to cross-post;
use the poop-group list!) so that we can add it to the list as early
as possible.

Entries must be released under the Open Publication License (if
necessary, in addition to any other license).  You may use the
following licence text:

   Copyright 2004, Alan B'Stard.  All rights reserved.  This code is
   free software; you may use it and/or redistribute it under the same
   ; terms as Perl itself, or under the terms of the Open Documentation
   License, available at http://www.opencontent.org/openpub/

Please feel free to post the entries to the most relevant SINGLE
mailing list (in case it is still not clear DO NOT CROSS-POST HUGE
AMOUNTS OF CODE OR DISCUSSION OR YOU WILL BE PUBLICLY HUMILIATED!).  I
will be collecting the entries and getting them to work on a test
server.  Those keen are welcome to login accounts on that server that
will have access to test instances of mysql/MyISAM & InnoDB, and Pg;
other databases will be made available according to interest and
people to set them up.  Please advise me if you are posting to a list
not in the To: or Cc: of this message.

Solving all problems will greatly enhance the reader's experience.
While the material isn't just being copied straight into the book, it
is excellent worked research.  All code submitted by the publication
deadline will be available via the oreilly.com page for the book.
Unfortunately deadlines are tight so get your entries in as soon as
possible!

The results will probably go up on the poop.sourceforge.net site as
well (Dave?), so late submissions are better than never - though they
won't end up entombed in the history of the book ;).

Simon has already started the entry for Class::DBI, although I'd
appreciate it if someone with a bit more CDBI experience than myself
could spare some time to work on the remaining scripts or review my
solutions.

I will be happy to work on the entry for Tangram, though I'd like to
hear something from you folk @state51 as you've dealt quite a bit in
this problem space ;-).  Maybe you could provide us with a nice
large-ish sample subset of your record database that I can munge into
shape and put on the public server ?

Pixie and Class::Persist are getting entries whether they like it or
not, but I couldn't find a mailing list for you Fotango folk.  I'd
also appreciate it if someone with Pixie experience could provide an
elegant solution to the indexing and text search problems so their
entries can be complete.

I'm also very keen to get submissions from Alzabo and SPOPS/ESPOPS
experts.
        -- 
        Sam Vilain, sam /\T vilain |><>T net, PGP key ID: 0x05B52F13
(include my PGP key ID in personal replies to avoid spam filtering)


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
Poop-group mailing list
Poop-group@xxxxx.xxxxxxxxxxx.xxx
https://lists.sourceforge.net/lists/listinfo/poop-group

[Poop-group] [announce] The Object Persistathon!
Sam Vilain 04:27 on 30 Nov 2004

Generated at 12:00 on 04 Dec 2004 by mariachi v0.52