--- nfo/perl/libs/Data/README.text 2002/11/29 04:48:23 1.4 +++ nfo/perl/libs/Data/README.text 2002/12/11 06:53:19 1.5 @@ -1,6 +1,5 @@ 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 - should encapsulate Tangram, DBI, DBD::CSV and LWP:: to access them in an unordinary (more convenient) way ;) @@ -108,9 +107,8 @@ 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 For full functionality: @@ -124,24 +122,41 @@ ... and all their dependencies 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 -AUTHORS / COPYRIGHT - The Data::Storage module is Copyright (c) 2002 Andreas Motl. All rights - reserved. + 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? - 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. + 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. 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 BUGS @@ -208,6 +223,15 @@ - .pst - files (Outlook Post Storage?) - XML (e.g. via XML::Simple?) - 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