--- nfo/perl/libs/Data/README.html 2002/11/29 04:48:23 1.4 +++ nfo/perl/libs/Data/README.html 2002/12/11 06:53:19 1.5 @@ -24,6 +24,13 @@
  • REQUIREMENTS
  • DESCRIPTION
  • + +
  • AUTHORS / COPYRIGHT
  • ACKNOWLEDGEMENTS
  • SUPPORT / WARRANTY
  • @@ -45,7 +52,8 @@

    NAME

    -

    Data::Storage - Interface for accessing various Storage implementations for Perl in an independent way

    +
    +  Data::Storage - Interface for accessing various Storage implementations for Perl in an independent way


    AIMS

    @@ -167,8 +175,9 @@ }

    NOTE

    -

    This module heavily relies on DBI and Tangram, but adds a lot of additional bugs and quirks. -Please look at their documentation and/or this code for additional information.

    +
    +  This module heavily relies on DBI and Tangram, but adds a lot of additional bugs and quirks. 
    +  Please look at their documentation and/or this code for additional information.


    REQUIREMENTS

    @@ -185,25 +194,48 @@


    DESCRIPTION

    -

    Data::Storage is a module for accessing various ``data structures'' stored inside -various ``data containers''. It sits on top of DBI and/or Tangram.

    +

    +

    Data::Storage

    +
    +  Data::Storage is a module for accessing various "data structures / kinds of structured data" stored inside
    +  various "data containers".
    +  We tried to use the AdapterPattern (http://c2.com/cgi/wiki?AdapterPattern) to implement a wrapper-layer
    +  around core CPAN modules (Tangram, DBI).
    +

    +

    Why?

    +
    +  You will get a better code-structure (not bad for later maintenance) in growing Perl code projects,
    +  especially when using multiple database connections at the same time.
    +  You will be able to switch between different _kinds_ of implementations used for storing data.
    +  Your code will use the very same API to access these storage layers.
    +      ... implementation has to be changed for now
    +  Maybe you will be able to switch "on-the-fly" without changing any bits in code in the future.... 
    +      ... but that's not the focus
    +

    +

    What else?

    +
    +  Having this, we were able to do implement a generic data synchronization module more easy,
    +  please look at Data::Transfer.


    AUTHORS / COPYRIGHT

    -

    The Data::Storage module is Copyright (c) 2002 Andreas Motl. -All rights reserved.

    -

    You may distribute it under the terms of either the GNU General Public -License or the Artistic License, as specified in the Perl README file.

    +
    +  The Data::Storage module is Copyright (c) 2002 Andreas Motl.
    +  All rights reserved.
    +  You may distribute it under the terms of either the GNU General Public
    +  License or the Artistic License, as specified in the Perl README file.


    ACKNOWLEDGEMENTS

    -

    Larry Wall for Perl, Tim Bunce for DBI, Jean-Louis Leroy for Tangram and Set::Object, -Sam Vilain for Class::Tangram, Jochen Wiedmann and Jeff Zucker for DBD::CSV and related, -Adam Spiers for MySQL::Diff and all contributors.

    +
    +  Larry Wall for Perl, Tim Bunce for DBI, Jean-Louis Leroy for Tangram and Set::Object, 
    +  Sam Vilain for Class::Tangram, Jochen Wiedmann and Jeff Zucker for DBD::CSV & Co.,
    +  Adam Spiers for MySQL::Diff and all contributors.


    SUPPORT / WARRANTY

    -

    Data::Storage is free software. IT COMES WITHOUT WARRANTY OF ANY KIND.

    +
    +  Data::Storage is free software. IT COMES WITHOUT WARRANTY OF ANY KIND.


    TODO

    @@ -271,7 +303,16 @@ - .wab - files (Windows Address Book) - .pst - files (Outlook Post Storage?) - XML (e.g. via XML::Simple?) - - Move to t3, look at InCASE + - Move to t3, look at InCASE + - some kind of security layer for methods/objects + - acls (stored via tangram/ldap?) for functions, methods and objects (entity- & data!?) + - where are the hooks needed then? + - is Data::Storage & Co. okay, or do we have to touch the innards of DBI and/or Tangram? + - an attempt to start could be: + - 'sub getACLByObjectId($id, $context)' + - 'sub getACLByMethodname($id, $context)' + - 'sub getACLByName($id, $context)' + ( would require a kinda registry to look up these very names pointing to arbitrary locations (code, data, ...) )

    LINKS / REFERENCES