[ANN] ActiveWarehouse 0.3.0 Released

ActiveWarehouse 0.3.0 is now available as a Gem, Zip or Gzip file from
RubyForge. You may also install directly from the subversion
repository, as always.

ActiveWarehouse is an open source plugin for Rails that extends Rails
to add support for data warehouse development. It has base classes for
facts, dimensions, bridges and cubes as well as aggregation
strategies, hierarchal dimensions, role-playing dimensions, etc. It
includes generators for each of the base classes and their migrations
and unit test stubs.

It’s been a while (3 months to be exact) since I’ve done a proper
ActiveWarehouse release, however development has been progressing on
all parts of the framework. The cube implementation has been
completely redesigned to support pluggable aggregation. Aggregation
has been refactored as well to support aggregation across more than
just two dimensions. Currently there is support for a direct query
aggregate (i.e. non-persistent) and a ROLAP aggregate. We are
currently working on other aggregation methods for future releases.
Facts now define their dimensions using the dimension directive which
has behavior that extends the belongs_to from ActiveRecord.

0.3.0 Changes include:

  • Updated docs.
  • Fixed bug in report helper so that dimension ordering override now
    works as
    expected.
  • Changed dimension migration generator template to remove all the
    extraneous
    code.
  • Complete overhaul of the Cube class implementation.
  • Cube query results now encapsulated in the CubeQueryResult class.
  • Cube query method now takes two forms, either the old style form with
    4
    required arguments and 5 optional arguments (with the last argument an
    options Hash) or the new style which takes a single Hash of options.
  • Completely rewrote aggregation system. Cubes now delegate aggregation
    to
    Aggregation implementation classes.
  • Developed NoAggregate aggregation strategy that goes directly to the
    fact
    and dimension tables.
  • Refactored render_report helper.
  • Refactored bridge class to allow for extension for specific bridge
    types
    (such as hierarchical bridges or weighted grouping bridges).
  • Aggregate fields are now defined with classes. The base class is the
    Field
    class and it is implemented by AggregateField and CalculatedField.
  • Added support for prejoining a fact with some or all of its dimensions
  • Dimension to fact relationships are now defined with the dimension
    directive
    in the Fact class. This directive delegates to belongs_to.
  • PosRetailSalesTransactionCube would now default to using
    PosRetailSalesTransactionFact and all of its dimensions as its report_on
    and
    pivots_on configuration by default. This means you only need to create a
    cube
    class and then can define report_on or pivots_on if you need to override
    these defaults.
  • Updated dimension view support, used for dimension role-playing.
  • DateDimension is now implemented as a class extending from Dimension.
  • Test cases modified to reflect ETL changes as well as new
    functionality.

Documentation is available at
http://activewarehouse.rubyforge.org/rdoc/ . Enjoy!


Cell: 808 782-5046
Current Location: Melbourne, FL