Dear Team,
    Ian Eslick has now finished the alpha-candidate release of 0.6.0.  This contains a
very significant feature enhancement: the automatic indexing of slots in persistent classes.
The associated API is very powerful.  Like many things in computer programming, this
doesn't let you do much you could not do before; but it makes it very, very convenient.  This
feature make 0.6.0 even easier to use for many applications, and even easier to prototype
with.  Moreover, Ian rewrote the internal structure, making it clearer and cleaner, although
that should only be of interest to Elephant developers.
    Additionally, I have added a package called Data Collection Management (DCM) to the new
"contrib" directory.  This package is a layer on top of Elephant that is particularly convenient
if you prefer create-read-update-delete semantics and like the idea of being able to choose
the storage style as a strategy pattern.  DCM has only sporadic internal documentation, but
it has some test cases.
    Additionally, Ian has put a lot of time into making sure that one can upgrade from a 0.5.0
database to a 0.6.0 database smoothly.   This is part of our attempt to mature Elephant,
and to demonstrate that it is ready for serious applications and that in the future we will
always provide a migration path to the latest release version.  As you can imagine, this piece
of functionality is somewhat harder to test than the main product.  Before anyone attempts to
upgrade a data store that they care about, they must remember to follow the standard procedure
of first BACKING UP their data before upgrading, even though the upgrade process is not
destructive.
    Upgrading the version of a repository is accomplished by migrating the data from an old (0.5.0)
repository to a new repository.  It is internally documented in the file "migrate.lisp".  I have written
some user-documentation about the other features of 0.6.0 but not the upgrade path.
    As you know, one of the great things that Ben Lee and Andrew Blumberg initiated and has
been continuously strengthened is the extensive automated test suite containing more than
100 tests. 
    The 0.5.0 release was tested and all-green under ACL, OpenMCL, and SBCL, on the
BerkeleyDB backend and the SQLLite and Postgres SQL-based.  Ideally, before giving
0.6.0 a formal release we would complete this matrix:

LISP                        ACL                        OpenMCL            SBCL
Backend                  
BerekeleyDB            Tests?/Upgrade?    Tests?/Upgrade?    Tests?/Upgrade?
Postgres                   Tests?/Upgrade?    Tests?/Upgrade?    Tests?/Upgrade?
SQLLite                    Tests?/Upgrade?    Tests?/Upgrade?    Tests?/Upgrade?

(Elephant is probably easily portable to other LISPs and easily supports other SQLs, but
that issue is separate from release 0.6.0).
    I therefore ask for volunteers to perform the test suites and test upgrade migration on these
LISP/backend combinations.  (We may not get all of these combinations tested.)
    I have tagged the CVS repository ELEPHANT-0-6-0-rc2, as a reference point in case bugs are
found.  If you get the head of the  CVS repository now (see http://common-lisp.net/project/elephant/ for
instructions), that is what you will get.  Ian has agreed to be more or less on call to deal with bugs that are found,
and I will be actively managing things and assisting Ian.
    If this release is successful, I think I will put some energy into publicizing the project; it will be too useful
not to be widely used.  Thanks.


----
Robert L. Read, PhD                                     read &T robertlread.net
Consider visiting Progressive Engineering:      http://robertlread.net/pe
In Austin: 912-8593                                        "Think globally, Act locally." -- RBF


_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to