Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] Vapor 0.80, now supports object versioning

Thread Tools

[ANN] Vapor 0.80, now supports object versioning

Oliver M. Bolzer
Posts: n/a

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

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 Removed)

GPG (PGP) Fingerprint = 621B 52F6 2AC1 36DB 8761 018F 8786 87AD EF50 D1FF

Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Sapphire Radeon HD 4870 Vapor-X 2GB Ian Front Page News 0 05-04-2009 08:34 AM
VoIP phone supports IAX2 and SIP,Supports Auto-provision! gery VOIP 1 12-05-2007 07:12 PM
VoIP phone supports IAX2 and SIP,Supports Auto-provision! gery VOIP 0 10-22-2007 03:28 AM
Has anyone used Vapor (PostgreSQL persistent Object-Repository for Ruby)? Abe Vionas_MailingList Ruby 1 10-26-2004 05:59 AM
[ann] ROS ruby operatin system, now as vapor ware Simon Strandgaard Ruby 0 01-07-2004 06:38 PM