[ANN] Vapor 0.80, now supports object versioning

Discussion in 'Ruby' started by Oliver M. Bolzer, Nov 19, 2003.

  1. Hi!

    I'm happy to announce the release of Vapor 0.80. This release fixes lots
    of nasy bugs and adds support for object versioning. On each transaction
    commit, a new version of each modified object is created and the old
    version kept for later audit or recovery. Additionally, all transactions
    are logged with a committer, commit message and a list of objects
    modified in the transaction.

    As for now, versioning is unconditionally on for all classes, but in
    the next release, the user will be able to choose if he wants versioning
    or not per-class.

    A 1.0 release is getting closer, but this is still beta-software. Some
    refactoring and clean ups are still neccersary and the on-disk format
    will likely change again. Nevertheless, I really want this release to be
    tested by as many interested developers as possible. Feed back and
    suggestions regarding the semantics and API are most welcome.

    Below are excerpts from the CHANGES and TODO files.
    For details and code snippets of the new features see Vapor's webpage
    at http://vapor.rubyforge.org/

    Version 0.80 (tagged 19 Nov 2003, revision 275)

    * transaction logging, record information about time, committer and log
    message as well as list of objects modified per transaction
    * basic versioning support, retrieval of historic object states
    * vaporadmin: removal of classes and all their instances using the
    * "remove" command
    * vaporadmin: modification of class' metadata using the "update"
    * command
    * new operator (~) for wildcard searches on Strings

    Bug Fixes:
    * allow SQL keywords as names of persistent attributes
    * fix bug where camelCase variables would not be correctly set on
    * object loading
    * correctly transfer newly persistent objects back to transient state
    * during
    rollback(). This bug caused incomprehensible ObjectDeletedErrors when
    or automatically rolling back.
    * check REXML::Version instead of REXML::VERSION_MAJOR, which does not
    * exist
    in the REXML version that is included in Ruby 1.8
    * minimize number of warnings issued when using `ruby -w', including
    * those
    from Ruby 1.8.x, that are issued regardless of -w

    Incompatible Repository Changes: (Repository needs to be recreated from
    * repository schema version 3
    * add fields and tables for versioning


    User Visible:
    - make versioning optinal, specified for each class individually
    - literals in search queries
    - case insensitive searchs / regular expressions ?
    - improve documentation by writing a proper user's guide
    - prefix all methods of Persistable with vapor_ ? keep current names as
    alias ?

    - refactor object being passed from TupleManager to PersistenceManager
    to use a custom class instead of a Hash with special keys
    - create new class for metadata and store it as a Persistable instead
    of special treatment
    - use Test::Unit::Mock istead of Mock

    - do some benchmarking and profiling, simple improvements
    - maybe: use Ruby 1.8 features, drop support for Ruby 1.6
    - get tested by as many people as possible
    - documentation, examples, documentation, documentation and

    - backends for other databases like MySQL and Oracle
    - support for long-transactions in form of versioning-branches
    - maintain backwards-compatibility for database schema or provide
    migration path

    Oliver M. Bolzer

    GPG (PGP) Fingerprint = 621B 52F6 2AC1 36DB 8761 018F 8786 87AD EF50 D1FF
    Oliver M. Bolzer, Nov 19, 2003
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. S Gupta
    S Gupta
    Jan 13, 2004
  2. Jim Cain
    Anders Borch
    Jul 3, 2003
  3. Simon Strandgaard
    Simon Strandgaard
    Jan 7, 2004
  4. Abe Vionas_MailingList
    George Moschovitis
    Oct 26, 2004
  5. Gerald Bauer
    Gerald Bauer
    May 20, 2008

Share This Page